:root{color-scheme:dark;--bg: #111514;--surface: #191e1c;--line: #343c38;--text: #f1f4ef;--muted: #a6b3ac;--accent: #b8e3cd;--mono: "IBM Plex Mono", ui-monospace, monospace;font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px}#app{max-width:1360px;margin:auto;padding:30px 40px 24px}.hero{margin-bottom:24px}.masthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow,.local-note{margin:0;font:11px var(--mono);letter-spacing:.09em}.eyebrow{text-transform:uppercase;color:var(--accent)}.local-note{color:var(--muted);letter-spacing:0}h1{margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.08;letter-spacing:-.045em}.arrow{color:var(--accent);font-weight:400}.tagline{max-width:680px;margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.55;text-wrap:pretty}.tagline strong{color:var(--text);font-weight:500}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:40px;align-items:start}.layout:focus{outline:none}h2,h3{margin:0;font-weight:500;letter-spacing:-.02em}h2{font-size:19px}h3{font-size:16px}.stage{min-width:0}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.stage-meta{display:flex;gap:20px;font:11px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}#fps{color:var(--accent)}.canvas-wrap{position:relative;display:grid;place-items:center;padding:20px;border:1px solid var(--line);border-radius:12px;background:#0b100e}#viz{display:block;width:min(100%,max(320px,calc(100dvh - 410px)));aspect-ratio:1;height:auto;background:#0b100e;border-radius:5px}.rec-badge{position:absolute;top:32px;left:32px;border-radius:4px;padding:6px 10px;background:#f4c0b1;color:#311711;font:600 11px var(--mono);letter-spacing:.12em}.stage-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;padding:32px;background:#111514f2;border-radius:12px;color:#f4c0b1;text-align:center;line-height:1.6}.transport{display:flex;gap:10px;align-items:center;margin:16px 0 12px}.btn,.chip,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:6px;background:#222925;color:var(--text);font:500 14px Outfit,system-ui,sans-serif;min-height:44px;padding:10px 16px}.btn,.chip{cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;white-space:nowrap}.btn:hover,.chip:hover{background:#303a34;border-color:#6f8478}.btn:active,.chip:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#13271d}.btn.primary:hover{background:#d0efdf;border-color:#d0efdf}.btn.ghost{background:transparent}.btn.ghost:hover{background:#252e28}.btn[aria-pressed=true],.chip[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#293b30}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}:where(button,summary,select,input,pre,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.record{flex:1;display:flex;justify-content:center;gap:22px}.clip-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding:8px;min-width:60px}.hint{margin:0;color:var(--muted);font-size:13px;line-height:1.6;text-wrap:pretty}.status{color:var(--accent);overflow-wrap:anywhere}.status:not(:empty){margin-top:10px}.playback{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.playback video{display:block;width:100%;max-width:280px;border-radius:6px}.about{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.about h2{font-size:14px;margin-bottom:8px}.about .hint{max-width:65ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.panel-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{margin-bottom:20px}.panel-heading .btn{font-size:13px;display:flex;gap:14px;align-items:center}.panel-block+.panel-block{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.section-note{color:var(--muted);font:10px var(--mono);font-weight:400;letter-spacing:0}.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.chip{padding:8px 4px;min-height:40px;background:transparent;font-size:13px}.morph-guide{margin-top:8px}.row{display:flex;gap:10px}.row .btn{flex:1}.endpoint-actions{margin:12px 0}.speed,.morph{display:grid;gap:4px;font-size:12px;color:var(--muted)}.speed{margin-top:12px}.speed>span{display:flex;justify-content:space-between}#speed-val,#morph-readout{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums}.endpoints{display:flex;justify-content:space-between;gap:10px;margin:4px 0 16px;font:10px var(--mono);color:var(--muted)}.lerp{width:100%}.mode{margin-top:12px;font-size:12px}input[type=range]{width:100%;min-width:0;height:30px;margin:0;accent-color:var(--accent);cursor:pointer}summary{cursor:pointer;font-size:15px;font-weight:500}summary .section-note{float:right;padding-top:4px}.disclosure[open] summary{margin-bottom:20px}.sliders{display:grid;gap:8px}.slider-row{display:grid;grid-template-columns:26px 44px minmax(0,1fr) 38px;gap:8px;align-items:center;font:10px var(--mono);color:var(--muted)}.slider-row .val{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.code{margin:0 0 16px;padding:16px;border:1px solid var(--line);background:var(--bg);border-radius:6px;font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.keys{margin-top:24px;font-size:11px}kbd{display:inline-block;border:1px solid #46534b;border-radius:3px;padding:1px 5px;font:10px var(--mono);color:var(--text)}.colophon{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font:11px var(--mono)}.skip-link{position:fixed;top:12px;left:12px;z-index:1;transform:translateY(-150%);padding:12px 18px;color:#13271d;background:var(--accent);border-radius:6px}.skip-link:focus{transform:none}@media (min-width: 861px){.stage{position:sticky;top:24px}}@media (max-width: 1100px){#app{padding-inline:28px}.layout{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr)}.transport{flex-wrap:wrap}.record{flex-basis:45%}}@media (max-width: 860px){#app{padding:24px}.layout{grid-template-columns:1fr;gap:28px}#viz{width:min(100%,520px)}.transport{flex-wrap:nowrap}.record{flex-basis:auto}.about{margin-top:24px}}@media (max-width: 480px){#app{padding:20px 20px 24px}.masthead{margin-bottom:20px}.local-note{display:none}.eyebrow{font-size:10px}h1{font-size:32px}.tagline{font-size:14px;line-height:1.5}.hero{margin-bottom:24px}h2{font-size:17px}.stage-heading{margin-bottom:12px}.stage-meta{gap:10px;font-size:9px}.canvas-wrap{padding:10px}.transport{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.clip-label{justify-content:flex-end}.record{gap:12px}.btn{padding-inline:12px}.panel{padding:20px}.chip{min-height:44px}.panel-block+.panel-block{margin-top:20px;padding-top:20px}.about{margin-top:20px;padding-top:20px}.playback{grid-template-columns:1fr}.rec-badge{top:20px;left:20px}.keys{line-height:2}.colophon{line-height:1.7}}@media (prefers-reduced-motion: reduce){.btn,.chip{transition:none}}
