:root{--bg: #2c2c30;--bg-2: #38383d;--bg-3: #45454b;--line: #6e6e76;--text: #f4f4f6;--muted: #c8c8d0;--accent: #9ec1ff;--ink: #1c1c1e;--lime: var(--accent);--cream: var(--text);--mint: var(--accent);--amber: var(--text);--coral: var(--accent);color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);overscroll-behavior:none}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{width:min(480px,100%);margin:0 auto;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.kicker{font-size:13px;font-weight:650;color:var(--accent);margin:0}h1,h2{font-weight:650;margin:0;letter-spacing:0}h1{font-size:1.75rem;line-height:1.2}h2{font-size:1.35rem;line-height:1.25}.lede{color:var(--muted);margin:0}.card,.stack{display:flex;flex-direction:column;gap:12px}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px}.row{display:flex;gap:8px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.btn{min-height:48px;border-radius:12px;border:0;padding:0 16px;font-weight:650;width:100%;touch-action:manipulation}.btn.primary{background:var(--accent);color:var(--ink)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.soft{background:var(--bg-3);color:var(--text)}.btn.danger{background:var(--bg-3);color:var(--text);border:1px solid var(--line)}.btn:disabled{opacity:.45}.btn.tiny{min-height:44px;width:auto;padding:0 12px;font-size:16px}.btn.on{background:var(--accent);color:var(--ink)}label.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}input[type=text]{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:0 14px;font-size:17px}.check{display:flex;gap:12px;align-items:center;min-height:48px;color:var(--text)}.check input{width:24px;height:24px;accent-color:var(--accent)}.code{font-size:2rem;text-align:center;letter-spacing:.08em;margin:0;-webkit-user-select:text;user-select:text}.qr-card{background:#fff;border-radius:12px;padding:12px;display:grid;place-items:center}.qr-card img{width:min(220px,68vw);height:auto}.url{word-break:break-all;text-align:center;color:var(--muted);font-size:13px;margin:0}.players{display:flex;flex-direction:column;gap:8px}.player{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px;background:var(--bg);border-radius:12px}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-weight:700;flex:none}.player .name{font-weight:650}.player .meta{color:var(--muted);font-size:13px}.dot{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block}.dot.on{background:var(--accent)}.tag{font-size:12px;font-weight:700;border-radius:999px;padding:4px 8px;background:var(--bg-3)}.tag.win{background:var(--accent);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px 0 12px;border-radius:999px;background:var(--bg-3)}.banner{border-radius:12px;padding:12px;background:var(--bg-3);color:var(--text)}.banner.bad,.banner.sim{background:var(--bg-3);color:var(--text)}.timer{font-size:3rem;text-align:center;line-height:1;margin:0;font-variant-numeric:tabular-nums}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cell{aspect-ratio:1;border:0;border-radius:12px;background:var(--bg-3);min-height:72px;touch-action:manipulation}.cell.lit{background:var(--accent)}.cell.pressed{background:#6d89b8}.cell.bad{background:var(--bg);border:2px solid var(--accent)}.cell:disabled{opacity:1}.track{position:relative;height:72px;border-radius:999px;background:var(--bg);overflow:hidden}.center-mark{position:absolute;left:50%;top:8px;bottom:8px;width:8px;transform:translate(-50%);background:var(--accent);border-radius:99px}.puck{position:absolute;top:8px;width:56px;height:56px;margin-left:-28px;border-radius:50%;background:var(--text)}.stop{min-height:64px;font-size:1.25rem}.prompt{font-size:2.5rem;text-align:center;margin:0;line-height:1.1}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices button{min-height:72px;font-size:1.5rem;font-weight:650}.scoreline,.hero-score{font-variant-numeric:tabular-nums}.hero-score{font-size:2.5rem;margin:0;text-align:center}.fine{color:var(--muted);font-size:14px;margin:0}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.record-grid span{display:block;color:var(--muted);font-size:13px}.record-grid strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.stats dt{color:var(--muted);font-size:13px}.stats dd{margin:0 0 8px}
