@font-face{font-family:'Source Serif 4';src:url(fonts/serif.woff2) format('woff2');font-weight:600 700;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/sans.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/sans-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{
--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);
--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;
--paper:oklch(.975 .008 85);--paper-2:oklch(.945 .012 85);--ink:oklch(.23 .025 250);--muted:oklch(.45 .02 250);--rule:oklch(.86 .012 85);
--accent:oklch(.47 .14 28);--accent-ink:oklch(.98 .005 85);--navy:oklch(.3 .04 250);
--font-display:'Source Serif 4',Georgia,serif;--font-body:'Source Sans 3',system-ui,sans-serif;--radius:4px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6}
a{color:var(--accent);text-underline-offset:.15em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-4);z-index:10}
.skip:focus{left:var(--space-4)}
.wrap{max-width:72rem;margin:0 auto;padding-inline:clamp(var(--space-4),4vw,var(--space-10))}
h1,h2,.section-title{font-family:var(--font-display);line-height:1.15;font-weight:700;letter-spacing:-.01em}
h1{font-size:var(--text-2xl);margin:0 0 var(--space-4);max-width:22ch}
h2{font-size:var(--text-xl);margin:var(--space-10) 0 var(--space-3)}
h3{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2)}
.site-header{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-3);flex-wrap:wrap}
.wordmark{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--ink);text-decoration:none;border-left:4px solid var(--accent);padding-left:var(--space-3);line-height:1.1}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-1) var(--space-4);flex-wrap:wrap}
nav a{font-size:var(--text-sm);color:var(--ink);text-decoration:none;padding:var(--space-2) 0;display:inline-block;min-height:44px;line-height:28px}
nav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
nav a:hover{color:var(--accent)}
.kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:0 0 var(--space-3)}
.lede{font-size:var(--text-base);max-width:62ch;color:var(--ink)}
.hero{padding-block:clamp(var(--space-12),7vw,var(--space-24));border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border-radius:var(--radius);border:2px solid var(--accent);min-height:44px}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-ghost{background:transparent;color:var(--accent)}
.dates{background:var(--navy);color:var(--paper);padding:var(--space-6);border-radius:var(--radius)}
.dates h2{font-size:var(--text-lg);margin:0 0 var(--space-4);font-family:var(--font-body)}
.dates ol{list-style:none;margin:0;padding:0}
.dates li{display:grid;grid-template-columns:8.5rem 1fr;gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid oklch(.45 .04 250);font-size:var(--text-sm)}
.dates .d{font-weight:700}
.dates a{color:var(--paper)}
.figures{padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.section-title{font-size:var(--text-xl);margin:0 0 var(--space-6)}
.fig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;border-top:2px solid var(--ink)}
.fig-grid div{padding:var(--space-6) var(--space-6) var(--space-6) 0;border-right:1px solid var(--rule)}
.fig-grid div+div{padding-left:var(--space-6)}
.fig-grid div:last-child{border-right:0}
.fig-grid dt{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--accent);line-height:1.1;margin-bottom:var(--space-2)}
.fig-grid dd{margin:0;font-size:var(--text-sm);color:var(--ink)}
.band{background:var(--paper-2);padding-block:clamp(var(--space-10),6vw,var(--space-16));border-block:1px solid var(--rule)}
.two-col{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.qlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.qlist a{display:flex;gap:var(--space-4);align-items:baseline;padding:var(--space-4) 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-weight:600}
.qlist a:hover{color:var(--accent)}
.qn{font-family:var(--font-display);color:var(--accent);font-size:var(--text-lg);min-width:1.5rem}
.more{font-weight:600}
.page-head{padding-block:clamp(var(--space-10),6vw,var(--space-16)) var(--space-6);border-bottom:1px solid var(--rule);margin-bottom:var(--space-8)}
.prose{max-width:68ch}
.prose p,.prose li{max-width:68ch}
.with-toc{display:grid;grid-template-columns:14rem 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start;padding-bottom:var(--space-16)}
.toc{position:sticky;top:6rem;font-size:var(--text-sm)}
.toc p{font-weight:700;margin:0 0 var(--space-2)}
.toc ol{margin:0;padding-left:var(--space-6)}
.toc li{padding-block:var(--space-1)}
.issue{padding-bottom:var(--space-8);border-bottom:1px solid var(--rule);margin-bottom:var(--space-8)}
.issue h2{margin-top:0}
.xref{font-size:var(--text-sm);font-weight:600}
.qs{padding-bottom:var(--space-16)}
.q{border-left:4px solid var(--accent);padding-left:var(--space-6);margin-bottom:var(--space-10)}
.qnum{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:0}
.q h2{margin:var(--space-1) 0 var(--space-3)}
.qtext{font-size:var(--text-lg);line-height:1.45;font-weight:600}
.note{font-size:var(--text-sm);color:var(--muted)}
.table-scroll{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}
table.resp{border-collapse:collapse;width:100%;min-width:56rem;font-size:var(--text-sm)}
.resp th,.resp td{border-bottom:1px solid var(--rule);padding:var(--space-3);text-align:left;vertical-align:top}
.resp thead th{background:var(--navy);color:var(--paper);font-weight:600}
.resp thead th a{color:var(--paper);display:block;font-weight:700}
.resp thead th span{display:block;font-weight:400;font-size:var(--text-xs)}
.resp tbody th{font-weight:700;width:13rem}
.pending{color:var(--muted);font-style:italic}
.docs{list-style:none;padding:0;margin:0 0 var(--space-8);border-top:2px solid var(--ink)}
.docs a{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.docs .dt{font-weight:700;color:var(--accent)}
.docs .dd{grid-column:1;font-size:var(--text-sm)}
.docs .fmt{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:var(--text-xs);font-weight:700;border:1px solid var(--ink);padding:var(--space-1) var(--space-2);border-radius:var(--radius)}
.docs a:hover .dt{color:var(--ink)}
.letter{padding-bottom:var(--space-16)}
.letter ol li{margin-bottom:var(--space-3)}
.media{padding-bottom:var(--space-16)}
.media .prose h2{margin-top:0;font-size:var(--text-lg)}
blockquote{margin:var(--space-6) 0;padding-left:var(--space-6);border-left:4px solid var(--accent);font-family:var(--font-display);font-size:var(--text-lg);line-height:1.4}
blockquote p{margin:0}
.contact{background:var(--paper-2);border:1px solid var(--rule);padding:var(--space-6);border-radius:var(--radius)}
.contact h2{margin-top:0;font-size:var(--text-lg);font-family:var(--font-body)}
.contact h3{font-size:var(--text-base)}
.todo{background:oklch(.93 .07 85);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm)}
.src-group{margin-bottom:var(--space-10)}
.src{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.src li{padding:var(--space-3) 0;border-bottom:1px solid var(--rule);font-size:var(--text-sm);max-width:none}
.src .t{font-weight:600}
.src .meta{color:var(--muted);display:block}
.src .arch{font-size:var(--text-xs);margin-left:var(--space-2)}
.site-footer{border-top:1px solid var(--rule);padding-block:var(--space-8);font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-8)}
.site-footer p{margin:0 0 var(--space-2);max-width:72ch}
@media (max-width:900px){.hero-grid,.two-col,.with-toc{grid-template-columns:1fr}.toc{position:static}.fig-grid{grid-template-columns:1fr 1fr}.fig-grid div{border-right:0;border-bottom:1px solid var(--rule);padding-left:0!important;padding-right:var(--space-4)}}
@media (max-width:520px){.fig-grid{grid-template-columns:1fr}.dates li{grid-template-columns:1fr;gap:0}.header-inner{gap:var(--space-2)}nav ul{gap:0 var(--space-3)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.site-header,.actions,.toc{display:none}body{background:#fff}a{color:#000}}
.auth{font-weight:600;color:var(--ink)}
.count{font-family:var(--font-body);font-size:var(--text-sm);color:var(--muted);font-weight:400}
.src-group h2{font-size:var(--text-lg);font-family:var(--font-body)}
.qgroup{margin-bottom:var(--space-10)}
.qgroup>h2{margin-bottom:var(--space-6)}
.q{margin-bottom:var(--space-6)}
.qctx{display:block;font-size:var(--text-base);font-weight:400;color:var(--muted);margin-bottom:.5em}
.qctx a{color:inherit}
.lq>li{margin-bottom:.75em}.lq ul{margin-top:.35em}
