.back-link{text-decoration:none}.back-link:hover{color:var(--datum)}.paper{padding-block:clamp(40px,6vw,80px) 0}.paper section{padding-block:0}.paper-head{border-bottom:1px solid var(--rule);gap:18px;max-width:52rem;margin-bottom:40px;padding-bottom:40px;display:grid}.paper-head h1{font-size:clamp(2.1rem,1.3rem + 3.4vw,3.5rem)}.paper-lede{font-size:var(--s1);color:var(--ink-soft);max-width:42rem}.paper-grid{gap:40px;display:grid}@media (width>=960px){.paper-grid{grid-template-columns:13rem minmax(0,1fr);gap:64px}}.toc{min-width:0}@media (width>=960px){.toc{top:calc(env(safe-area-inset-top,0px) + 84px);align-self:start;position:sticky}}.toc-title{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:10px;font-size:.75rem}.toc ol{counter-reset:toc;gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc li{counter-increment:toc}.toc a{font-size:var(--s-1);color:var(--ink-soft);gap:10px;padding:5px 0;text-decoration:none;display:flex}.toc a:before{content:counter(toc);font-family:var(--f-mono);color:var(--datum);min-width:1.4em}.toc a:hover{color:var(--ink)}@media (width<=959px){.toc{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:14px 16px}.toc ol{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}.prose{gap:64px;min-width:0;max-width:44rem;padding-bottom:72px;display:grid}.prose section{gap:16px;scroll-margin-top:90px;display:grid}.prose h2{font-size:var(--s2);align-items:baseline;gap:14px;max-width:none;display:flex}.sec-n{font-family:var(--f-mono);font-size:var(--s-1);color:var(--datum);border:1px solid;border-radius:4px;flex:none;padding:0 6px;font-weight:500}.prose h3{font-size:var(--s0);margin-top:8px}.prose p{color:var(--ink-soft);line-height:1.7}.prose p strong,.prose li strong{color:var(--ink)}.prose em{color:var(--ink);font-style:italic}.prose code{font-family:var(--f-mono);background:var(--paper-2);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.875em}.keyfacts{gap:16px;margin:8px 0 0;padding:0;list-style:none;display:grid}@media (width>=640px){.keyfacts{grid-template-columns:repeat(3,1fr)}}.keyfacts li{border-top:2px solid var(--ink);gap:4px;min-width:0;padding-top:12px;display:grid}.keyfacts strong{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:var(--s1);color:var(--ink)}.keyfacts span{font-size:var(--s-1);color:var(--ink-soft)}.chip-ok{color:var(--datum);background:color-mix(in srgb, var(--datum) 10%, transparent)}.chip-witness{color:var(--witness);background:color-mix(in srgb, var(--witness) 10%, transparent)}.chip-single{color:var(--ink-soft)}.chip-none{color:var(--ink-soft);border-style:dashed}.diagram{gap:10px;margin:8px 0;display:grid}.diagram-scroll{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:16px;overflow-x:auto}.diagram svg{width:100%;min-width:640px;height:auto;display:block}.diagram figcaption{font-size:var(--s-1);color:var(--ink-soft)}.d-nodes rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.25px}.d-nodes rect.hl{fill:color-mix(in srgb, var(--datum) 12%, var(--paper));stroke:var(--datum)}.d-nodes rect.out{stroke-dasharray:4 3}.d-nodes rect.warnbox{stroke:var(--misclose);fill:color-mix(in srgb, var(--misclose) 10%, var(--paper))}.d-nodes text{font-family:var(--f-mono);fill:var(--ink);text-anchor:middle;font-size:12.5px}.d-edges path{fill:none;stroke:var(--ink-soft);stroke-width:1.25px}.d-edges path.warn{stroke:var(--misclose);stroke-dasharray:4 3}.arrowhead{fill:var(--ink-soft)}.d-labels text{font-family:var(--f-mono);fill:var(--ink-soft);text-anchor:middle;font-size:11px}.d-labels text.warn{fill:var(--misclose)}.terms{border-top:1px solid var(--rule);margin:0;display:grid}.terms>div{border-bottom:1px solid var(--rule);gap:4px 20px;padding-block:14px;display:grid}@media (width>=640px){.terms>div{grid-template-columns:8rem 1fr}}.terms dt{font-family:var(--f-mono);color:var(--ink);font-weight:500}.terms dd{color:var(--ink-soft);min-width:0;margin:0}.spec{border-collapse:collapse;width:100%;min-width:30rem}.spec th,.spec td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:12px 16px;font-size:.9375rem}.spec tbody tr:last-child>*{border-bottom:0}.spec thead th{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.75rem;font-weight:500}.spec tbody th{color:var(--ink);white-space:nowrap;font-weight:600}.spec td{color:var(--ink-soft)}.compare-spec tbody th{white-space:normal;width:30%}.compare-spec thead th:last-child{color:var(--datum)}.compare-spec td:last-child{color:var(--ink);font-weight:500}.callout{background:var(--surface);border:1px solid var(--rule);border-radius:10px;align-items:baseline;gap:18px;padding:18px 20px;display:flex}.callout-n{font-family:var(--f-display);color:var(--datum);font-variant-numeric:tabular-nums;font-size:2.75rem;font-weight:800;font-stretch:112%;line-height:1}.callout span:last-child{font-size:var(--s-1);color:var(--ink-soft)}.chain{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chain li{font-family:var(--f-mono);font-size:var(--s-1);background:var(--surface);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:6px;padding:3px 12px;display:flex}.chain li+li:before{content:"→";color:var(--datum);margin-left:-2px;margin-right:4px}.chain li+li{padding-left:10px}.note{font-size:var(--s-1);border-left:2px solid var(--rule);padding-left:12px}.code{background:var(--ink);color:var(--paper);font-family:var(--f-mono);border-radius:10px;margin:0;padding:18px 20px;font-size:.8125rem;line-height:1.7;overflow-x:auto}.code code{font-size:inherit;color:inherit;background:0 0;padding:0}.stations-list,.principle-list{color:var(--ink-soft);gap:8px;margin:0;padding-left:1.4em;display:grid}.stations-list li::marker{font-family:var(--f-mono);color:var(--datum)}.stations-list strong{margin-right:6px}.principle-list{padding:0;list-style:none}.principle-list li{border-left:2px solid var(--datum);padding-left:16px}.paper-cta{border-top:2px solid var(--ink);padding-top:32px!important}.paper-cta h2{font-size:var(--s3)}.prose>section,.prose section>*{min-width:0}.table-scroll{border:1px solid var(--rule);background:var(--surface);border-radius:10px;overflow-x:auto}
