
:root{--bg-primary:#0a1628;--bg-secondary:#0d1b2a;--bg-tertiary:#1b2838;--bg-card:#0f2035;--bg-card-hover:#142a42;
--gold:#c9a84c;--gold-light:#e8c86a;--gold-muted:rgba(201,168,76,.15);
--text-primary:#e8e6e1;--text-secondary:#a0a8b4;--text-muted:#6b7280;
--border:rgba(201,168,76,.2);--border-strong:rgba(201,168,76,.4);
--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--purple:#a855f7;
--shadow:0 4px 24px rgba(0,0,0,.4);--shadow-gold:0 0 30px rgba(201,168,76,.15);
--mono:"SF Mono","Fira Code","Consolas",monospace;
--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Inter","Noto Sans SC","Helvetica Neue",sans-serif;}
html[data-theme=light]{--bg-primary:#f5f3ee;--bg-secondary:#eae7df;--bg-tertiary:#e2ded3;--bg-card:#fff;--bg-card-hover:#faf8f2;
--gold:#9a7b2e;--gold-light:#b8922f;--gold-muted:rgba(154,123,46,.12);
--text-primary:#1a1a1a;--text-secondary:#4a5360;--text-muted:#8a8f98;--border:rgba(154,123,46,.25);--border-strong:rgba(154,123,46,.45);
--shadow:0 4px 24px rgba(0,0,0,.08);--shadow-gold:0 0 30px rgba(154,123,46,.1);}
*{box-sizing:border-box}
body{margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--sans);line-height:1.7;font-size:16px;transition:background .4s,color .4s}
.mono{font-family:var(--mono)}
nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);
backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:12px 26px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:800;letter-spacing:3px;font-size:15px;color:var(--gold);text-transform:uppercase}
.brand .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);margin-right:8px;vertical-align:middle}
.navlinks{display:flex;gap:15px;align-items:center;font-size:13.5px;flex-wrap:wrap}
.navlinks a{color:var(--text-secondary);text-decoration:none}.navlinks a.on{color:var(--gold)}
.navlinks a:hover{color:var(--gold-light)}
.tg{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:7px;padding:5px 11px;cursor:pointer;font-size:12.5px;font-family:var(--sans)}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
.hero{padding:44px 0 26px;border-bottom:1px solid var(--border)}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-weight:600;margin-bottom:10px}
h1{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:800;margin:0 0 8px;letter-spacing:.5px;
background:linear-gradient(90deg,var(--gold),var(--gold-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dek{color:var(--text-secondary);font-size:1.05rem;max-width:860px}
section{padding:26px 0}
h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;margin:0 0 4px}
h3{margin:0 0 8px}
.sub{color:var(--text-muted);font-size:.9rem;margin-bottom:14px}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow)}
svg{display:block;width:100%}
.tag{display:inline-block;padding:2px 9px;border-radius:100px;font-size:11.5px;font-weight:600;margin:2px 6px 2px 0}
.tag.on{background:rgba(34,197,94,.14);color:var(--success);border:1px solid rgba(34,197,94,.4)}
.tag.off{background:rgba(239,68,68,.14);color:var(--danger);border:1px solid rgba(239,68,68,.4)}
.tag.rg{background:var(--gold-muted);color:var(--gold);border:1px solid var(--border-strong)}
.tag.geo{background:rgba(239,68,68,.13);color:var(--danger);border:1px solid rgba(239,68,68,.35)}
.tag.sd{background:rgba(59,130,246,.13);color:var(--info);border:1px solid rgba(59,130,246,.35)}
.tag.real{background:rgba(34,197,94,.14);color:var(--success);border:1px solid rgba(34,197,94,.4)}
.tag.mid{background:rgba(245,158,11,.16);color:var(--warning);border:1px solid rgba(245,158,11,.4)}
.tag.hype{background:rgba(239,68,68,.16);color:var(--danger);border:1px solid rgba(239,68,68,.4)}
.tag.wait{background:rgba(160,168,180,.14);color:var(--text-secondary);border:1px solid var(--border)}
.tag.fb{background:rgba(168,85,247,.16);color:var(--purple);border:1px solid rgba(168,85,247,.45)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media(max-width:820px){.grid3{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
th{color:var(--gold);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
td.mono{font-family:var(--mono);color:var(--text-secondary)}
.foot{color:var(--text-muted);font-size:11.5px;border-top:1px solid var(--border);margin-top:30px;padding:16px 0 40px;letter-spacing:.4px;line-height:1.7}
.banner{background:linear-gradient(120deg,var(--gold-muted),transparent);border:1px solid var(--border-strong);border-radius:12px;padding:16px 20px;margin:18px 0;font-size:14.5px;line-height:1.8}
.banner b{color:var(--gold-light)}
.kpi{display:flex;gap:26px;flex-wrap:wrap;align-items:baseline;margin:6px 0}
.kpi .v{font-family:var(--mono);font-size:2.6rem;font-weight:800;color:var(--gold)}
.kpi .l{font-size:12.5px;color:var(--text-muted)}
.warnbox{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35);border-radius:10px;padding:12px 15px;font-size:13px;color:var(--text-secondary);line-height:1.7;margin:12px 0}
.warnbox b{color:var(--warning)}
.pyr{display:flex;flex-direction:column;gap:7px;margin:8px 0}
.pyrow{display:flex;align-items:stretch;gap:10px}
.pylab{flex:0 0 78px;font-family:var(--mono);font-size:12px;color:var(--gold);display:flex;flex-direction:column;justify-content:center}
.pybar{flex:1;border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--bg-secondary);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:7px;font-size:12px;border:1px solid var(--border);background:var(--bg-card);cursor:default}
.chip .hd{font-family:var(--mono);font-size:10.5px;color:var(--text-muted)}
.chip.geo{border-color:rgba(239,68,68,.4)}.chip.sd{border-color:rgba(59,130,246,.4)}
.dot2{width:8px;height:8px;border-radius:50%;display:inline-block}
.foldh{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600}
.foldh:hover{color:var(--gold-light)}
.foldb{display:none;margin-top:8px;font-size:13.5px;color:var(--text-secondary);line-height:1.75}
.fold.open .foldb{display:block}.fold.open .foldi{transform:rotate(45deg)}
.foldi{color:var(--gold);font-size:1.2rem;transition:transform .2s}
.lyleg{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text-secondary);margin-top:8px;align-items:center}
.lyleg i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:middle}
/* ── CHIP-DEMO-V2 认知可达层 ── */
.poscard{background:linear-gradient(120deg,var(--gold-muted),transparent);border-bottom:1px solid var(--border-strong);padding:13px 0}
.poscard .pin{display:flex;gap:12px;align-items:flex-start;max-width:1200px;margin:0 auto;padding:0 26px}
.poscard .pico{font-size:1.25rem;line-height:1.5}
.poscard .pl{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-weight:700}
.poscard .pt{font-size:1.04rem;font-weight:700;line-height:1.65}
.gl,[data-gloss]{border-bottom:1px dashed var(--gold);cursor:help}
#gtip{display:none;position:fixed;z-index:99;max-width:380px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:9px;padding:10px 13px;font-size:12.5px;line-height:1.65;box-shadow:var(--shadow);pointer-events:none}
.tourbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:12px;padding:12px 16px;margin:14px 0}
.tourbar a{display:inline-flex;gap:6px;align-items:center;color:var(--text-secondary);text-decoration:none;font-size:13px;padding:4px 10px;border:1px solid var(--border);border-radius:100px}
.tourbar a:hover{color:var(--gold-light);border-color:var(--border-strong)}
.tourbar .n{font-family:var(--mono);font-size:11px;color:var(--gold);font-weight:800}
.explain{background:var(--bg-secondary);border:1px dashed var(--border);border-radius:10px;padding:10px 14px;margin:10px 0;font-size:13.5px;line-height:1.75}
.explain .q{color:var(--gold);font-weight:700}
.exbadge{display:inline-block;background:rgba(168,85,247,.15);color:var(--purple);border:1px solid rgba(168,85,247,.4);border-radius:6px;padding:1px 8px;font-size:11px;font-weight:800;letter-spacing:1px}
details>summary{cursor:pointer;color:var(--text-secondary)}

/* ── 门户层新增(portal bar / 徽章 / 状态灯 / 报告渲染)── */
.pbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:7px 26px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:12.5px;font-family:var(--sans)}
.pbar .pbrand{font-weight:800;letter-spacing:2px;color:var(--gold);font-size:11.5px;white-space:nowrap;text-transform:uppercase}
.pbar a{color:var(--text-secondary);text-decoration:none;padding:2px 8px;border-radius:6px}
.pbar a.on{color:var(--gold);background:var(--gold-muted)}
.pbar a:hover{color:var(--gold-light)}
.pbar .psep{color:var(--text-muted);opacity:.5}
.bdg{display:inline-block;padding:1px 8px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.5px;border:1px solid;vertical-align:middle}
.bdg.hist{color:var(--warning);border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.08)}
.bdg.fwd{color:#00A651;border-color:rgba(0,166,81,.5);background:rgba(0,166,81,.08)}
.bdg.lag0{color:var(--info);border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.08)}
.bdg.bf{color:var(--text-muted);border-color:var(--border);background:var(--bg-secondary)}
.sl-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:middle}
.sl-green{background:#00A651;box-shadow:0 0 8px rgba(0,166,81,.55)}
.sl-amber{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.55)}
.sl-red{background:#E53935;box-shadow:0 0 8px rgba(229,57,53,.6)}
.regbig{font-family:var(--mono);font-size:2.3rem;font-weight:800;line-height:1.15}
.regbig.on{color:#00A651}.regbig.off{color:#E53935}
.mdpre{white-space:pre-wrap;font-family:var(--mono);font-size:12px;line-height:1.62;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto}
.tl{border-left:2px solid var(--border-strong);margin:10px 0 10px 8px;padding-left:18px}
.tl .tle{position:relative;margin-bottom:16px}
.tl .tle:before{content:"";position:absolute;left:-24px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}
