:root{--bg:#f4f3ef;--surface:#fff;--surface-2:#ecebe6;--text:#1c1b22;--muted:#6b6a74;--border:#dddbd3;--accent:#4f46e5;--accent-strong:#3730a3;--accent-soft:#e6e4fb;--on-accent:#fff;--table:#e3e7de;--table-edge:#c9d0c1;--low:#0e7490;--low-soft:#d5f0f5;--high:#b45309;--high-soft:#fbe8d2;--good:#15803d;--shadow:0 1px 2px #14141e0f, 0 6px 18px #14141e0f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#121317;--surface:#1b1d23;--surface-2:#24262e;--text:#ecebf2;--muted:#9796a3;--border:#2f313a;--accent:#8b85ff;--accent-strong:#aba6ff;--accent-soft:#2a2850;--on-accent:#0e0d1a;--table:#1f2620;--table-edge:#2d372e;--low:#5fd0e4;--low-soft:#133a42;--high:#f5ad5b;--high-soft:#45301a;--good:#4ade80;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{border:1px solid #0000;border-radius:10px;padding:.6rem 1.1rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.ghost{border-color:var(--border);background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn:disabled{opacity:.45}input{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;padding:.65rem .8rem}input[aria-invalid=true]{border-color:var(--high)}.brand{letter-spacing:-.02em;color:var(--accent);font-size:1.15rem;font-weight:800;text-decoration:none}.muted{color:var(--muted)}.notice{background:var(--high-soft);color:var(--high);border-radius:10px;padding:.6rem .9rem}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.crumbs{align-items:baseline;gap:.5rem;min-width:0;display:flex}.crumb-sep{color:var(--muted)}.room-name{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.topbar-actions{align-items:center;gap:.75rem;display:flex}.name-chip{border:1px solid var(--border);background:var(--surface-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:12rem;padding:.3rem .8rem;font-weight:600;overflow:hidden}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--border);border-radius:999px;width:34px;height:20px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#0a0a1459;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:min(380px,100%);box-shadow:var(--shadow);gap:.9rem;padding:1.5rem;display:grid}.dialog h2{margin:0;font-size:1.2rem}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.center-screen{flex:1;place-content:center;justify-items:center;gap:1rem;min-height:50vh;padding:2rem 16px;display:grid}.lobby{min-height:100%}.lobby-main{max-width:760px;margin:0 auto;padding:2.5rem 16px 4rem}.lobby-main h1{letter-spacing:-.02em;margin:0 0 1.5rem;font-size:clamp(1.6rem,4vw,2.2rem)}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;display:grid}.tile{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);gap:.35rem;padding:1.4rem 1.2rem;transition:transform .15s,border-color .15s;display:grid}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile-name{letter-spacing:.02em;font-size:1.25rem;font-weight:800}.tile-meta{color:var(--muted);font-size:.88rem}.lobby-section{margin-top:2.25rem}.lobby-section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .75rem;font-size:.8rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .9rem;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 .5rem;font-size:.8rem}.new-room{gap:.5rem;max-width:420px;display:flex}.hint{color:var(--muted);margin:.6rem 0 0;font-size:.85rem}.room{flex-direction:column;min-height:100%;display:flex}.reconnecting{background:var(--high-soft);color:var(--high);text-align:center;padding:.35rem;font-size:.85rem;font-weight:600}.table-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 16px 8rem;display:flex}.seats{flex-wrap:wrap;justify-content:center;gap:1.25rem 1.5rem;min-height:5.5rem;display:flex}.table{background:var(--table);border:6px solid var(--table-edge);border-radius:999px;place-items:center;width:min(560px,100%);min-height:190px;padding:1.5rem 2.5rem;transition:border-radius .3s;display:grid}.table.is-revealed{border-radius:36px}.seat{justify-items:center;gap:.35rem;width:84px;transition:opacity .2s;display:grid}.seat.away{opacity:.45}.seat-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;font-weight:600;overflow:hidden}.you{color:var(--muted);font-weight:400}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:700}.tag-low{color:var(--low)}.tag-high{color:var(--high)}.mini-card{perspective:600px;width:44px;height:62px}.mini-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,1.3,.5,1);position:relative}.mini-card.flipped .mini-card-inner{transform:rotateY(180deg)}.mini-back,.mini-face{backface-visibility:hidden;border-radius:8px;place-items:center;display:grid;position:absolute;inset:0}.mini-back{border:2px dashed var(--border);color:var(--muted)}.mini-card.voted .mini-back{border:2px solid var(--accent);background:repeating-linear-gradient(45deg, transparent 0 5px, #ffffff29 5px 10px), var(--accent);box-shadow:var(--shadow);animation:.25s ease-out drop}.mini-face{background:var(--surface);border:2px solid var(--accent);box-shadow:var(--shadow);font-size:1.25rem;font-weight:800;transform:rotateY(180deg)}.outlier-low .mini-face{border-color:var(--low);background:var(--low-soft);color:var(--low)}.outlier-high .mini-face{border-color:var(--high);background:var(--high-soft);color:var(--high)}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}}.voting,.results{text-align:center;justify-items:center;gap:.9rem;width:100%;display:grid}.status{color:var(--muted);margin:0;font-weight:600}.btn.reveal{background:var(--surface);border-color:var(--border);padding:.75rem 1.6rem;font-size:1.05rem}.btn.reveal:hover:not(:disabled){border-color:var(--accent)}.btn.reveal.ready{background:var(--accent);border-color:var(--accent);color:var(--on-accent);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 10px #0000}}.consensus{justify-items:center;display:grid}.consensus-label{text-transform:uppercase;letter-spacing:.1em;color:var(--good);font-size:.78rem;font-weight:700}.consensus-value{color:var(--good);font-size:3.2rem;font-weight:800;line-height:1}.spread p{max-width:34ch;margin:0}.distribution{gap:.35rem;width:min(300px,100%);margin:0;padding:0;list-style:none;display:grid}.distribution li{font-variant-numeric:tabular-nums;grid-template-columns:2.2rem 1fr 2.2rem;align-items:center;gap:.6rem;display:grid}.dist-card{text-align:right;font-weight:800}.dist-bar{background:color-mix(in srgb, var(--table-edge) 60%, transparent);border-radius:999px;height:10px;overflow:hidden}.dist-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.dist-count{color:var(--muted);text-align:left;font-size:.85rem}.average{color:var(--muted);margin:0}.average strong{color:var(--text);font-size:1.1rem}.hand{padding:1rem 16px calc(1rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);justify-content:center;gap:.6rem;display:flex;position:fixed;bottom:0;left:0;right:0}.hand-observer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem}.card{border:2px solid var(--border);background:var(--surface);width:58px;height:82px;box-shadow:var(--shadow);border-radius:10px;font-size:1.35rem;font-weight:800;transition:transform .15s,border-color .15s,background .15s}.card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-6px)}.card.selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:translateY(-12px)}.card:disabled:not(.selected){opacity:.4}.card.selected:disabled{opacity:1}@media (width<=560px){.topbar{padding:.6rem 16px}.switch span:last-child{font-size:.8rem}.name-chip{max-width:7rem}.table{border-radius:28px;padding:1.25rem}.hand{gap:.4rem}.card{flex:1;max-width:58px;height:72px;font-size:1.15rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.icon-btn{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text);border-radius:999px;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--accent)}
