:root{--bg:#fff;--fg:#1a1a1a;--muted:#6b6b6b;--accent:#5b3cc4;--accent-fg:#fff;--border:#d9d9d9;--error:#b42318;--online:#2e9e44;--radius:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}@media (prefers-color-scheme:dark){:root{--bg:#141414;--fg:#f2f2f2;--muted:#a0a0a0;--accent:#8f74ff;--border:#3a3a3a;--error:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}main{max-width:32rem;margin:0 auto;padding:1rem}.stack{flex-direction:column;gap:.5rem;display:flex}input,button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);width:100%;padding:.75rem;font-size:1.125rem}input{background:var(--bg);color:var(--fg)}button{background:var(--accent);color:var(--accent-fg);cursor:pointer;border:none;font-weight:600}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button:disabled{opacity:.6}hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.muted{color:var(--muted)}.error{color:var(--error);margin:0}.players{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.players li{border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem}.players li.online:before{content:"● ";color:var(--online)}.screen-tv main{max-width:none;padding:3vw;font-size:2vw}.tv-join{text-align:center}.tv-code{letter-spacing:.15em;margin:0;font-size:10vw;font-weight:800}
