:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#eff4ff;background:#0b1430;--bg:#0b1430;--nav:#162b58;--panel:#15284c;--panel2:#1a3158;--edge:#365179;--text:#eff4ff;--muted:#9fb0ce;--gold:#eac27b;--radius:16px;--space:20px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 14% 9%,#254a79 0,transparent 26%),radial-gradient(circle at 86% 32%,#1b3465 0,transparent 24%),linear-gradient(145deg,#0b1633,#0a1330 65%,#101b3b);background-attachment:fixed}body:before{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;opacity:.2;background-image:radial-gradient(#d2e9ff 1px,transparent 1px);background-size:91px 97px;-webkit-mask-image:linear-gradient(#000,transparent 85%);mask-image:linear-gradient(#000,transparent 85%)}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:68px;background:#162b58f2;border-bottom:1px solid #395486;position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-inner{max-width:1160px;height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;gap:18px}.brand{font-weight:800;letter-spacing:.08em}.top-context{margin-left:auto;color:#c1cde4;font-size:13px}.back{width:34px;height:34px;border:1px solid #5b7098;border-radius:50%;background:#1e3867;color:#fff;font-size:22px;line-height:1}.list-shell,.detail-shell{max-width:1160px;margin:auto;padding:0 28px;position:relative}.list-hero{padding:88px 0 68px}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);font-weight:800}.list-hero h1,.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.15;margin:15px 0 16px;letter-spacing:.06em}.list-hero p,.hero p{color:var(--muted);margin:0}.list-panel{border:1px solid var(--edge);border-radius:22px;background:#0f1f3fe0;box-shadow:0 22px 70px #030c24a8;overflow:hidden}.list-title{display:flex;justify-content:space-between;align-items:end;padding:30px 32px 22px;border-bottom:1px solid #304a72}.list-title h2{font-size:24px;margin:8px 0 0}.count{color:var(--muted);font-size:13px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;padding:24px 32px}.filters label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#bdcbe5}.filters input,.filters select{width:100%;height:44px;background:#102348;border:1px solid #45618b;border-radius:10px;color:#f5f7ff;padding:0 14px;outline:none}.filters input:focus,.filters select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #eac27b33}.filters input::placeholder{color:#8397bb}.results{padding:0 32px 32px}.character-row{width:100%;display:flex;align-items:center;gap:20px;text-align:left;border:1px solid #435d87;background:linear-gradient(105deg,#203a67,#182d55);border-radius:14px;padding:18px 22px;color:#fff;transition:transform .2s,border-color .2s}.character-row:hover{transform:translateY(-2px);border-color:var(--gold)}.row-glyph{width:56px;height:56px;display:grid;place-items:center;border:1px solid #d6ab67;border-radius:12px;color:var(--gold);background:#2d3556;font-size:25px;font-weight:800}.row-name{display:flex;flex-direction:column;gap:3px;margin-right:auto}.row-name strong{font-size:19px}.row-name small{color:var(--muted)}.pill,.state{border:1px solid #54719d;background:#1c355f;color:#dce7f8;border-radius:100px;padding:6px 12px;font-size:12px;white-space:nowrap}.stars{color:var(--gold);letter-spacing:.12em;white-space:nowrap}.row-arrow{font-size:22px;color:var(--gold)}.empty{padding:38px;text-align:center;color:var(--muted);border:1px dashed #4a638a;border-radius:12px}footer{text-align:center;padding:34px 0;color:#8195ba;font-size:12px}.hero{padding:66px 40px 54px;margin:30px 0 18px;border:1px solid #47638f;border-radius:20px;background:radial-gradient(circle at 84% 24%,#41658d80,transparent 35%),linear-gradient(130deg,#18345f,#111f43);box-shadow:0 20px 50px #030b2255}.hero h1{margin-bottom:17px}.hero-tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.hero-tags span:not(.stars){background:#142a50;border:1px solid #56719b;border-radius:100px;padding:5px 12px;font-size:13px}.stats{border:1px solid var(--edge);border-radius:var(--radius);background:#13274b;padding:24px 28px;margin-bottom:24px}.stats-head{display:flex;justify-content:space-between;gap:12px;color:#fff;font-weight:800;margin-bottom:18px}.stats-head span:last-child{color:var(--muted);font-size:13px;font-weight:500}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:15px;background:#1a335b;border-radius:10px;display:flex;justify-content:space-between;gap:8px}.stat span{color:#b5c7e3}.stat strong{font-size:18px}.section-nav{position:sticky;top:68px;z-index:20;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;background:#152a53ed;padding:9px;border:1px solid #395381;border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin}.section-nav button{border:0;background:transparent;color:#b7c7e0;border-radius:8px;padding:12px 18px;flex:none}.section-nav button.active,.section-nav button:hover{color:#171f31;background:var(--gold);font-weight:800}.detail-content{padding:16px 0 70px}.section{scroll-margin-top:148px;margin-top:58px}.section-title{display:flex;align-items:center;gap:18px;margin-bottom:21px}.section-title h2{font-size:22px;white-space:nowrap;margin:0}.section-line{height:1px;flex:1;background:linear-gradient(90deg,transparent,#5f7ba8,transparent)}.section-intro{color:var(--muted);font-size:13px;margin:0 0 20px}.skill-list,.card-list{display:grid;gap:16px}.skill-card{display:grid;grid-template-columns:106px minmax(0,1fr);background:linear-gradient(120deg,#182f57dd,#132548f2);border:1px solid #38557e;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px #07132d5c}.skill-rail{background:#1e3968;display:flex;align-items:flex-start;justify-content:center;padding:26px 12px;border-right:1px solid #4a6790;text-align:center;color:var(--gold);font-weight:800;font-size:14px}.skill-main{padding:23px 28px;min-width:0}.skill-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.skill-heading h3{font-size:21px;line-height:1.4;margin:0 0 7px}.level{color:var(--gold);font-size:13px;font-weight:700}.state{border-color:#8d754d;color:#f0d39c;background:#4a3f38;font-size:11px}.meta{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.meta span{color:#becfea;background:#203b66;padding:5px 9px;border-radius:6px;font-size:12px}.rates{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}.rates>span{border:1px solid #886f4a;background:#3a3540;border-radius:8px;color:#f0e6d3;padding:8px 11px;font-size:13px}.rates mark{font-weight:800;font-size:18px}.lines{line-height:1.8;overflow-wrap:anywhere}.lines p{margin:0 0 8px}.lines p:last-child{margin-bottom:0}mark{background:none;color:var(--gold);font-weight:800}.details{border-top:1px solid #405a82;margin-top:20px;padding-top:4px}.details summary{list-style:none;display:flex;justify-content:space-between;gap:12px;color:#d9e6fa;font-weight:700;padding:12px 0;cursor:pointer}.details summary::-webkit-details-marker{display:none}.detail-action{color:var(--gold);font-size:12px}.detail-body{padding:8px 0 3px;color:#d8e3f4}.detail-body h4{color:var(--gold);margin:12px 0 8px}.detail-body .lines{font-size:14px}.info-card{border:1px solid #38557e;background:#172d53;border-radius:var(--radius);padding:23px 27px}.info-card h3{margin:0 0 14px;font-size:18px}.trace-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}.trace-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;padding-left:22px;line-height:1.7;margin:0}.trace-list li{padding-left:5px}.eidolon{border-left:3px solid var(--gold)}@media(max-width:700px){.topbar{height:58px}.topbar-inner{padding:0 16px}.top-context{font-size:11px}.list-shell,.detail-shell{padding:0 14px}.list-hero{padding:50px 6px 42px}.list-hero h1,.hero h1{font-size:43px}.list-panel{border-radius:16px}.list-title{padding:22px 18px}.filters{grid-template-columns:1fr 1fr;padding:18px;gap:12px}.search{grid-column:1/-1}.results{padding:0 18px 20px}.character-row{gap:10px;padding:14px 10px;flex-wrap:wrap}.row-glyph{width:42px;height:42px}.row-name{min-width:105px}.row-name strong{font-size:17px}.character-row .stars{font-size:12px}.row-arrow{display:none}.hero{margin-top:16px;padding:35px 22px}.stats{padding:19px 17px}.stat-grid{grid-template-columns:1fr 1fr}.stat{padding:11px;display:block}.stat strong{display:block;margin-top:5px}.section-nav{top:58px}.section-nav button{padding:10px 13px}.section{scroll-margin-top:130px;margin-top:44px}.section-title h2{font-size:19px}.skill-card{grid-template-columns:1fr}.skill-rail{border-right:0;border-bottom:1px solid #4a6790;padding:8px 16px;justify-content:flex-start}.skill-main{padding:19px 17px}.skill-heading{display:block}.skill-heading h3{font-size:18px}.state{display:inline-block;margin-top:10px}.rates>span{max-width:100%}.trace-layout,.trace-list{grid-template-columns:1fr}.info-card{padding:19px 17px}}@media(max-width:380px){.hero-tags{gap:6px}.brand{font-size:13px}.top-context{font-size:10px}.pill{font-size:10px;padding:5px 8px}}.results{display:grid;gap:12px}.preface{margin-bottom:16px}.version-panel{border:1px solid var(--edge);border-radius:var(--radius);background:#13274b;padding:20px 28px;margin-bottom:24px}.version-title{font-weight:800;margin-bottom:12px}.version-buttons{display:flex;gap:10px;flex-wrap:wrap}.version-buttons button{min-width:104px;border:1px solid #54719d;border-radius:9px;background:#1c355f;color:var(--text);padding:10px 18px}.version-buttons button.selected{background:var(--gold);border-color:var(--gold);color:#17243b;font-weight:800}.version-panel p{color:var(--muted);font-size:13px;line-height:1.6;margin:12px 0 0}@media(max-width:700px){.version-panel{padding:18px 17px}.version-buttons button{flex:1}}.filters{grid-template-columns:2fr 1fr 1fr 1fr}@media(max-width:700px){.filters{grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:1/-1}}.pwa-notice{position:fixed;z-index:50;right:16px;bottom:16px;max-width:min(460px,calc(100vw - 32px));display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border:1px solid var(--edge);border-radius:var(--radius);background:#152a53;color:var(--text);box-shadow:0 15px 40px #020919aa;font-size:13px}.pwa-notice span{flex:1 1 180px}.pwa-notice button{border:1px solid #8d754d;border-radius:8px;background:#3a3540;color:var(--gold);padding:7px 12px}.pwa-notice button:first-of-type{background:var(--gold);color:#17243b;font-weight:800}
