:root{
  --paper:#eceff3;--card:#f8f9fb;--ink:#0d1b2a;--mute:#4f5d6e;--line:#c9d2dc;--acc:#2b3cff;--acc-ink:#ffffff;--hash:#8493a6;
  --display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#0a1020;--card:#101a31;--ink:#e8edf6;--mute:#93a1b8;--line:#22314f;--acc:#8c98ff;--acc-ink:#0a1020;--hash:#5d6d88;color-scheme:dark}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-underline-offset:3px}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}

.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.mark{font:700 1.15rem var(--display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.mark b{color:var(--acc);font-weight:700}
.top nav{display:flex;gap:18px;overflow-x:auto;white-space:nowrap;min-width:0}
.top nav a{color:var(--mute);text-decoration:none;font-size:.9rem}
.top nav a:hover{color:var(--acc)}
.lang{display:flex;gap:2px;font:500 .8rem var(--mono)}
.lang a{color:var(--mute);text-decoration:none;padding:4px 8px;border:1px solid transparent;border-radius:4px}
.lang a[aria-current]{color:var(--acc-ink);background:var(--acc)}
.lang a:hover:not([aria-current]){border-color:var(--line)}

.hero{padding-block:clamp(40px,8vw,96px) 0}
.kicker{font:500 .8rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 18px}
.giant{font:800 clamp(5.2rem,24vw,17rem)/.82 var(--display);letter-spacing:-.06em;margin:0;font-variation-settings:"opsz" 96;text-wrap:balance}
.giant span{color:var(--acc)}
.thesis{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 48px;align-items:end;margin-top:clamp(28px,5vw,56px)}
.thesis .st{font:700 clamp(1.7rem,4.4vw,3rem)/1.06 var(--display);letter-spacing:-.03em;margin:0;text-wrap:balance}
.thesis p{margin:0;color:var(--mute);font-size:1.15rem}

.ticker{margin-top:clamp(32px,6vw,64px);border-block:1px solid var(--line);overflow:hidden;font:400 .85rem/1 var(--mono);color:var(--hash);white-space:nowrap;padding-block:14px}
.ticker div{display:inline-block;animation:slide 60s linear infinite}
.ticker i{font-style:normal;color:var(--acc);font-weight:600}
.ticker span{margin-right:2.2em}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}html{scroll-behavior:auto}}

.sec{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:12px 48px;padding-block:clamp(40px,7vw,88px);border-bottom:1px solid var(--line)}
.label{font:500 .78rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding-top:.7rem;margin:0}
.sec h2{font:700 clamp(1.8rem,4.2vw,2.8rem)/1.04 var(--display);letter-spacing:-.03em;margin:0 0 22px;text-wrap:balance}
.sec h3{font:700 1.1rem var(--display);margin:0 0 6px;letter-spacing:-.01em}
.sec p{margin:0 0 14px;max-width:62ch}
.mute{color:var(--mute)}

.ledger{margin-top:28px;border:1px solid var(--line);background:var(--card);font:400 .9rem/1.5 var(--mono);max-width:640px;overflow-x:auto}
.ledger .row{display:grid;grid-template-columns:3.2rem 1fr auto;gap:4px 16px;padding:12px 16px;border-bottom:1px solid var(--line);min-width:420px}
.ledger .row:last-child{border:0}
.ledger .n{color:var(--acc);font-weight:600}
.ledger .tx{color:var(--ink)}
.ledger .h{color:var(--hash);text-align:right}
.ledger .row small{grid-column:2/4;color:var(--hash);font-size:.78rem}

.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.fig{padding:22px 24px 26px 0;border-bottom:1px solid var(--line)}
.fig:nth-child(odd){border-right:1px solid var(--line)}
.fig:nth-child(even){padding-left:24px}
.fig b{display:block;font:800 clamp(2.6rem,7vw,5rem)/.95 var(--display);letter-spacing:-.05em;color:var(--acc);font-variant-numeric:tabular-nums}
.fig b em{font-style:normal;font-size:.4em;letter-spacing:0;margin-left:.15em;color:var(--ink)}
.fig span{display:block;margin-top:10px;font-weight:600}
.fig p{margin:4px 0 0;color:var(--mute);font-size:.95rem}

.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:8px}
.three > div{border-top:2px solid var(--ink);padding-top:14px}
.three p{color:var(--mute);font-size:.98rem}

.steps{list-style:none;margin:0;padding:0;counter-reset:s;max-width:62ch}
.steps li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);font:600 1.3rem var(--mono);color:var(--acc)}
.steps li:first-child{border-top:1px solid var(--ink)}

.puzzle{margin-top:28px;background:var(--ink);color:var(--paper);padding:clamp(18px,3vw,32px);max-width:760px}
.puzzle .hd{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin-bottom:16px}
.puzzle .hd strong{font:700 1.2rem var(--display)}
.puzzle .ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.puzzle select,.puzzle button{font:500 .9rem var(--mono);padding:9px 14px;border-radius:0;border:1px solid color-mix(in srgb,var(--paper) 45%,transparent);background:transparent;color:var(--paper);cursor:pointer}
.puzzle button{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:600}
.puzzle option{color:#000}
.puzzle .hash{font:500 clamp(.8rem,2.6vw,1.15rem)/1.3 var(--mono);word-break:break-all;min-height:2.7em;opacity:.95}
.puzzle .hash i{font-style:normal;background:var(--acc);color:var(--acc-ink);padding:0 1px}
.puzzle .in{font:.8rem var(--mono);opacity:.65;margin:8px 0 0;word-break:break-all}
.puzzle .stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--paper) 25%,transparent)}
.puzzle .stat b{display:block;font:700 1.35rem var(--display);font-variant-numeric:tabular-nums}
.puzzle .stat span{font-size:.78rem;opacity:.7}
.puzzle .res{margin:16px 0 0;font-size:1rem;min-height:3.2em}

.warn{border:2px solid var(--ink);padding:22px 26px;max-width:700px;background:var(--card)}
.warn ul{margin:0;padding-left:20px}
.warn li{margin-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--ink)}
.cards > div{padding:20px 22px 22px 0;border-bottom:1px solid var(--line)}
.cards p{margin:0;color:var(--mute);font-size:.96rem}
.cards .num{font:800 2.1rem/1 var(--display);letter-spacing:-.04em;color:var(--acc);margin-bottom:8px}
code{font:.88em var(--mono);background:var(--card);border:1px solid var(--line);padding:1px 6px;word-break:break-all}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tags span{font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:4px 10px}
.more{display:inline-block;margin-top:8px;font:700 1.15rem var(--display);color:var(--ink);text-decoration:none;border-bottom:3px solid var(--acc);padding-bottom:2px}
.more:hover{color:var(--acc)}
footer{padding-block:40px 64px;color:var(--mute);font-size:.9rem;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}

@media (max-width:760px){
  .thesis,.sec{grid-template-columns:minmax(0,1fr)}
  .sec{gap:6px}
  .label{padding-top:0}
  .three{grid-template-columns:minmax(0,1fr)}
  .figs{grid-template-columns:minmax(0,1fr)}
  .fig:nth-child(odd){border-right:0}
  .fig:nth-child(even){padding-left:0}
  .puzzle .stat{grid-template-columns:repeat(3,minmax(0,1fr))}
  .top nav{display:none}
}
