:root{--milk:#fdfbf6;--espresso:#32241b;--roast:#6a5745;--crema:#e7dbc7;--crema-soft:#f4ecdd;--tonic-ink:#5c6b21;--tonic-tint:#eef0d7;--ambrosia-ink:#6b4326;--display:'Fraunces',Georgia,'Times New Roman',serif;--body:'Newsreader',Georgia,'Times New Roman',serif;--mono:'Courier Prime','Courier New',Courier,monospace;--gutter:1.25rem}
*{box-sizing:border-box}
html{background:var(--milk);color:var(--espresso);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-wrap:break-word}
body{margin:0;background:var(--milk);color:var(--espresso)}
a{color:inherit;text-decoration-color:var(--crema);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--ambrosia-ink)}
:focus-visible{outline:3px solid var(--ambrosia-ink);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--espresso);color:var(--milk);padding:.5rem 1rem}
.skip:focus{left:1rem}
header.site .bar,main,footer.site{max-width:60rem;margin:0 auto;padding-left:calc(var(--gutter) + env(safe-area-inset-left));padding-right:calc(var(--gutter) + env(safe-area-inset-right))}
header.site{border-bottom:1px solid var(--crema)}
header.site .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}
.mark{font-family:var(--display);font-weight:780;font-size:1.5rem;letter-spacing:-.01em;text-decoration:none;line-height:1}
.mark .m2{color:var(--ambrosia-ink)}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
nav a{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--roast);text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}
nav a[aria-current=page]{color:var(--espresso);border-bottom-color:var(--ambrosia-ink)}
nav a:hover{color:var(--espresso);border-bottom-color:var(--ambrosia-ink)}
.stage{max-width:44rem;padding:2.5rem 0 1rem}
.eyebrow{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--roast);margin:0 0 .75rem}
.stage h1{font-family:var(--display);font-variation-settings:'SOFT' 50;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:760;line-height:1.08;margin:0 0 .75rem}
.lede{font-size:1.15rem;line-height:1.55;color:var(--roast);margin:0 0 1.5rem}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:1.25rem 0}
.btn{display:inline-block;font-family:var(--mono);font-size:.9rem;padding:.7rem 1.2rem;border-radius:6px;border:1px solid var(--espresso);color:var(--espresso);text-decoration:none;background:transparent}
.btn:hover{background:var(--crema-soft)}
.btn.primary{background:var(--espresso);color:var(--milk)}
.btn.primary:hover{background:var(--ambrosia-ink);border-color:var(--ambrosia-ink)}
.btn.ghost{border-color:var(--crema);color:var(--roast)}
.pill{font-family:var(--mono);font-size:.72rem;color:var(--tonic-ink);background:var(--tonic-tint);border:1px solid #d9dcb6;border-radius:999px;padding:.15rem .7rem}
.small,.note,.credit{font-family:var(--mono);font-size:.8rem;color:var(--roast)}
.credit{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--crema)}
code.id{font-family:var(--mono);font-size:.85rem;background:var(--crema-soft);border:1px solid var(--crema);border-radius:4px;padding:.3rem .55rem;word-break:break-all}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:1.5rem 0}
.card{padding:1.2rem 1.3rem;border:1px solid var(--crema);border-radius:6px;background:var(--crema-soft)}
.card h2{font-family:var(--display);font-variation-settings:'SOFT' 50;font-size:1.35rem;font-weight:680;line-height:1.15;margin:0 0 .6rem}
.card .big{font-family:var(--display);font-size:2.4rem;font-weight:760;line-height:1;margin:0 0 .5rem}
.card ul{margin:0;padding-left:1.1rem}
.card li{margin:.2rem 0}
.tally{display:flex;flex-wrap:wrap;gap:1.25rem;margin:0}
.tally dt{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--roast)}
.tally dd{margin:0;font-family:var(--display);font-size:2rem;font-weight:740;line-height:1.1}
.loading,.empty{font-family:var(--mono);color:var(--roast);font-size:.9rem}
footer.site{text-align:center;padding-top:3rem;padding-bottom:3rem;margin-top:3rem;border-top:1px solid var(--crema)}
footer .big{font-family:var(--display);font-variation-settings:'SOFT' 50;font-size:clamp(1.4rem,4vw,2rem);font-weight:650;margin:0 0 .4rem}
footer .small{font-family:var(--mono);font-size:.75rem;color:var(--roast);margin:0}
@media (max-width:640px){header.site .bar{flex-direction:column;align-items:flex-start;gap:.5rem}.stage{padding-top:1.5rem}.actions .btn{flex:1 1 100%;text-align:center}}
