:root{color-scheme:dark;--bg: #0e1118;--panel: #161b29;--line: #2a3550;--text: #e6ebff;--muted: #9aa6c8;--you: #5ad1ff;--ai: #ff6b6b;--quake: #ffd166}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif}#app{min-height:100vh}.wrap{max-width:640px;margin:0 auto;padding:1rem 1rem 3rem}header h1{margin:.4rem 0 .2rem;letter-spacing:.04em}header .tag{color:var(--muted);margin:0 0 .8rem;font-size:.92rem;line-height:1.4}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem}.controls .spacer{flex:1}.controls label{color:var(--muted);font-size:.85rem;display:flex;align-items:center;gap:.35rem}.status{font-weight:600;min-width:8rem}select,button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.38rem .7rem;cursor:pointer}button:hover{border-color:var(--you)}button.primary{background:var(--you);color:#0a0e16;border-color:var(--you);font-weight:700}button.primary:hover{filter:brightness(1.08)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:none;border-radius:0;background:var(--panel);padding:.38rem .7rem}.seg button.active{background:var(--you);color:#0a0e16;font-weight:700}.meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem;font-size:.82rem;color:var(--muted)}.chip b{color:var(--text);font-variant-numeric:tabular-nums}.chip.you{border-color:color-mix(in srgb,var(--you) 50%,var(--line))}.chip.ai{border-color:color-mix(in srgb,var(--ai) 50%,var(--line))}.chip.quake{border-color:color-mix(in srgb,var(--quake) 50%,var(--line))}.boardwrap{position:relative;width:100%;max-width:560px;margin:0 auto}canvas{width:100%;height:auto;display:block;border-radius:12px;touch-action:manipulation}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080b12c7;border-radius:12px}.overlay.hidden{display:none}.overlay .card{background:var(--panel);border:1px solid var(--you);border-radius:14px;padding:1.4rem 1.6rem;text-align:center;max-width:24rem}.overlay .card h2{margin:0 0 .4rem}.overlay .card p{color:var(--muted);margin:0 0 1rem}.hint{color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:.9rem}kbd{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:0 .3rem;font-size:.78rem}
