:root{--bg:#0b0f14;--ink:#e8eef7;--muted:#8b97a8;--accent:#7cf0c2;--card:#121922;--border:#1c2530;--font:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;max-height:100dvh;color:var(--ink);font-family:var(--font);overscroll-behavior:none;margin:0;overflow:hidden}body[data-screen=playing]{touch-action:none;-webkit-user-select:none;user-select:none}#app{height:100%;min-height:0;max-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.hud{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 16px 4px;display:none}body[data-screen=playing] .hud{display:grid}.hud .title{letter-spacing:.08em;text-transform:lowercase;color:var(--accent);text-align:center;margin:0;font-size:16px;font-weight:650}#ping{letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.rotate{color:var(--accent)}.score{align-items:baseline;gap:10px;display:flex}.score.left{justify-content:flex-start}.score.right{justify-content:flex-end}.score strong{min-width:1.5ch;font-size:32px;line-height:1}.score .name{color:var(--muted);font-size:14px}.hint{color:var(--muted);text-align:center;flex:none;margin:0 16px 6px;font-size:13px;display:none}body[data-screen=playing] .hint{display:block}.stage{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex:1 1 0;min-width:0;min-height:0;margin:8px 12px 12px;position:relative;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.overlay{touch-action:auto;background:#0b0f14b8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;width:min(420px,100%);padding:24px;display:flex}.kicker,.fine{color:var(--muted);margin:0;font-size:13px}.card h1{margin:0;font-size:28px;font-weight:650}.code{letter-spacing:.28em;color:var(--accent);margin:0;font-size:40px;font-weight:700}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input,button{font:inherit;border:1px solid var(--border);color:var(--ink);background:#0b0f14;border-radius:10px;font-size:16px}input{touch-action:manipulation;min-height:44px;padding:12px 14px}#join-code{text-transform:uppercase;letter-spacing:.24em;text-align:center;width:8ch}button{background:var(--accent);color:#0b0f14;cursor:pointer;touch-action:manipulation;min-height:44px;padding:10px 16px;font-weight:650}button.ghost{color:var(--ink);background:0 0}.actions{flex-direction:column;gap:8px;display:flex}.join-row{gap:8px;display:flex}.join-row button{flex:1}.mute{z-index:2;background:var(--card);min-height:44px;color:var(--ink);position:absolute;bottom:16px;right:16px}@media (width<=700px){.score strong{font-size:24px}.hint{font-size:12px}}
