:root{--bg:#0a0c14;--panel:#101320db;--line:#262b42;--text:#e8ecff;--muted:#8e96b8;--accent:#6ec8ff;--mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{min-height:100%}a{color:inherit}h1,h2,h3{margin:0;line-height:1.2}.pad{padding:1rem}.error{color:#ff8a9a;white-space:pre-wrap}.btn{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#1a1f33;border-radius:8px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent)}.btn.on{border-color:var(--accent);background:#1d3a52}.dashboard{max-width:1120px;padding:calc(env(safe-area-inset-top) + 2rem) max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));margin:0 auto}.dash-header{margin-bottom:2rem}.dash-header h1{letter-spacing:-.02em;font-size:clamp(2rem,6vw,3rem)}.tagline{color:var(--muted);margin:.3rem 0 1rem}.track{border-left:3px solid var(--track);margin:2.2rem 0;padding:0 0 0 1rem}.track.planned{opacity:.62}.track-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.track-head h2{font-size:1.25rem}.status{text-transform:uppercase;letter-spacing:.08em;color:var(--track);font-size:11px}.blurb{color:var(--muted);margin:.25rem 0 .9rem}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.card{border:1px solid var(--line);background:#11141f;border-radius:12px;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block}a.card:hover{border-color:var(--track);transform:translateY(-2px)}.card h3{margin:.2rem 0 .35rem;font-size:1rem}.card p{color:var(--muted);margin:0;font-size:13px}.card.upcoming{background:0 0;border-style:dashed}.kind{text-transform:uppercase;letter-spacing:.1em;color:var(--track);font-size:10px}.foot{color:var(--muted);margin-top:3rem;font-size:12px}.stage{touch-action:none;position:fixed;inset:0;overflow:hidden}.stage canvas{display:block}.label-layer{pointer-events:none;position:absolute;inset:0}.scene-label{font:12px var(--mono);white-space:nowrap;background:#0a0c1499;border-radius:4px;padding:1px 6px}.overlay{z-index:2;top:calc(env(safe-area-inset-top) + 12px);left:calc(env(safe-area-inset-left) + 12px);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);border-radius:12px;max-width:min(420px,100vw - 24px);padding:10px 12px;position:fixed}.overlay-top{align-items:center;gap:10px;display:flex}.overlay h1{font-size:1rem}.desc{color:var(--muted);margin:6px 0 0;font-size:13px}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.toolbar:empty{display:none}.warnings{color:#ffb36b;white-space:pre-wrap;font-size:12px}.warnings:empty{display:none}.mono{font:12px/1.45 var(--mono);white-space:pre;margin:0;overflow-x:auto}.stats{color:var(--muted);margin-top:8px}.picked{color:#ffd166;margin-top:4px;font-size:13px}.slider{color:var(--muted);grid-template-columns:7.5rem 1fr 3rem;align-items:center;gap:8px;font-size:13px;display:grid}.toolbar .slider{grid-template-columns:auto 8rem 2.5rem}.slider input{width:100%;accent-color:var(--accent)}.slider output{font-family:var(--mono);color:var(--text);text-align:right}.split .stage{right:360px}.panel{border-left:1px solid var(--line);width:360px;padding:calc(env(safe-area-inset-top) + 14px) calc(env(safe-area-inset-right) + 14px) 24px 14px;background:#0e1120;flex-direction:column;gap:8px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-top:10px;font-size:13px}.panel .mono{border:1px solid var(--line);background:#090b14;border-radius:8px;padding:8px}.note{color:var(--muted);margin:0;font-size:12.5px}.inset-frame{pointer-events:none;border:1px solid #9ad1ff;border-radius:4px;position:absolute}.inset-frame span{font:11px var(--mono);color:#9ad1ff;position:absolute;top:-20px;left:0}@media (width<=760px){.split .stage{bottom:45vh;right:0}.panel{border-left:0;border-top:1px solid var(--line);width:auto;padding-top:12px;top:55vh;left:0}}
