:root{--bg: #0d0e12;--card: rgba(21, 23, 29, .94);--line: #2b2f3a;--text: #e8eaf0;--muted: #9aa0ae;--accent: #ffd23f;color-scheme:dark}:root[data-look=chalk]{--bg: #e9e5dd;--card: rgba(250, 248, 244, .95);--line: #d8d2c6;--text: #2b2b33;--muted: #6b6b75;--accent: #e23b4e;color-scheme:light}:root[data-look=signal]{--bg: #050608;--accent: #5cf29a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,sans-serif;overflow:hidden}#stage{position:fixed;inset:0;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}#game{display:block;cursor:none}#ui{position:fixed;inset:0;display:grid;place-items:center;padding:16px;overflow-y:auto}#ui[hidden]{display:none}.card{width:min(420px,100%);display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--card);backdrop-filter:blur(3px)}.card h1{margin:0;font-size:30px;letter-spacing:-.01em}.card h2{margin:0;font-size:16px}.credit{margin:-10px 0 0;color:var(--muted);font-size:13px;font-style:italic}.help,.posting{margin:0;color:var(--muted);font-size:13px}.result{margin:0;font-size:18px;font-variant-numeric:tabular-nums}.join{display:flex;gap:8px}.join input{flex:1;min-width:0;font:inherit;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 12px}button{font:600 14px system-ui,sans-serif;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer}button:hover,button.on{border-color:var(--accent)}button.primary{color:#14151c;background:var(--accent);border-color:var(--accent);padding-inline:20px}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.looks,.sets,.actions,.tabs{display:flex;flex-wrap:wrap;gap:8px}.board{display:grid;gap:8px}.scores{margin:0;padding:0;list-style:none;counter-reset:rank;font-variant-numeric:tabular-nums}.scores li{counter-increment:rank;display:grid;grid-template-columns:2ch 1fr auto 4ch;gap:10px;padding:3px 0;border-bottom:1px solid var(--line)}.scores li:before{content:counter(rank);color:var(--muted)}.scores li.empty{display:block;color:var(--muted);border:0}.scores li.empty:before{content:none}.who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rnd{color:var(--muted);text-align:right}
