:root{--ink:#14110f;--paper:#f3ead8;--dust:#b9ab92;--ember:#e8622c;--gold:#f0b44c;--teal:#3fa396;--mute:#8c8170;--line:#2b2520;--max:42rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font:1.0625rem/1.7 Georgia,"Iowan Old Style",serif;-webkit-font-smoothing:antialiased}
a{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--gold);color:var(--ink);padding:.5rem 1rem;z-index:9}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:baseline;padding:1rem;font:.85rem/1.4 ui-monospace,Menlo,monospace;border-bottom:1px solid var(--line)}
.home{text-decoration:none}.recap{margin:0;color:var(--dust);font-style:italic}
.hero{max-width:60rem;margin:0 auto;padding:4rem 1rem 3rem}
.kicker{font:.8rem ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
h1{font-size:clamp(3.4rem,15vw,10rem);line-height:.9;margin:.2em 0;letter-spacing:-.04em;font-weight:400}
.come{display:inline-block;color:var(--dust);animation:drop 1.4s cubic-bezier(.5,0,.75,0) both}
.back{display:inline-block;color:var(--ember);font-style:italic;animation:rise 1.6s .9s cubic-bezier(.2,1.4,.4,1) both}
@keyframes drop{0%{transform:translateY(-.3em);opacity:0}60%{transform:translateY(.25em);opacity:1}100%{transform:none}}
@keyframes rise{0%{transform:translateY(.6em);opacity:0}100%{transform:none;opacity:1}}
.lede{max-width:var(--max);font-size:1.25rem;color:var(--paper)}
.legend{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{display:inline-block;font:700 .62rem/1 ui-monospace,monospace;letter-spacing:.08em;padding:.3em .5em;border-radius:2px;vertical-align:.15em;margin-right:.3em;color:var(--ink)}
.t-fact{background:#cfd8dc}.t-int{background:var(--gold)}.t-hyp{background:var(--teal)}.t-met{background:#d7a6e0}.t-fic{background:#f08f7a}
.machine{max-width:60rem;margin:0 auto;padding:2rem 1rem;border-top:1px solid var(--line)}
.machine h2,.essay h2,.objections h2{font-weight:400;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.15;margin:.2em 0 .5em}
.stage{position:relative;background:#1c1814;border:1px solid var(--line);border-radius:6px;overflow:hidden}
canvas{display:block;width:100%;height:auto;aspect-ratio:900/420;touch-action:none}
.readout{position:absolute;left:1rem;top:.8rem;display:flex;flex-direction:column;font:.85rem/1.4 ui-monospace,monospace;color:var(--dust);pointer-events:none;max-width:70%}
.readout strong{font:400 1.6rem/1.1 Georgia,serif;color:var(--gold)}
.controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem}
button{font:600 .95rem ui-monospace,monospace;background:transparent;color:var(--paper);border:1px solid var(--dust);padding:.7rem 1rem;border-radius:4px;cursor:pointer;min-height:44px}
button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
button:disabled{opacity:.4;cursor:not-allowed}
.big{background:var(--ember);border-color:var(--ember);color:var(--ink);padding:.9rem 1.6rem;user-select:none;-webkit-user-select:none;touch-action:none}
.big:hover:not(:disabled){color:var(--ink);background:var(--gold);border-color:var(--gold)}
.big.down{background:var(--paper);border-color:var(--paper)}
.snd{font:.9rem ui-monospace,monospace;display:flex;gap:.4rem;align-items:center;min-height:44px}
.snd input{width:1.1rem;height:1.1rem;accent-color:var(--ember)}
.help,.tag-note{font-size:.88rem;color:var(--dust)}
.essay{max-width:var(--max);margin:0 auto;padding:1rem}
.round{padding:3rem 0;border-top:1px solid var(--line)}
.num{font:.78rem ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--ember);margin:0}
.round p{margin:0 0 1.1em}
.closer{font-size:2rem;font-style:italic;color:var(--ember)}
.ledger{margin-top:2rem;padding:1.2rem;border:1px dashed var(--dust);border-radius:6px;background:#1c1814}
.ledger h3{margin:0;font-weight:400;font-size:1.3rem}
.ledger ul{list-style:none;padding:0;margin:.6rem 0}
.ledger li{border-bottom:1px solid var(--line)}
.ledger label{display:flex;gap:.7rem;align-items:center;padding:.55rem 0;cursor:pointer;min-height:44px}
.ledger input{width:1.2rem;height:1.2rem;accent-color:var(--teal);flex:none}
.ledger input:checked+span{color:var(--teal);text-decoration:line-through;text-decoration-color:var(--mute)}
#ledgerMsg{margin:0;color:var(--gold);font-style:italic}
.objections{max-width:var(--max);margin:0 auto;padding:3rem 1rem;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:.8rem 0}
summary{cursor:pointer;font-size:1.1rem;min-height:44px;display:flex;align-items:center}
.foot{text-align:center;padding:3rem 1rem 4rem;border-top:1px solid var(--line)}
.small{font-size:.8rem;color:var(--mute)}
@media (min-width:768px){.hero{padding-top:6rem}.top{padding:1rem 2rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
