:root{--paper:#fafaf7;--card:#f1f2ee;--ink:#17201e;--mute:#566360;--line:#d3d8d3;--acc:#0b6b63;--acc-ink:#ffffff;--hash:#8a9690;--display:"Newsreader",Georgia,"Times New Roman",serif;--body:"Newsreader",Georgia,serif}
@media (prefers-color-scheme:dark){:root{--paper:#0e1513;--card:#161f1c;--ink:#e9efec;--mute:#9db0aa;--line:#26342f;--acc:#4fd1c0;--acc-ink:#0e1513;--hash:#5f7a72;color-scheme:dark}}
body{font-size:1.2rem;line-height:1.65;font-variation-settings:"opsz" 18}
.top{border-bottom:1px solid var(--ink)}
.mark{font-weight:600;font-style:italic;letter-spacing:-.01em;font-size:1.3rem}
.mark b{font-style:normal}
.top nav a,.lang a,.label,.kicker,.ticker,.ledger,.puzzle .stat span,.puzzle select,.puzzle button,.tags span{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace}
.top nav a{font-size:.8rem}
.kicker{color:var(--mute);letter-spacing:.2em}
.hero{text-align:left}
.giant{font-family:var(--display);font-weight:300;font-size:clamp(5rem,26vw,18rem);letter-spacing:-.055em;line-height:.8;font-variation-settings:"opsz" 72}
.giant span{font-style:italic;font-weight:300;color:var(--acc);letter-spacing:-.03em}
.thesis .st{font-weight:400;font-style:italic;font-size:clamp(1.9rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.02em;font-variation-settings:"opsz" 60}
.thesis p{font-size:1.25rem}
.ticker{border-block:1px solid var(--ink)}
.sec{border-bottom:1px solid var(--ink)}
.sec h2{font-weight:400;font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:-.025em;line-height:1.02;font-variation-settings:"opsz" 60}
.sec h2::first-letter{font-style:italic;color:var(--acc)}
.sec h3{font-weight:600;font-size:1.25rem}
.sec p:first-of-type:not(.label):not(.mute)::first-letter{font-size:3.4em;line-height:.8;float:left;padding:.07em .1em 0 0;color:var(--acc);font-weight:500}
.label{color:var(--acc);font-weight:500}
.figs{border-top:1px solid var(--ink)}
.fig b{font-weight:300;letter-spacing:-.05em;font-variation-settings:"opsz" 72}
.fig b em{font-style:italic}
.three > div{border-top:1px solid var(--ink)}
.steps li:first-child{border-top-color:var(--ink)}
.steps li::before{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.8rem}
.puzzle{background:var(--ink);color:var(--paper)}
.puzzle strong{font-weight:500;font-style:italic;font-size:1.4rem}
.puzzle .stat b{font-weight:400}
.warn{border:0;border-left:3px solid var(--acc);background:var(--card);font-style:italic}
.cards{border-top:1px solid var(--ink)}
.cards .num{font-weight:300;font-variation-settings:"opsz" 72}
.more{font-weight:500;font-style:italic;border-bottom:1px solid var(--acc)}
.tags span{border-color:var(--line)}
