:root{--bg: #0c1116;--panel: #131a22;--border: #223041;--text: #dce6f2;--muted: #7d8fa5;--accent: #5fb2ff}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}#app{height:100%}a{color:var(--accent);text-decoration:none}.home{max-width:720px;margin:0 auto;padding:3.5rem 1.25rem 2rem}.home h1{font-size:2.6rem;margin:0;letter-spacing:-.02em}.home .tagline{color:var(--muted);margin:.5rem 0 2.5rem;max-width:46ch}.scene-list{display:grid;gap:.75rem;padding:0;margin:0;list-style:none}.scene-card{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 1.15rem;background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text)}.scene-card:hover{border-color:var(--accent)}.scene-card .meta{color:var(--muted);font-size:.85rem;white-space:nowrap}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:10px;padding:1.5rem}.empty code{color:var(--text);font-size:.85em}footer{margin-top:3.5rem;color:var(--muted);font-size:.8rem}.viewer{position:fixed;top:0;right:0;bottom:0;left:0}.viewer canvas{display:block;width:100%;height:100%}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(.6rem + env(safe-area-inset-top)) .9rem .6rem;background:linear-gradient(rgba(12,17,22,.85),transparent);pointer-events:none}.hud>*{pointer-events:auto}.hud .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.35rem .8rem;font:inherit;font-size:.85rem;cursor:pointer}.hint{position:absolute;bottom:calc(.75rem + env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:var(--muted);font-size:.78rem;pointer-events:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:.9rem;text-align:center;background:var(--bg)}.overlay .bar{width:min(280px,70vw);height:4px;border-radius:2px;background:var(--border);overflow:hidden}.overlay .bar>div{height:100%;width:0;background:var(--accent);transition:width .15s}.overlay .status{color:var(--muted);font-size:.85rem}
