:root{--color-front:#4fd3e6;--color-rear:#d99a4e;--color-danger:#ff6b57;--font-system:system-ui, -apple-system, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;--page-bg:#f7f1e6;--page-bg-alt:#efe4d2;--page-text:#211d17;--page-text-dim:#6d6457;--page-border:#140f051f;--page-link:#0e6f7a;--color-bg:#1a1d22;--color-bg-alt:#21252c;--color-panel:#23272f;--color-text:#f2efe8;--color-text-dim:#a8a49c;--color-border:#ffffff1f}*{box-sizing:border-box}html,body{background:var(--page-bg);min-height:100%;color:var(--page-text);font-family:var(--font-system);margin:0}a{color:var(--page-link)}h1,h2,h3{letter-spacing:-.01em;font-weight:800;line-height:1.15}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.intro-canvas{width:100%;height:100%;display:block}#intro_container{min-height:160vh;position:relative}#intro{background:#0c0d10;justify-content:center;align-items:center;height:100vh;min-height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.intro-background{z-index:0;border:0;width:100%;height:100%;position:absolute;inset:0}#intro:after{content:"";z-index:1;pointer-events:none;opacity:var(--intro-shadow,0);background:linear-gradient(#0000 35%,#000000b3 100%);transition:opacity .12s linear;position:absolute;inset:0}.intro-copy{z-index:2;text-align:center;color:#f7f4ec;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0d108c;border-radius:1rem;max-width:40rem;margin:0 1.5rem;padding:2rem 2.25rem;position:relative}.intro-copy h1{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:0 0 .85rem;font-size:clamp(2rem,5vw,3.2rem);display:flex}.brand-logo{filter:invert();flex-shrink:0;width:2.6rem;height:2.6rem}.intro-thesis{color:#d8d3c6;margin:0 0 1.4rem;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.5}.scroll-cue{letter-spacing:.04em;text-transform:uppercase;color:#a8a49c;margin:0;font-size:.85rem;animation:1.8s ease-in-out infinite scroll-cue-bob}@keyframes scroll-cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(.35rem)}}main{z-index:2;background:var(--page-bg);position:relative}.story-module,.sandbox{max-width:62rem;margin:0 auto;padding:5rem 1.5rem}.story-module+.story-module,.sandbox{border-top:1px solid var(--page-border)}.story-copy{max-width:38rem;margin:0 0 2rem}.story-copy h2{margin:0 0 .85rem;font-size:clamp(1.5rem,3vw,2.1rem)}.story-copy p{color:var(--page-text-dim);margin:0;font-size:1.08rem;line-height:1.6}.story-explanation{max-width:38rem;color:var(--page-text-dim);margin:1.75rem 0 0;font-size:1.05rem;font-style:italic;line-height:1.55}.experiment-card{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--color-bg);color:var(--color-text);border-radius:1rem;padding:1.1rem;box-shadow:0 18px 40px -20px #140f0573}.experiment-stage{aspect-ratio:16/10;background:var(--color-bg);border-radius:.6rem;min-height:220px;position:relative;overflow:hidden}.experiment-stage canvas{width:100%;height:100%;display:block}.module-overlay{border:1px solid var(--color-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#1a1d22c7;border-radius:.5rem;padding:.55rem .75rem;position:absolute;top:.75rem;left:.75rem}.module-overlay p{font-variant-numeric:tabular-nums;margin:.15rem 0;font-size:.82rem}.module-overlay .state-label{margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.state-label[data-state=ready]{color:var(--color-text-dim)}.state-label[data-state=finished],.state-label[data-state=stable]{color:var(--color-text)}.state-label[data-state=understeer]{color:var(--color-front)}.state-label[data-state=oversteer]{color:var(--color-rear)}.state-label[data-state=slide]{color:var(--color-danger)}#state-explanation,[data-testid=state-explanation]{color:var(--color-text-dim);margin:0;font-size:.85rem;line-height:1.4}.module-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.option-group{flex-wrap:wrap;gap:.4rem;display:flex}.option-button{background:var(--color-bg-alt);min-height:2.5rem;color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:.4rem;flex:auto;padding:0 .9rem;font-family:inherit;font-size:.85rem}.option-button[aria-pressed=true]{border-color:var(--color-front);color:var(--color-front);background:#4fd3e61f}.option-button:focus-visible{outline:2px solid var(--color-front);outline-offset:1px}.option-button:disabled{cursor:not-allowed;opacity:.6}.run-controls{align-items:center;gap:.6rem;display:flex}.run-button{border:1px solid var(--color-front);background:var(--color-front);color:#0c1214;cursor:pointer;border-radius:.5rem;min-height:2.6rem;padding:0 1.3rem;font-family:inherit;font-size:.9rem;font-weight:700}.run-button:disabled{cursor:not-allowed;opacity:.6}.run-button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.reset-button{min-height:2.6rem;color:var(--color-text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;padding:0 .9rem;font-family:inherit;font-size:.85rem;text-decoration:underline}.reset-button:focus-visible{outline:2px solid var(--color-front);outline-offset:2px}.module-result{min-height:1.4em;color:var(--color-text);margin:.85rem 0 0;font-size:.95rem;line-height:1.5}.sandbox-sentence{margin:0 0 1rem;font-size:clamp(1.1rem,2.4vw,1.4rem);line-height:2.1}.sentence-select{font:inherit;color:var(--color-front);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:.35rem;margin:0 .15rem;padding:.1rem .4rem;font-weight:700}.sentence-select:focus-visible{outline:2px solid var(--color-front);outline-offset:1px}details.advanced-setup,details.telemetry{border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:.5rem;margin:.9rem 0;padding:.65rem .85rem}details.advanced-setup summary,details.telemetry summary{cursor:pointer;color:var(--color-text);font-size:.85rem;font-weight:700}details.advanced-setup label{color:var(--color-text-dim);align-items:center;gap:.6rem;margin-top:.6rem;font-size:.85rem;display:flex}.panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:.5rem;padding:.65rem .75rem}.panel h3{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-dim);margin:0 0 .4rem;font-size:.7rem}.panel p{font-variant-numeric:tabular-nums;margin:.25rem 0;font-size:.85rem}details.telemetry{flex-direction:column;gap:.6rem;display:flex}details.telemetry .panel{margin-top:.6rem}details.telemetry .panel:first-of-type{margin-top:.75rem}.axle-row{align-items:center;gap:.5rem;margin:.3rem 0;display:flex}.axle-row .axle-name{flex-shrink:0;width:3.4rem;font-size:.8rem}.axle-row.front .axle-name{color:var(--color-front)}.axle-row.rear .axle-name{color:var(--color-rear)}.axle-row .axle-value{font-variant-numeric:tabular-nums;font-size:.85rem}details.panel[data-testid=model-assumptions]{margin-top:.9rem}details.panel summary{cursor:pointer;color:var(--color-text-dim);font-size:.8rem}details.panel p{color:var(--color-text-dim);font-size:.78rem;line-height:1.45}@media (width<=820px){.story-module,.sandbox{padding:3.25rem 1.1rem}.experiment-stage{aspect-ratio:4/3}.module-controls{flex-direction:column;align-items:stretch}.run-controls{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.scroll-cue{animation:none}#intro:after{transition:none}}
