*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}:root{--bg: #0f0f0f;--surface: #1a1a1a;--border: #2a2a2a;--text: #e8e8e8;--muted: #666;--accent: #5d8fc4;--danger: #c06060;--radius: 10px;--font: "Inter", system-ui, sans-serif}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px}.screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.card{padding:32px;width:100%;max-width:480px}.card h1{font-size:1.4rem;font-weight:600;margin-bottom:24px}.card h2{font-size:1rem;font-weight:500;color:var(--muted);margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}input[type=text]{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;padding:10px 12px;outline:none;width:100%;transition:border-color .15s}input[type=text]:focus{border-color:var(--accent)}.btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:opacity .15s;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--border);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn:not(:disabled):hover{opacity:.85}.btn-sm{padding:5px 10px;font-size:.78rem}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btn-row .btn{flex:1}.divider{border:none;border-top:1px solid var(--border);margin:24px 0}.member-list{list-style:none;display:flex;flex-direction:column;margin-bottom:20px}.member-list li{border-bottom:1px solid var(--border);padding:10px 0;font-size:.9rem;display:flex;align-items:center;gap:8px}.member-list li:last-child{border-bottom:none}.badge{font-size:.7rem;background:var(--accent);color:#fff;border-radius:4px;padding:1px 6px}.badge-muted{background:var(--border);color:var(--muted)}.join-code{font-size:2rem;font-weight:700;letter-spacing:.15em;color:var(--accent);margin-bottom:8px}.ping-table{width:100%;border-collapse:collapse;font-size:.85rem}.ping-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-bottom:1px solid var(--border)}.ping-table td{padding:10px;border-bottom:1px solid var(--border)}.ping-table tr:last-child td{border-bottom:none}.ping-table .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--accent)}.ping-table .me td{background:#4a9eff0d}@keyframes row-flash{0%{box-shadow:0 0 0 9999px #4a9eff1a inset}to{box-shadow:none}}.ping-table tbody tr td{animation:row-flash .6s ease-out}.error{color:var(--danger);font-size:.85rem;margin-top:10px}.muted{color:var(--muted);font-size:.85rem}@keyframes ballot-fade{0%,65%{opacity:1}to{opacity:.45}}.ballot-reveal{animation:ballot-fade 10s ease-out forwards}@keyframes sudoku-bar-bump{0%{fill-opacity:.6}to{fill-opacity:0}}.landscape-block{display:none}@media (orientation: landscape) and (max-height: 500px){.landscape-block{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;color:var(--text);text-align:center}.landscape-block svg{opacity:.5}.landscape-block p{font-size:1rem;color:var(--muted)}}
