:root{--bg:#0A0A0F;--bg2:#0F1419;--card:rgba(255,255,255,.035);--card2:rgba(255,255,255,.06);--line:rgba(255,255,255,.09);--fg:#E8EDF3;--mut:#9AA7B6;--acc:#F59E0B;--acc2:#00D4AA;--ind:#818CF8;--ok:#34D399;--bad:#F87171;--warn:#FBBF24;--onacc:#0A0A0F;--glow:rgba(245,158,11,.35);--disp:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--body:"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r:14px;--ease:cubic-bezier(.2,.8,.2,1)}html[data-theme=light]{--bg:#FAFBFC;--bg2:#F1F5F9;--card:#fff;--card2:#F8FAFC;--line:rgba(15,23,42,.1);--fg:#0F172A;--mut:#475569;--acc:#B45309;--acc2:#0F766E;--ind:#4F46E5;--ok:#15803D;--bad:#B91C1C;--warn:#92400E;--onacc:#fff;--glow:rgba(180,83,9,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(245,158,11,.08),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(0,212,170,.06),transparent 60%),var(--bg);color:var(--fg);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--acc2)}a:hover{color:var(--acc)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--acc);color:var(--onacc);padding:6px 10px;z-index:9}.top{display:flex;align-items:center;gap:10px;max-width:1240px;margin:0 auto;padding:14px 20px;font-size:.9em}.home{color:var(--fg);text-decoration:none;font-family:var(--disp);font-weight:600}.crumb{color:var(--mut)}.grow{flex:1}.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:4px 12px;color:var(--mut);font:12px var(--mono)}.dot{width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 0 var(--glow);animation:pulse 2s infinite}.ready .dot{background:var(--ok)}.icon{background:var(--card2);border:1px solid var(--line);color:var(--fg);border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:18px}.hero{max-width:1240px;margin:0 auto;padding:10px 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center}.eyebrow{font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc2);margin:0}h1{font:700 clamp(2.1rem,4.6vw,3.6rem)/1.05 var(--disp);margin:.3em 0;letter-spacing:-.02em;background:linear-gradient(90deg,var(--fg),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}.lede{font-size:1.1em;color:var(--fg)}.hint{color:var(--mut);font-size:.95em}.hero-kpi{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.hero-kpi div,.kpi div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 14px;min-width:120px}.hero-kpi b,.kpi b{display:block;font:600 1.35em var(--disp);font-variant-numeric:tabular-nums}.hero-kpi span,.kpi span{color:var(--mut);font-size:.78em}.hero-viz{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 20px 60px -30px var(--glow)}#stack{width:100%;height:auto;display:block}.lvl{cursor:pointer;outline:none}.lvl rect.bg{fill:var(--card2);stroke:var(--line);stroke-width:1.2;transition:fill .3s var(--ease),stroke .3s var(--ease)}.lvl:hover rect.bg,.lvl:focus-visible rect.bg{stroke:var(--acc);fill:var(--card)}.lvl text{fill:var(--fg);font:600 15px var(--disp)}.lvl text.s{fill:var(--mut);font:12px var(--body)}.lvl text.n{fill:var(--acc);font:600 12px var(--mono)}.lvl .open{fill:var(--acc2);font:600 12px var(--mono)}.lvl.lit rect.bg{stroke:var(--acc);fill:var(--glow)}.lvl.src rect.bg{stroke:var(--acc2);stroke-width:2}.wire{stroke:var(--line);stroke-width:2}.spark{fill:var(--acc);filter:drop-shadow(0 0 6px var(--acc))}.rsi{margin:6px 0 0}.rsi figcaption{color:var(--mut);font-size:.78em;margin:0 4px}#rsi{width:100%;height:auto}.ax{stroke:var(--line)}.axl{fill:var(--mut);font:11px var(--body)}.curve{fill:none;stroke-width:2.5;stroke-linecap:round}nav#tabs{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:1240px;margin:0 auto;padding:10px 20px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}nav#tabs button{flex:none;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:7px 14px;border-radius:99px;cursor:pointer;font:500 .88em var(--body);transition:all .2s var(--ease);position:relative}nav#tabs button.seen:after{content:"";position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--acc2)}nav#tabs button.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}.progress{max-width:1240px;margin:0 auto;height:3px;background:var(--line)}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc2),var(--acc));transition:width .6s var(--ease)}main{max-width:1240px;margin:0 auto;padding:0 20px 30px;outline:none}main>div{animation:enter .45s var(--ease)}section.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin:20px 0}section.card h2{font:600 1.6em/1.2 var(--disp);margin:0 0 .4em;letter-spacing:-.01em}section.card h3{font:600 1.1em var(--disp)}.why{color:var(--mut);font-size:.95em;border-left:3px solid var(--acc2);padding-left:12px}.paper{display:inline-block;font:12px var(--mono);border:1px solid var(--line);border-radius:99px;padding:2px 10px;text-decoration:none;margin-left:6px}textarea,pre,code,input,select{font:13px/1.5 var(--mono)}code{color:var(--acc2)}textarea,input,select{background:var(--bg2);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}textarea{width:100%;min-height:150px}pre{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px;overflow:auto;max-height:380px;white-space:pre-wrap;word-break:break-word}button.act{background:var(--acc);color:var(--onacc);border:0;border-radius:10px;padding:9px 16px;cursor:pointer;font:600 .92em var(--body);margin:4px 8px 4px 0;transition:transform .15s var(--ease),box-shadow .2s}button.act:hover{transform:translateY(-1px);box-shadow:0 6px 20px -6px var(--glow)}button.act:active{transform:none}button.act.alt{background:transparent;color:var(--fg);border:1px solid var(--line)}.row{display:flex;gap:16px;flex-wrap:wrap}.row>*{flex:1 1 340px;min-width:0}.kpi{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}table{border-collapse:collapse;width:100%;font-size:.9em}td,th{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}th{color:var(--mut);font-weight:500}.tw{overflow-x:auto}.est{font:11px var(--mono);background:#fbbf2424;color:var(--warn);border-radius:6px;padding:1px 6px;margin-left:6px}svg text{font:11px var(--body);fill:var(--fg)}label{margin-right:10px;color:var(--mut);font-size:.92em}.ed{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg2);min-height:120px}.ed .cm-editor{font-size:13px}.ed .cm-gutters{background:transparent;border:0}.pane-h{display:flex;justify-content:space-between;align-items:baseline;margin:4px 2px}.pane-h b{font:600 .9em var(--disp)}.pane-h span{color:var(--mut);font-size:.8em}.gears{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.gear{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:4px 12px;font:12px var(--mono);color:var(--mut);transition:all .3s var(--ease)}.gear svg{width:16px;height:16px}.gear.on{color:var(--onacc);background:var(--acc);border-color:var(--acc);box-shadow:0 0 18px var(--glow)}.gear.on svg{animation:spin 1.2s linear infinite}.rank{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px;max-height:340px;overflow:auto}.rank li{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font:12px var(--mono);animation:enter .3s var(--ease) both}.rank li.no{opacity:.55}.rank li.yes{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok),0 0 20px -6px var(--ok);opacity:1}.chart{width:100%;height:auto}.sc .node rect{fill:var(--card2);stroke:var(--line);transition:all .35s var(--ease)}.sc .node.on rect{fill:var(--glow);stroke:var(--acc);stroke-width:2}.sc .node text{fill:var(--fg);font:600 11px var(--mono)}.sc .node text.c{fill:var(--mut);font:10px var(--mono)}.sc .edge{stroke:var(--mut);opacity:.5;fill:none}.sc .edge.on{stroke:var(--acc);opacity:1;stroke-width:2}.log{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto;font:12px var(--mono)}.log li{padding:4px 8px;border-left:2px solid var(--line);animation:enter .3s var(--ease) both}.log li.on{border-color:var(--acc);background:var(--card2)}.lesson{list-style:none;padding:0;counter-reset:s;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.lesson li{counter-increment:s;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:14px 14px 14px 52px;position:relative;transition:border-color .2s}.lesson li:before{content:counter(s);position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line);font:600 12px var(--mono)}.lesson li.seen:before{background:var(--acc2);color:var(--onacc);content:"✓"}.lesson li:hover{border-color:var(--acc)}.lesson a{font-weight:600}.stepnav{display:flex;justify-content:space-between;gap:10px;margin:8px 0 0}.counter{font-variant-numeric:tabular-nums}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--glow)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}footer{max-width:1240px;margin:0 auto;padding:10px 20px 40px;color:var(--mut);font-size:.85em}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-viz{order:-1}}@media(max-width:560px){section.card{padding:16px}.top .crumb{display:none}.hero-kpi div{min-width:0;flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.ed .cm-editor{max-height:280px}.ed .cm-scroller{overflow:auto}#tsrc .cm-editor{max-height:420px}code,pre,textarea,input,select,.cm-editor,.rank li,.log{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}@media(max-width:900px){.hero-viz{order:0}}@media(max-width:560px){#build{display:none}.ready .badge:after{content:"wasm32 ready"}.badge{padding:4px 10px}}a.act{text-decoration:none;display:inline-block}#rsi-e{width:100%;height:auto}.ed .cm-gutters,.ed .cm-lineNumbers .cm-gutterElement{color:#a3adbd!important}html[data-theme=light] .ed,html[data-theme=light] .ed .cm-editor{background:#fff}html[data-theme=light] .ed .cm-gutters,html[data-theme=light] .ed .cm-lineNumbers .cm-gutterElement{color:#5b6475!important;background:#fff}
