:root{--bg:#0a0c10;--bg2:#10141b;--card:#141922;--line:#232b38;--tx:#e6ebf2;--mut:#9aa6b6;--acc:#7cf4c4;--acc2:#5ab8ff;
--S:#ff5a3c;--A:#ffb020;--B:#b597ff;--C:#5ab8ff;--D:#7b8494;
--cjk:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
--mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.7 var(--cjk);-webkit-text-size-adjust:100%;overflow-x:hidden}
a{color:var(--acc2);text-decoration:none}a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:#000;padding:6px 10px;z-index:99}.skip:focus{left:8px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.hero{padding:72px 0 40px;background:radial-gradient(1200px 500px at 80% -10%,rgba(90,184,255,.16),transparent 60%),radial-gradient(800px 400px at 0% 0%,rgba(124,244,196,.10),transparent 60%),linear-gradient(var(--bg),var(--bg));border-bottom:1px solid var(--line);position:relative}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;mask-image:linear-gradient(#000,transparent 85%)}
.hero .wrap{position:relative;z-index:1}
.kicker,.eyebrow{font:600 12px/1 var(--mono);letter-spacing:.14em;color:var(--acc);margin:0 0 14px}
h1{font-size:clamp(30px,5.2vw,56px);line-height:1.15;margin:0 0 18px;letter-spacing:-.01em}
h1 .grad{background:linear-gradient(90deg,var(--S),var(--A) 40%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{max-width:820px;color:#c8d1dd;font-size:16px;margin:0 0 26px}
.lede b{color:var(--tx)}
.stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.stats div{border:1px solid var(--line);background:rgba(20,25,34,.7);border-radius:10px;padding:10px 16px;min-width:150px}
.stats b{display:block;font:700 24px/1.2 var(--mono);color:var(--tx)}
.stats span{font:500 11px/1.4 var(--mono);letter-spacing:.1em;color:var(--mut)}
.evidence{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:rgba(16,20,27,.8);font-size:13px;color:var(--mut)}
.evidence p{margin:6px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.lbl{font:700 11px/1 var(--mono);letter-spacing:.12em;color:var(--tx);margin-right:4px}
.hint{color:var(--mut)}
.evp{display:inline-flex;align-items:center;gap:6px;margin-right:10px}
.nw{white-space:nowrap}
.ev{display:inline-block;font:600 11px/1 var(--cjk);padding:4px 6px;border-radius:5px;border:1px solid;white-space:nowrap}
.ev-off{color:#7cf4c4;border-color:rgba(124,244,196,.45);background:rgba(124,244,196,.08)}
.ev-3p{color:#ffcf70;border-color:rgba(255,176,32,.45);background:rgba(255,176,32,.08)}
.ev-un{color:#ff9c8a;border-color:rgba(255,90,60,.45);background:rgba(255,90,60,.08)}
.tier{display:inline-block;font:700 12px/1 var(--cjk);padding:5px 8px;border-radius:6px;white-space:nowrap;color:#0a0c10}
.tier.sm{font-size:11px;padding:3px 6px}
.t-S{background:var(--S)}.t-A{background:var(--A)}.t-B{background:var(--B)}.t-C{background:var(--C)}.t-D{background:var(--D);color:#0a0c10}
.t-U{background:transparent;color:var(--mut);border:1px dashed #4a5464}
.secnav{position:sticky;top:0;z-index:20;background:rgba(10,12,16,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.secnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.secnav .wrap::-webkit-scrollbar{display:none}
.secnav a{flex:0 0 auto;color:var(--mut);font-size:14px;padding:7px 12px;border-radius:8px;white-space:nowrap}
.secnav a:hover{color:var(--tx);background:var(--card);text-decoration:none}
.secnav a.on{color:#0a0c10;background:var(--acc);font-weight:600}
.sec{padding:64px 0;border-bottom:1px solid var(--line)}
.sec.alt{background:var(--bg2)}
h2{font-size:clamp(22px,3.2vw,32px);margin:0 0 12px;line-height:1.3}
h3{margin:0 0 8px;font-size:18px;line-height:1.35}
.intro{max-width:820px;color:var(--mut);margin:0 0 28px}
.cite{font:600 11px/1 var(--mono);color:var(--acc2);margin-left:3px;vertical-align:1px;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{font:500 13px/1 var(--cjk);color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.chip:hover{color:var(--tx)}
.chip.on{color:#0a0c10;background:var(--acc);border-color:var(--acc);font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;transition:border-color .2s}
.card:hover{border-color:#36506b}
.card[hidden]{display:none}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}
.cat{font:600 11px/1.3 var(--mono);color:var(--acc2);letter-spacing:.04em}
.pos{color:#c8d1dd;font-size:14px;margin:0 0 8px}
.note{color:var(--mut);font-size:13px;margin:0 0 12px}
.card dl{margin:auto 0 0;border-top:1px solid var(--line);padding-top:10px;font-size:13px}
.card dl div{margin-bottom:6px}
.card dt{font:600 11px/1.4 var(--mono);color:var(--mut);letter-spacing:.06em}
.card dd{margin:0;color:var(--tx)}
.exs,.trs{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.ex,.tr{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;position:relative}
.exn,.trn{font:700 13px/1 var(--mono);color:var(--acc);display:block;margin-bottom:12px}
.trn{font-size:20px;color:var(--A)}
.exw{font:500 13px/1.5 var(--mono);color:var(--acc2);margin:0 0 8px}
.ex p,.tr p{margin:0;color:#c3ccd8;font-size:14px}
.ex p.exw{color:var(--acc2)}
.tier-wrap{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:20px;margin-bottom:28px;align-items:start}
table{border-collapse:collapse;width:100%}
caption{text-align:left;font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--mut);padding:0 0 10px}
.ovr td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.ovr th{text-align:left;font:600 12px var(--mono);color:var(--mut);padding:8px 10px;border-bottom:1px solid var(--line)}
.ovr .tier{font-size:15px;padding:7px 12px}
.tn{font-weight:600}
.why{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.why p{margin:6px 0;font-size:14px;color:#c3ccd8}
.why b{color:var(--tx)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.grid{min-width:980px}
.grid th,.grid td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:center;font-size:13px;white-space:nowrap}
.grid thead th{font-size:12px;color:var(--mut);font-weight:600;background:#121722;position:sticky;top:0}
.grid tbody th{text-align:left;font-weight:600;position:sticky;left:0;background:var(--card);z-index:1}
.grid caption{padding:12px 12px 8px}
.dim{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:var(--card);overflow:hidden}
.dim summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.dim summary::-webkit-details-marker{display:none}
.dim summary::before{content:"+";font:700 16px/1 var(--mono);color:var(--acc);width:14px}
.dim[open] summary::before{content:"−"}
.dn{font-weight:700;font-size:17px}
.dsum{color:var(--mut);font-size:13px;flex:1 1 300px}
.dim .tbl-wrap{border:0;border-top:1px solid var(--line);border-radius:0}
.mx{min-width:640px}
.mx th,.mx td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
.mx thead th{font:600 12px var(--mono);color:var(--mut);background:#121722}
.mx tbody th{white-space:nowrap;font-weight:600;width:130px}
.mx td:nth-child(2){width:84px}
.mx td.src{width:170px}
.mx td.val{color:#d5dce6}
.rts{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.rt{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:12px;padding:16px 18px}
.rq{margin:0 0 6px;font-weight:700}
.ra{margin:0 0 8px;color:var(--acc)}
.ra b{color:var(--tx)}
.rd{margin:0;font-size:13px;color:var(--mut)}
.oq{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.oq li{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.oqn{font:700 18px/1.2 var(--mono);color:var(--S)}
.oq p{margin:4px 0 0;font-size:14px;color:#c3ccd8}
.srcs{margin:0;padding-left:30px;columns:2 460px;column-gap:28px;font-size:13px}
.srcs li{break-inside:avoid;margin:0 0 10px;color:var(--mut)}
.srcs li:target{background:rgba(124,244,196,.1);border-radius:6px}
.srcs a{color:var(--tx)}
.url{display:block;font:11px/1.4 var(--mono);color:#6f7b8c;word-break:break-all}
.foot{padding:36px 0 48px;color:var(--mut);font-size:14px}
.foot p{margin:6px 0}
.foot b{color:var(--tx)}
.nc{font-size:13px}
@media (max-width:820px){.tier-wrap{grid-template-columns:1fr}}
@media (max-width:560px){
 .wrap{padding:0 16px}
 .hero{padding:48px 0 28px}
 .sec{padding:44px 0}
 .stats div{min-width:0;flex:1 1 40%}
 .exs,.trs,.oq,.cards,.rts{grid-template-columns:1fr}
 .srcs{columns:1;padding-left:24px}
 .lede{font-size:15px}
 .stats{gap:8px;flex-wrap:nowrap}
 .stats div{flex:1 1 0;padding:8px 10px}
 .stats b{font-size:18px}
 .stats span{font-size:9px;letter-spacing:.06em}
 .mx{min-width:0}
 .mx thead{display:none}
 .mx tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}
 .mx th,.mx td{padding:0;border:0;width:auto!important}
 .mx tbody th{align-self:center}
 .mx td:nth-child(2){justify-self:end}
 .mx td.val,.mx td.src{grid-column:1 / -1}
 .dsum{flex-basis:100%}
 .evidence p:first-child{flex-direction:column;align-items:flex-start}
 .evp{margin-right:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
