:root{--bg: #0a0d13;--bg-gradient: radial-gradient(1200px 500px at 80% -10%, rgba(212, 175, 95, .07), transparent 60%), radial-gradient(900px 420px at -10% 110%, rgba(91, 141, 239, .05), transparent 55%);--surface: #11151e;--surface-2: #171c27;--surface-3: #1d2432;--border: rgba(255, 255, 255, .065);--border-strong: rgba(255, 255, 255, .13);--text: #e9edf5;--text-dim: #97a0b5;--text-faint: #626b81;--accent: #d9b25f;--accent-strong: #f0c979;--accent-soft: rgba(217, 178, 95, .13);--accent-ring: rgba(217, 178, 95, .35);--up: #f04c4c;--up-soft: rgba(240, 76, 76, .12);--down: #3ab780;--down-soft: rgba(58, 183, 128, .13);--p0: #ff5d5d;--p1: #ffb020;--p2: #5b8def;--info: #5b8def;--ok: #3ab780;--warn: #ffb020;--bad: #f04c4c;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 28px rgba(0, 0, 0, .35);--serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--sans: -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--mono: "SF Mono", "Cascadia Code", Consolas, "PingFang SC", monospace;--r-lg: 14px;--r-md: 10px;--r-sm: 7px}[data-theme=light]{--bg: #f5f3ee;--bg-gradient: radial-gradient(1100px 480px at 85% -10%, rgba(176, 141, 60, .08), transparent 60%), radial-gradient(900px 420px at -10% 110%, rgba(91, 141, 239, .06), transparent 55%);--surface: #ffffff;--surface-2: #f8f6f1;--surface-3: #f1eee6;--border: rgba(26, 32, 48, .09);--border-strong: rgba(26, 32, 48, .18);--text: #1b2130;--text-dim: #5d6577;--text-faint: #949bad;--accent: #a37b26;--accent-strong: #8a651c;--accent-soft: rgba(163, 123, 38, .1);--accent-ring: rgba(163, 123, 38, .3);--up: #d93025;--up-soft: rgba(217, 48, 37, .08);--down: #1a8a4a;--down-soft: rgba(26, 138, 74, .1);--p0: #d93025;--p1: #b97a0a;--p2: #3b6fd4;--info: #3b6fd4;--ok: #1a8a4a;--warn: #b97a0a;--bad: #d93025;--shadow: 0 1px 2px rgba(30, 34, 45, .06), 0 10px 30px rgba(30, 34, 45, .07)}*{box-sizing:border-box}html{color-scheme:dark}[data-theme=light] html,html[data-theme=light]{color-scheme:light}body{margin:0;background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-soft);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}h1,h2,h3{margin:0}.layout{display:flex;min-height:100vh}.sidebar{width:216px;flex-shrink:0;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;padding:20px 14px 16px;position:sticky;top:0;height:100vh;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px}.brand-name{font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.04em}.brand-sub{font-size:10px;color:var(--text-faint);letter-spacing:.18em}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;color:var(--text-dim);text-decoration:none;padding:9px 12px;border-radius:var(--r-md);font-size:13.5px;transition:background .15s,color .15s}.sidebar nav a svg{width:16px;height:16px;opacity:.75}.sidebar nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.sidebar nav a.active svg{opacity:1}.nav-section{font-size:10.5px;letter-spacing:.14em;color:var(--text-faint);padding:14px 12px 6px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-dim)}.theme-toggle{display:flex;align-items:center;justify-content:space-between;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-dim);padding:8px 12px;cursor:pointer;font-size:12.5px;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.content{flex:1;padding:26px 30px 60px;max-width:1240px;min-width:0}.page-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;flex-wrap:wrap}.page-title{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.02em}.page-sub{color:var(--text-faint);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}.card.pad-lg{padding:24px}.card-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-bottom:14px}.card-title .rule{flex:1;height:1px;background:var(--border)}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-2-1{grid-template-columns:2fr 1fr}@media (max-width: 1080px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-2-1{grid-template-columns:1fr}}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.serif-num{font-family:var(--serif);font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--text-dim);font-size:12px}.faint{color:var(--text-faint);font-size:11.5px}.mt-8{margin-top:8px}.mt-14{margin-top:14px}.mt-20{margin-top:20px}.divider{height:1px;background:var(--border);margin:14px 0;border:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;line-height:1.7;border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap;vertical-align:middle}.badge.P0{color:var(--p0);border-color:color-mix(in srgb,var(--p0) 55%,transparent);background:color-mix(in srgb,var(--p0) 8%,transparent);font-weight:600}.badge.P1{color:var(--p1);border-color:color-mix(in srgb,var(--p1) 50%,transparent);background:color-mix(in srgb,var(--p1) 8%,transparent)}.badge.P2{color:var(--p2);border-color:color-mix(in srgb,var(--p2) 50%,transparent);background:color-mix(in srgb,var(--p2) 8%,transparent)}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.badge.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent)}.badge.demo{color:#c678f0;border-color:color-mix(in srgb,#c678f0 50%,transparent);background:#c678f014}.badge.gold{color:var(--accent-strong);border-color:var(--accent-ring);background:var(--accent-soft)}.badge.plain{border-color:var(--border)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:currentColor}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#14100a;border:1px solid transparent;border-radius:var(--r-md);padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans);transition:filter .15s,transform .05s}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;filter:none}.btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);font-weight:500}.btn-ghost:hover{color:var(--text);border-color:var(--text-faint)}.btn-danger{background:transparent;border:1px solid color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}.btn-sm{padding:4px 11px;font-size:12px;border-radius:var(--r-sm)}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}input,select,textarea{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-md);padding:8px 12px;font-size:13px;font-family:var(--sans);transition:border-color .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-ring);background:var(--surface-3)}select{cursor:pointer}label{display:block;color:var(--text-dim);font-size:12px;margin-bottom:5px}.form-row{display:flex;flex-direction:column;margin-bottom:12px}.form-inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar .spacer{flex:1}.chip-bar{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--border-strong);background:transparent;color:var(--text-dim);border-radius:999px;padding:4px 13px;font-size:12.5px;cursor:pointer;transition:all .15s}.chip:hover{color:var(--text);border-color:var(--text-faint)}.chip.active{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-strong);font-weight:600}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--text-faint);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border-strong);font-size:11px;letter-spacing:.1em;text-transform:uppercase}td{padding:11px 10px;border-bottom:1px solid var(--border);vertical-align:top;font-size:13.5px}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tr.clickable{cursor:pointer}tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:11px;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase}.stat-value{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.2}.stat-value.small{font-size:19px}.stat-sub{font-size:12px;color:var(--text-dim)}.bar-track{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .4s ease}.bar-fill.ok{background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 70%,white))}.bar-fill.warn{background:linear-gradient(90deg,var(--warn),color-mix(in srgb,var(--warn) 70%,white))}.bar-fill.bad{background:linear-gradient(90deg,var(--bad),color-mix(in srgb,var(--bad) 70%,white))}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13px;margin:0}.kv dt{color:var(--text-faint);white-space:nowrap}.kv dd{margin:0}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--border)}.tl-item{position:relative;padding:7px 0 7px 6px}.tl-item:before{content:"";position:absolute;left:-17.5px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--surface);border:2px solid var(--text-faint)}.tl-item.imp-high:before{border-color:var(--p0);background:color-mix(in srgb,var(--p0) 35%,transparent)}.tl-item.imp-mid:before{border-color:var(--p1)}.tl-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.tl-time{font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:12px;min-width:74px}.tl-title{cursor:pointer}.tl-title:hover{color:var(--accent-strong)}.date-head{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--text-dim);margin:22px 0 8px;display:flex;gap:10px;align-items:baseline}.date-head:first-child{margin-top:0}.date-head .n{color:var(--text-faint);font-size:12px;font-family:var(--sans)}.regime-card{position:relative;overflow:hidden}.regime-card .glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background:radial-gradient(340px 120px at 85% -20%,var(--glow, transparent),transparent 70%)}.regime-state{font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:.02em}.bench-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.state-banner{padding:14px 18px;border-radius:var(--r-md);margin:12px 0;font-size:13.5px}.state-banner.info{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.state-banner.warn{background:color-mix(in srgb,var(--warn) 7%,transparent);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.state-banner.error{background:color-mix(in srgb,var(--bad) 7%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}.state-banner.empty{background:transparent;color:var(--text-faint);border:1px dashed var(--border-strong);text-align:center;padding:26px 18px}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 6%,transparent),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sk-line{height:12px;margin:10px 0}.sk-card{height:120px}.empty-icon{font-size:26px;opacity:.5;margin-bottom:8px}pre.json{background:var(--surface-2);border:1px solid var(--border);padding:14px;border-radius:var(--r-md);overflow:auto;font-size:12px;font-family:var(--mono);color:var(--text-dim)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:380px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:22px;text-align:center}.login-title{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.06em}.login-sub{color:var(--text-faint);font-size:12px;letter-spacing:.2em}.chart-wrap{position:relative}.chart-tooltip{position:absolute;pointer-events:none;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:6px 10px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;transform:translate(-50%,-110%);box-shadow:var(--shadow)}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.source-item{border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;background:var(--surface-2)}.source-item .cap{font-size:12.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center}@media (max-width: 860px){.sidebar{width:64px;padding:16px 8px}.sidebar .brand-name,.sidebar .brand-sub,.sidebar nav a span.label,.sidebar-footer .clock,.nav-section{display:none}.sidebar nav a{justify-content:center}.content{padding:20px 16px 60px}}
