:root{--bg: #0a0e12;--bg-raised: #10161c;--ink: #e8edf1;--ink-dim: #8ea0ac;--accent: #6fd0ff;--border: #1f2a33;--measure: 620px;--serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Inter,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent)}#gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6vh 6vw}#gate[hidden]{display:none}#gate-form{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.gate-label{font-family:var(--mono);font-size:.85rem;color:var(--ink-dim);letter-spacing:.04em;margin:0 0 .5rem}#gate-input{background:var(--bg-raised);border:1px solid var(--border);color:var(--ink);font-family:var(--mono);padding:.6rem .9rem;border-radius:6px;width:220px;text-align:center}#gate-form button{background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);padding:.5rem 1.2rem;border-radius:6px;cursor:pointer}.gate-error{color:#ff8080;font-family:var(--mono);font-size:.8rem;margin:0}.hero{min-height:60vh;display:flex;flex-direction:column;justify-content:center;padding:8vh 6vw;border-bottom:1px solid var(--border)}.kicker{font-family:var(--mono);font-size:.85rem;letter-spacing:.08em;color:var(--ink-dim);text-transform:uppercase;margin:0 0 1rem}.hero h1{font-family:var(--serif);font-size:clamp(2.2rem,6vw,4rem);margin:0 0 .75rem;max-width:16ch}.dek{font-size:1.15rem;color:var(--ink-dim);max-width:46ch;margin:0}#steps{max-width:1100px;margin:0 auto;padding:4vh 6vw 8vh}.step{display:grid;grid-template-columns:minmax(0,var(--measure)) 1fr;gap:4rem;padding:6vh 0;border-bottom:1px solid var(--border);opacity:.55;transition:opacity .4s ease}.step.in-view{opacity:1}.step:last-of-type{border-bottom:none}.step-full{grid-column:1 / -1;margin-top:1rem}.step-full.step-viz{margin-top:0}.step-full p{color:var(--ink-dim);max-width:80ch}.step-num{font-family:var(--mono);color:var(--accent);font-size:.9rem;margin:0 0 .5rem}.step-text h2{font-family:var(--serif);font-size:1.8rem;margin:0 0 1rem}.step-text p{color:var(--ink-dim);margin:0 0 1rem}.step-text strong{color:var(--ink);font-weight:600}.step-text p.todo{color:var(--accent);font-family:var(--mono);font-size:.85rem;border:1px dashed var(--border);padding:.75rem 1rem;border-radius:6px}.step-viz{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;min-height:320px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:1rem;gap:.75rem}.viz-pending{color:var(--ink-dim);font-family:var(--mono);font-size:.8rem;text-align:center;padding:2rem}.scene-canvas{width:100%;height:auto;display:block;border-radius:4px;image-rendering:pixelated}.viz-controls{display:flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.8rem;color:var(--ink-dim)}.viz-controls input[type=range]{flex:1;accent-color:var(--accent)}.viz-controls label{white-space:nowrap}.viz-hint{color:var(--ink-dim);font-family:var(--mono);font-size:.75rem;margin:0}.detector-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem}.detector-btn{background:var(--bg);border:1px solid var(--border);color:var(--ink-dim);font-family:var(--mono);font-size:.75rem;padding:.4rem 0;border-radius:4px;cursor:pointer}.detector-btn.native-broken{border-color:var(--accent);color:var(--accent)}.detector-btn.killed{background:#6b1f1f;color:#ffdada;border-color:#a33}.wipe-wrap{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:4px;cursor:ew-resize;touch-action:none}.wipe-layer{position:absolute;inset:0;width:100%;height:100%}.wipe-after{clip-path:inset(0 0 0 50%)}.wipe-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--accent);pointer-events:none;transform:translate(-1px)}.terra-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.terra-panel .scene-canvas{border-radius:4px}.terra-caption{font-family:var(--mono);font-size:.75rem;color:var(--ink-dim);text-align:center;margin:.5rem 0 0}.coda{max-width:720px;margin:0 auto;padding:10vh 6vw;text-align:center}.coda blockquote{font-family:var(--serif);font-size:1.4rem;margin:0 0 1.5rem;color:var(--ink)}.coda p{color:var(--ink-dim)}footer{display:flex;gap:1.5rem;justify-content:center;padding:4vh 0 6vh;font-family:var(--mono);font-size:.85rem}@media (max-width: 1100px){.step{grid-template-columns:1fr;gap:2rem}}
