:root{--ink:#16202c;--mut:#5a6b7b;--line:#dce4ec;--bg:#fff;--card:#f4f8fb;--acc:#0b6;--accw:#b91c1c;--accc:#1d6fb8}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
main{max-width:760px;margin:0 auto;padding:0 20px 64px}
header,footer{max-width:760px;margin:0 auto;padding:16px 20px;color:var(--mut);font-size:13.5px}
footer{border-top:1px solid var(--line);margin-top:48px}
a{color:var(--accc);text-decoration:none}a:hover{text-decoration:underline}
.crumb a{color:var(--mut)}
h1{font-size:1.72rem;line-height:1.25;margin:.4em 0 .5em}
h2{font-size:1.24rem;margin:1.8em 0 .5em;padding-top:.3em}
h3{font-size:1.05rem;margin:1.4em 0 .4em;color:#27384a}
p{margin:.75em 0}
.answer{font-size:1.12rem;line-height:1.6;background:var(--card);border-left:4px solid var(--acc);padding:14px 16px;border-radius:0 8px 8px 0;margin:1em 0}
.abstract{color:#27384a}
.claim-strip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13px;border:1px solid var(--line);background:#fafcfe;border-radius:10px;padding:10px 14px;margin:1.1em 0}
.claim-strip .gate{color:var(--mut)}
.grade{font-weight:700;padding:2px 9px;border-radius:999px;font-size:12px}
.g-forced{background:#e7f7ee;color:#0a7a44}.g-verified{background:#e8f1fb;color:#15589c}
.g-calibrated{background:#fff4e5;color:#9a6400}.g-hypothesis{background:#f3eafc;color:#6b39a8}.g-open{background:#fdeaea;color:var(--accw)}
.doi-pending{color:var(--mut)}
.vp-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:.8em 0;font-size:14.5px}
.vp-card b:first-child{color:#0a3d62}
.ownership-banner{font-size:13.5px;line-height:1.5;color:#5a4a2a;background:#fbf6ec;border:1px solid #ecdcb8;border-left:4px solid #c79a3a;border-radius:0 8px 8px 0;padding:9px 14px;margin:.6em 0 1.1em}
.ownership-banner b{color:#7a5a14}
.xref-card{display:block;font-size:13.5px;line-height:1.55;color:#28323e;background:#f1f5fb;border:1px solid #d3e0f0;border-left:4px solid #3a6ea5;border-radius:0 8px 8px 0;padding:10px 14px;margin:1em 0}
.xref-card>b:first-child{color:#234c77}
.xref-card code{background:#e3ecf7;color:#1d3a5c;padding:1px 5px;border-radius:4px;font-size:12.5px}
.xref-card .xref-grade{display:inline-block;margin-top:.5em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:#3a6ea5}
.xref-card .xref-cite{display:block;margin-top:.35em;font-size:12px;color:#5a6b7d}
figure.eq{margin:1.1em 0;overflow-x:auto;text-align:center}
figure.eq img{max-width:100%;height:auto}
nav.pn{display:flex;justify-content:space-between;gap:12px;margin:2.4em 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
ol.toc{list-style:none;padding:0;margin:1.2em 0}
ol.toc li{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
ol.toc .n{color:var(--mut);font-variant-numeric:tabular-nums;min-width:2.4em}
ol.toc .g{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:999px}
.hub-lead{color:var(--mut)}.repro-note{font-size:13.5px;color:var(--mut);border-top:1px solid var(--line);padding-top:14px;margin-top:24px}
code{background:#eef3f7;padding:1px 5px;border-radius:5px;font-size:.92em}
.method-panel{background:#f4f8fb;border:1px solid #d3e0f0;border-left:4px solid var(--accc);border-radius:0 10px 10px 0;padding:4px 16px;margin:1.2em 0;font-size:14.5px}
.method-panel b{color:#0a3d62}
.lede{font-size:1.05rem;color:#27384a;margin:1em 0}
.scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:1.3em 0}
.scope-grid .cell{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fafcfe}
.scope-grid .cell b{color:#0a3d62;display:block;margin-bottom:3px}
.scope-grid .cell span{font-size:13px;color:var(--mut)}
.chain{list-style:none;padding:0;margin:1.2em 0;counter-reset:step}
.chain li{position:relative;padding:10px 0 10px 40px;border-bottom:1px solid var(--line)}
.chain li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--accc);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.chain li b{color:#0a3d62}
.keytable{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14px}
.keytable th,.keytable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.keytable th{color:var(--mut);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em}
.keytable code{font-size:12.5px}
