:root{--bg:#0e1016;--surface:#171a23;--surface-2:#1f2330;--border:#2a2f3e;--text:#eef0f6;--muted:#9097ab;--accent:#7c5cff;--accent-text:#fff;--good:#3ddc97;--bad:#ff5d73;--star:#ffc94d;--c-actual:#e8ecf5;--c-guess:#6ea8ff;--c-loss:#ff8a4c;--c-m:#ff6bc1;--c-b:#2fd6c3;--c-eta:#b18cff;--c-grad:#4fd8ff;--c-vel:#ffb547;--c-beta:#a6e35a;--radius:14px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Space Grotesk", var(--font);--font-math:"STIX Two Text", "Cambria Math", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#efede7;--border:#dedad0;--text:#1a1c24;--muted:#666b7a;--accent:#5b3df5;--c-actual:#2a2e3a;--c-guess:#2f6fe0;--c-loss:#e5641f;--c-m:#d6339a;--c-b:#0f9c8c;--c-eta:#7a4ee6;--c-grad:#0a93c2;--c-vel:#b86e00;--c-beta:#4a8a10;--star:#f0a800;--good:#0b8a55;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100dvh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}#root{max-width:1040px;margin:0 auto;padding:16px 16px 48px}h1,h2{font-family:var(--font-display);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.btn{border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-weight:600;transition:transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.ghost{background:0 0}.btn:disabled{opacity:.45;cursor:default}.depth-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:3px;display:inline-flex}.depth-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.depth-toggle button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.home-header{justify-content:space-between;align-items:flex-start;gap:16px;margin:24px 0 32px;display:flex}.level,.page{max-width:728px;margin:0 auto}.page.wide{max-width:none}.navbar{justify-content:space-between;align-items:center;gap:16px;padding:4px 0 18px;display:flex}.nav-logo{min-height:44px;font-family:var(--font-display);letter-spacing:-.02em;align-items:center;font-size:22px;font-weight:700;display:inline-flex}.nav-logo span,.hero h1 span{background:linear-gradient(90deg, var(--star), var(--c-m), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text}.nav-links{gap:4px;display:flex}.nav-links a{min-height:44px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text);background:var(--surface-2)}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:24px;margin:24px 0 40px;display:grid}.hero h1{letter-spacing:-.03em;font-size:clamp(32px,6vw,48px);line-height:1.08}.hero-copy p{color:var(--muted);margin:16px 0 22px;font-size:17px;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-figure{margin:0}.hero-figure figcaption{color:var(--muted);text-align:center;margin-top:8px;font-size:13px}.hero-animation{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;display:grid;overflow:hidden}.hero-animation .data-mini{border-right:1px solid var(--border)}.how{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:40px;display:grid}.how-card,.concept-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.how-card h2,.concept-card h2{margin-bottom:6px;font-size:18px}.how-card p,.concept-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.world-preview h2{flex-direction:column;gap:4px;margin-bottom:12px;font-size:22px;display:flex}.world-preview ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.world-preview li a{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;height:100%;padding:10px 12px;font-weight:600;display:flex}.preview-concept{color:var(--muted);font-weight:400}.world-preview .level-num{border-radius:9px;width:30px;height:30px;font-size:15px}.concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.concept-card{flex-direction:column;gap:6px;display:flex}.concept-card .btn{white-space:normal;text-align:left;align-self:flex-start;min-height:44px;margin-top:10px;padding:0 14px;font-size:14px}@media (width<=680px){.hero,.how,.concept-grid{grid-template-columns:1fr}.world-preview ol{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{margin-top:8px}}@media (width<=360px){.world-preview ol{grid-template-columns:minmax(0,1fr)}}.pitch{color:var(--muted);margin:10px 0 0;font-size:17px}.world h2{flex-direction:column;gap:4px;margin-bottom:14px;font-size:22px;display:flex}.level-grid{gap:10px;display:grid}.level-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,transform .15s;display:flex}.level-card:hover{border-color:var(--accent);transform:translateY(-1px)}.level-num{font-family:var(--font-display);background:var(--surface-2);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:grid}.level-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.level-card-body span{color:var(--muted);font-size:14px}.coming{color:var(--muted);text-align:center;margin-top:28px;font-size:14px}.level-header{align-items:center;gap:12px;margin:8px 0 6px;display:flex}.back{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.level-title{flex:1;min-width:0}.level-title h1{font-size:24px}.tagline{color:var(--muted);margin:6px 0 14px}.scene{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.plot{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-height:62dvh;display:block}.plot-bg{fill:var(--surface-2);opacity:.5}.axis{stroke:var(--border);stroke-width:.4px}.axis-note{fill:var(--muted);font-size:3px}.axis-note.end{text-anchor:end}.lit{filter:drop-shadow(0 0 1.2px)}.dot{fill:var(--c-actual);color:var(--c-actual)}.dot.lit{r:2}.square{fill:var(--c-loss);fill-opacity:.28;stroke:var(--c-loss);stroke-width:.3px;color:var(--c-loss);transition:fill-opacity .15s}.square.lit{fill-opacity:.55}.guess-line{stroke:var(--c-guess);color:var(--c-guess);stroke-width:.9px;stroke-linecap:round}.guess-line.lit{stroke-width:1.5px}.best-line{stroke:var(--good);stroke-width:.6px;stroke-dasharray:2 1.5}.handle{cursor:grab;touch-action:none}.handle:active{cursor:grabbing}.handle.off{pointer-events:none;opacity:.4}.handle .hit{fill:#0000}.handle .knob{stroke:var(--surface);stroke-width:.7px}.handle.lit .knob{r:3.4}.curve{fill:none;pointer-events:none;stroke:var(--c-loss);color:var(--c-loss);stroke-width:.8px}.curve.lit{stroke-width:1.3px}.handle.b{color:var(--c-b)}.handle.b .knob{fill:var(--c-b)}.handle.m{color:var(--c-m)}.handle.m .knob{fill:var(--c-m)}.handle.static{cursor:default}.handle.dim{opacity:.3}.tick text,.tick-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:3.2px}.ball.b,.trail.b{fill:var(--c-b);color:var(--c-b)}.ball.m,.trail.m{fill:var(--c-m);color:var(--c-m)}.trail{opacity:.55;stroke:#0000;stroke-width:3px}.target-line{stroke:var(--good);stroke-width:.4px;stroke-dasharray:1.5 1}.target-label{fill:var(--good);font-size:2.6px;font-weight:600}.off-chart{font-size:3.2px;font-weight:700}.off-chart.b{fill:var(--c-b)}.off-chart.m{fill:var(--c-m)}.descent-scene{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;display:grid}.descent-scene .data-mini{border-right:1px solid var(--border)}.data-mini .tick text,.data-mini .axis-note{font-size:4.2px}@media (width<=560px){.descent-scene{--plots-h:max(110px, 100dvh - var(--chrome-h,340px) - 4px);grid-template-columns:1fr}.descent-scene .data-mini{max-height:calc(var(--plots-h) * .42);border-right:0;border-bottom:1px solid var(--border)}.descent-scene .curve-plot{max-height:calc(var(--plots-h) * .58)}@media (height<=640px){.scene.descent-scene .data-mini{display:none}.scene.descent-scene .curve-plot{max-height:var(--plots-h)}}.scene.valley-scene{--plots-h:max(130px, 100dvh - var(--chrome-h,440px) - 4px)}.scene.valley-scene .data-mini,.scene.valley-scene .contour-plot{max-height:calc(var(--plots-h) * .78)}.scene.valley-scene .axis-bars{max-height:calc(var(--plots-h) * .22)}@media (height<=640px){.scene.valley-scene{--plots-h:max(150px, 100dvh - var(--chrome-h,300px) - 4px);grid-template-columns:1fr}.scene.valley-scene .data-mini{display:none}.level:has(.valley-scene,.one-setting-scene) .live-strip{margin-top:6px;padding:4px 8px;font-size:12px}.scene.valley-scene .contour-plot{max-height:calc(var(--plots-h) * .8);margin-inline:auto}.level:has(.valley-scene,.one-setting-scene) .controls .hud{grid-template-columns:minmax(0,1fr);gap:4px;margin-top:6px;display:grid}.level:has(.valley-scene,.one-setting-scene) .controls .eta{flex-direction:row;grid-column:1;align-items:center;gap:6px;min-width:0}.level:has(.valley-scene,.one-setting-scene) .controls .eta-row{flex:1;min-width:0}.level:has(.valley-scene,.one-setting-scene) .controls .eta input[type=range]{flex:1;min-width:96px}.level:has(.valley-scene,.one-setting-scene) .controls .readout-label{letter-spacing:.02em;flex-shrink:0;width:64px;font-size:10px}.level:has(.valley-scene,.one-setting-scene) .controls .nudge{width:30px;height:30px}:is(.level:has(.valley-scene,.one-setting-scene) .controls .eta-color,.level:has(.valley-scene,.one-setting-scene) .controls .beta-color){min-width:2.8ch;font-size:16px}.level:has(.valley-scene,.one-setting-scene) .controls .step-row{justify-self:end;margin-left:0}.level:has(.valley-scene,.one-setting-scene) .controls .step-row .btn{min-height:38px}.level:has(.valley-scene,.one-setting-scene) .depth-toggle button{padding:6px 10px;font-size:13px}.level:has(.valley-scene,.one-setting-scene) .level-title h1{font-size:18px}.scene.valley-scene .axis-bars{max-height:calc(var(--plots-h) * .2)}}.one-setting-scene{--plots-h:max(80px, 100dvh - var(--chrome-h,420px) - 70px)}.one-setting-scene .curve-plot{max-height:var(--plots-h)}.one-setting-scene .tick-label,.one-setting-scene .target-label,.one-setting-scene .axis-note{font-size:5px}.settings-map .tick-label,.settings-map .axis-note{font-size:7px}.controls{z-index:2;padding:0 16px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);margin:0 -16px;position:sticky;bottom:0}.controls .hud{gap:6px 12px;margin:8px 0 0}.controls .label-gloss{display:none}.level-title h1{font-size:20px}.level-title .eyebrow{white-space:nowrap}.tagline{margin:4px 0 10px;font-size:14px}.goal-line{margin-top:-4px;font-size:13px}.level-header .depth-toggle button{padding:6px 10px;font-size:13px}}.valley-scene{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;display:grid}.valley-scene .data-mini{border-right:1px solid var(--border)}.valley-scene .axis-bars{border-top:1px solid var(--border);grid-column:1/-1}.contours polyline{fill:none;stroke:var(--c-loss);stroke-width:.35px;opacity:.85;pointer-events:none}.map-reveal{opacity:0;transition:opacity .6s}.map-reveal.on{opacity:.45}.target-ellipse{fill:color-mix(in srgb, var(--good) 18%, transparent);stroke:var(--good);stroke-width:.5px}.map-path{fill:none;stroke:var(--text);stroke-width:.45px;opacity:.7;pointer-events:none}.compare-path{fill:none;stroke:var(--muted);stroke-width:.45px;stroke-dasharray:1.2 1;pointer-events:none}.ball.map{fill:var(--text);color:var(--text);stroke:var(--surface);stroke-width:.5px}.trail.map{fill:var(--text)}.vel-arrow{stroke:var(--c-vel);color:var(--c-vel);stroke-width:1px;stroke-linecap:round}.vel-arrow.lit{stroke-width:1.2px}.arrow-head.vel{fill:var(--c-vel)}.off-chart.map{fill:var(--bad)}.off-chart.compare{fill:var(--muted);font-size:2.6px;font-weight:600}.hit-target{fill:#0000;stroke:#0000;stroke-width:10px}.axis-bar{fill:var(--c-vel)}.axis-bars.lit .axis-bar{filter:drop-shadow(0 0 1px var(--c-vel))}.beta{color:var(--c-beta)}.eta.beta input[type=range]{accent-color:var(--c-beta)}.beta-color{color:var(--c-beta);text-align:right;min-width:3.2ch;font-size:22px}.result.unlock{border-color:var(--c-beta)}.optimizer-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:4px;margin-bottom:10px;padding:3px;display:flex}.optimizer-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;padding:8px 6px;font-size:14px;font-weight:600}.optimizer-tabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.one-setting-scene{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.valley-panel+.valley-panel{border-left:1px solid var(--border)}.valley-title{justify-content:space-between;align-items:center;gap:6px;padding:8px 10px 0;font-size:13px;font-weight:600;display:flex}.chip{background:color-mix(in srgb, var(--bad) 18%, transparent);color:var(--bad);text-transform:none;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.chip.converged{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.multiplier{color:var(--muted);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:0 10px 10px;font-size:11px;display:grid}.multiplier-label{grid-column:1/-1}.multiplier-track{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.multiplier-fill{background:var(--c-eta);height:100%;transition:width .15s;display:block}.multiplier-value{color:var(--c-eta);font-variant-numeric:tabular-nums;text-align:right;min-width:4ch;font-weight:600}.multiplier.lit .multiplier-fill{filter:drop-shadow(0 0 2px var(--c-eta))}.settings-map{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:14px 0 0;padding:12px 14px}.settings-map figcaption{margin-bottom:6px;font-size:14px}.cell{fill:var(--surface-2);stroke:var(--surface);stroke-width:.15px}.cell.win{fill:var(--good)}.cell-you{stroke:var(--text);stroke-width:.6px}.cell-you.won{fill:var(--good)}.cell-you.lost{fill:var(--bad)}.live-strip{background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:15px}.live-strip .term{white-space:nowrap}.live-strip b{color:var(--text)}.label-gloss{color:var(--muted);font-size:13px}.bar-wrap{flex-direction:column;flex:1;gap:4px;min-width:120px;display:flex}.bar-caption{color:var(--muted);font-size:12px}.error-bar{background:var(--surface-2);border-radius:999px;gap:1px;height:12px;display:flex;overflow:hidden}.error-bar span{background:var(--c-loss);flex-shrink:0;transition:width .1s}.error-bar span:nth-child(odd){opacity:.7}.error-bar.lit{outline:2px solid color-mix(in srgb, var(--c-loss) 50%, transparent)}.tangent{stroke:var(--c-grad);color:var(--c-grad);stroke-width:.7px;stroke-linecap:round}.tangent.lit{stroke-width:1.1px}.arrow-head{fill:var(--c-grad)}.hud{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:14px 0;display:flex}.readout{flex-direction:column;display:flex}.readout-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.sym{text-transform:none;font-family:var(--font-math);font-size:1.2em}.targets{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;gap:8px;font-size:12px;display:flex}.targets .met{color:var(--good);font-weight:600}.readout-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.loss-color{color:var(--c-loss)}.eta-color{color:var(--c-eta);text-align:right;min-width:3.2ch;font-size:22px}.eta{color:var(--c-eta);border-radius:10px;flex-direction:column;flex:260px;gap:4px;display:flex}.eta-row{align-items:center;gap:8px;display:flex}.eta input[type=range]{accent-color:var(--c-eta);flex:1;height:32px}.nudge{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-shrink:0;width:36px;height:36px;font-size:18px}.step-row{align-items:center;gap:14px;margin-left:auto;display:flex}.steps-left{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.hint{background:color-mix(in srgb, var(--c-loss) 12%, transparent);border:1px solid color-mix(in srgb, var(--c-loss) 35%, transparent);border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:15px}.lens{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.lens-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.lens-body p{margin:6px 0;font-size:18px;line-height:1.6}.lens-body.advanced p:not(.lens-note){font-family:var(--font-math);font-size:20px}.lens-body .subst{color:var(--muted);font-variant-numeric:tabular-nums}.lens-body.advanced .subst{font-size:17px}.lens-note{color:var(--muted);font-size:14px!important}.frac{font-size:.85em}.term{color:var(--term);border-bottom:2px dotted color-mix(in srgb, var(--term) 55%, transparent);cursor:pointer;border-radius:3px;padding:0 2px;font-weight:600;transition:background .12s}.term.lit{background:color-mix(in srgb, var(--term) 20%, transparent)}.result{background:var(--surface);border:1px solid var(--good);border-radius:var(--radius);margin-top:14px;padding:20px;animation:.3s ease-out pop}.result.fail{border-color:var(--bad)}.result h2{margin:6px 0 10px;font-size:22px}.result p{margin:0 0 10px;line-height:1.55}.goal-line{color:var(--text);opacity:.85;margin:-6px 0 14px;font-size:14px}.takeaway{font-size:17px}.explain summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.explain[open] summary{margin-bottom:8px}.result-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.stars{color:var(--border);gap:4px;font-size:30px;display:flex}.stars .on{color:var(--star)}.stars.small{flex-shrink:0;gap:1px;font-size:16px}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
