:root { --bg:#0f172a; --panel:#1e293b; --line:#334155; --text:#e2e8f0; --muted:#94a3b8; --accent:#38bdf8; color-scheme:dark; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body { margin:0; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
main { max-width:700px; margin:0 auto; padding:12px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.home { align-self:flex-start; color:var(--accent); text-decoration:none; }
h1 { margin:0; font-size:1.5rem; }
button { font:inherit; color:inherit; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:6px 12px; cursor:pointer; }
button.on, button:hover { border-color:var(--accent); }
.bar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:center; }
.stage { position:relative; line-height:0; }
canvas { border-radius:8px; touch-action:none; display:block; }
#overlay { position:absolute; inset:0; background:rgba(11,18,32,.82); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; line-height:1.4; text-align:center; padding:12px; border-radius:8px; }
#overlay[hidden] { display:none; }
#overlay h2 { margin:0; }
#overlay p { margin:0; color:var(--muted); }
#go { background:var(--accent); color:#0b1220; font-weight:700; padding:8px 22px; }
