:root{--bg:#f4f4f7;--surface:#fff;--text:#1d1e24;--muted:#6b6e7b;--border:#e1e2e8;--accent:#5865f2;--accent-text:#fff;--x:#d9480f;--o:#1971c2;--online:#2f9e44;--alert-bg:#fff0f0;--alert-text:#a61e1e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1b1c21;--surface:#26272e;--text:#e8e9ee;--muted:#9a9cab;--border:#383a44;--x:#ff8a4c;--o:#6cb4ff;--online:#51cf66;--alert-bg:#3b1f22;--alert-text:#ffb3b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2{margin:0 0 12px;line-height:1.2}h2{font-size:1.1rem}.muted{color:var(--muted)}.button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button:disabled{opacity:.45;cursor:default}.button:focus-visible,.cell:focus-visible,.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px}.avatar{border-radius:50%;width:28px;height:28px;display:block}.alert{background:var(--alert-bg);max-width:720px;color:var(--alert-text);border-radius:8px;justify-content:space-between;gap:12px;margin:12px auto;padding:10px 14px;display:flex}.banner{text-align:center;color:var(--muted);margin:8px 0}.login{text-align:center;flex-direction:column;gap:12px;max-width:360px;margin:18vh auto 0;padding:0 16px;display:flex}.dev-login{gap:8px;display:flex}.dev-login input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:0 12px}.hub header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.brand{font-weight:700}.me{align-items:center;gap:8px;min-width:0;display:flex}.lobby,.room{gap:28px;max-width:720px;margin:0 auto;padding:20px 16px 48px;display:grid}.games,.rooms,.players{gap:8px;margin:0;padding:0;list-style:none;display:grid}.games li,.rooms li{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.games li>span:first-child,.rooms li>span:first-child{flex-direction:column;flex:1;min-width:0;display:flex}.seats{display:flex}.seat{border:2px solid var(--surface);border-radius:50%;margin-left:-6px}.seat.offline{opacity:.4}.room-head{justify-content:space-between;align-items:center;display:flex}.room-head h2{margin:0}.players li{align-items:center;gap:10px;display:flex}.players li.offline .avatar{opacity:.4}.tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 8px;font-size:12px}.waiting .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.outcome{text-align:center;margin:0;font-size:1.2rem;font-weight:700}.tictactoe{justify-items:center;gap:12px;display:grid}.turn{color:var(--muted);margin:0}.turn.mine{color:var(--text);font-weight:700}.grid{grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,360px);display:grid}.cell{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;font:700 clamp(2rem,12vw,3.5rem)/1 system-ui,sans-serif}.cell:disabled{cursor:default}.cell.x{color:var(--x)}.cell.o{color:var(--o)}.cell:not(:disabled):hover{border-color:var(--accent)}select,.field input,.face-rows input{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 10px}select{max-width:40%}.section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-head h2{margin:0}.boards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.boards li{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.boards li>span:first-child{flex-direction:column;flex:1;min-width:0;display:flex}.thumbs{gap:4px;display:flex}.thumbs img{object-fit:cover;border-radius:6px;width:36px;height:36px}.editor{grid-template-columns:minmax(0,1fr);gap:16px;max-width:720px;margin:0 auto;padding:20px 16px 48px;display:grid}.field{gap:6px;font-weight:600;display:grid}.field input[type=file]{height:auto;padding:8px 10px;font-weight:400}.face-rows{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.face-rows li{align-items:center;gap:10px;display:flex}.face-rows img{object-fit:cover;border-radius:8px;flex:none;width:48px;height:48px}.face-rows input{flex:1;min-width:0}.mugshots{gap:12px;display:grid}.you{align-items:center;gap:12px;display:flex}.you img{object-fit:cover;border:2px solid var(--accent);border-radius:10px;width:64px;height:64px}.faces{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.face{border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;gap:4px;padding:4px;font-size:12px;display:grid;position:relative}.face img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%;display:block}.face span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.face:disabled{cursor:default}.face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.face.down img,.face.down span{opacity:.25;filter:grayscale()}.face.down:after{content:"✕";color:var(--alert-text);pointer-events:none;place-items:center;font-size:2.2rem;display:grid;position:absolute;inset:0}.face.candidate{border-color:var(--accent)}.face.revealed{border-color:var(--online)}.reveal{text-align:center;margin:0}.mugshots .actions{flex-wrap:wrap;gap:10px;display:flex}@media (width>=560px){.faces{grid-template-columns:repeat(6,1fr)}}.segmented{flex-wrap:wrap;gap:8px;display:flex}.sheet{gap:12px;display:grid}.grid-size{gap:12px;display:flex}.grid-size .field{flex:1}.sheet-preview{max-width:480px;position:relative}.sheet-preview img{border-radius:8px;width:100%;height:auto;display:block}.sheet-preview svg{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.sheet-preview rect{fill:#5865f22e;stroke:#fff;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.sheet-preview rect.draft{fill:#ffffff40;stroke-dasharray:none}.sheet-preview text{fill:#fff;stroke:#0009;stroke-width:3px;paint-order:stroke;dominant-baseline:hanging;vector-effect:non-scaling-stroke;pointer-events:none;font-weight:700}.sheet-actions{flex-wrap:wrap;gap:8px;display:flex}
