:root{--bg-app:#f3ede1;--bg-raised:#fbf8f1;--bg-modal:#fbf8f1;--bg-table:#fffdf8;--bg-sunk:#ece5d6;--bg-scrim:#3a2a22;--select-ring:#b48a3c;--ink:#2c2620;--ink-soft:#4a443a;--ink-faint:#8a7e68;--ink-label:#a99c86;--primary:#9c1f33;--primary-ink:#fdf6ec;--primary-soft:#9c1f331f;--accent:#b48a3c;--accent-soft:#b48a3c1f;--accent-line:#b48a3c59;--joined:#3a8a4a;--hairline:#3226181f;--hairline-strong:#32261833;--sec-bg:#e7dcc8;--sec-ink:#2c2620;--ghost-ink:#766b58;--track:#ddd0bb;--shadow-panel:0 1px 3px #46341e0d;--shadow-raised:0 18px 40px #0006;--shadow-frame:0 20px 54px #46372338;--card-face:#fffdf8;--card-ink:#2c2620;--card-red:#a01f33;--card-radius:5px;--card-border:#32261829;--card-shadow:0 3px 7px #46341e29;--card-face-frame:#32261842;--card-face-fill:#b48a3c0d;--card-back:#7a1f2b;--card-back-accent:#f0e2c8;--card-back-line:#ffffff1a;--card-font:"Spectral", serif;--radius:12px;font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=midnight]{--bg-app:linear-gradient(180deg, #221b41, #181233 55%, #120d27);--bg-raised:#ffffff0d;--bg-modal:#251e48;--bg-table:#ffffff0a;--bg-sunk:#00000040;--bg-scrim:#0c0820;--select-ring:#e7bb56;--ink:#ece7f5;--ink-soft:#c9c2dd;--ink-faint:#9a92b5;--ink-label:#857da3;--primary:#e7bb56;--primary-ink:#1a1530;--primary-soft:#e7bb5629;--accent:#8a73ee;--accent-soft:#8a73ee29;--accent-line:#8a73ee66;--joined:#5ad08a;--hairline:#ffffff1f;--hairline-strong:#fff3;--sec-bg:#ffffff17;--sec-ink:#ece7f5;--ghost-ink:#b9b1d4;--track:#ffffff29;--shadow-panel:0 1px 3px #0000004d;--shadow-raised:0 18px 40px #0000008c;--shadow-frame:0 20px 54px #00000080;--card-face:#f6f1e6;--card-radius:7px;--card-border:#14101e29;--card-shadow:0 3px 8px #0006;--card-face-fill:#8a73ee0f;--card-back:#2c2456;--card-back-accent:#e7bb56;--card-back-line:#ffffff14}*{box-sizing:border-box}body{background:var(--bg-app);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}#root{max-width:440px;min-height:100vh;margin:0 auto;padding:16px 18px 26px}h1,h2{margin:0;font-family:Spectral,serif;font-weight:600}button{font:inherit;cursor:pointer}.screen{flex-direction:column;gap:14px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-label);font-size:11px;font-weight:700}.topbar{align-items:center;gap:10px;min-height:32px;display:flex}.topbar h1{font-size:1.15rem}.topbar-title{text-align:center;flex:1}.topbar-wordmark{letter-spacing:.26em;text-transform:uppercase;font-family:Spectral,serif;font-size:16px;font-weight:600}.topbar-rule{background:var(--primary);border-radius:2px;width:26px;height:2px;margin:3px auto 0}.topbar-info{color:var(--ink-faint);margin-left:auto;font-size:.78rem}.icon-btn{border:1px solid var(--hairline-strong);width:32px;height:32px;color:var(--ink);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;display:flex}.panel{background:var(--bg-raised);border:1px solid var(--hairline);box-shadow:var(--shadow-panel);border-radius:18px;flex-direction:column;gap:16px;padding:18px;display:flex}.btn{border:1px solid #0000;border-radius:12px;padding:13px;font:700 14px Hanken Grotesk,sans-serif;transition:filter .15s,transform 60ms}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-ink)}.btn-secondary{background:var(--sec-bg);color:var(--sec-ink)}.btn-ghost{color:var(--ghost-ink);border-color:var(--hairline-strong);background:0 0}.btn-danger{background:var(--primary);color:var(--primary-ink);filter:saturate(1.2)}.btn-big{padding:15px;font-size:15px}.notice{background:var(--primary-soft);color:var(--primary);border-radius:var(--radius);text-align:center;border:1px solid #9c1f334d;padding:9px 12px;font-size:.85rem;font-weight:600}.notice-info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.banner{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);text-align:center;color:var(--accent);padding:8px;font-family:Spectral,serif;font-size:.92rem;font-style:italic}.badge{background:var(--primary-soft);color:var(--primary);letter-spacing:.04em;border-radius:4px;align-items:center;margin-left:6px;padding:2px 5px;font-size:.62rem;font-weight:800;display:inline-flex}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--ink-label);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.field-hint{color:var(--ink-faint);font-size:12px}.segment{gap:7px;display:flex}.segment-btn{border:1px solid var(--hairline);background:var(--bg-raised);color:var(--ink);text-align:center;border-radius:10px;flex:1;padding:11px 4px;font:700 14px Hanken Grotesk,sans-serif}.segment-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.footnote{text-align:center;color:var(--ink-faint);font-size:12px}.home{gap:16px;min-height:100vh}.home-hero{text-align:center;margin-top:56px}.home-suits{letter-spacing:.5em;color:var(--accent);margin-bottom:12px;padding-left:.5em;font-size:15px}.home-hero h1{letter-spacing:.02em;margin:0;font-family:Spectral,serif;font-size:60px;font-weight:600;line-height:.9}.home-rule{background:var(--primary);border-radius:3px;width:62px;height:3px;margin:14px auto 0}.tagline{color:var(--ink-faint);margin:16px 0 0;font-family:Spectral,serif;font-size:14px;font-style:italic}.home-setup{margin-top:auto}.home-actions{flex-direction:column;gap:9px;margin-top:4px;display:flex}.home-actions .btn-ghost{border:none}.game{gap:12px}.table-sub{text-align:center;letter-spacing:.04em;color:var(--ink-faint);margin-top:-4px;font-size:10.5px}.scoreboard{gap:9px;display:flex}.score-card{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:12px;flex:1;min-width:0;padding:9px 10px}.score-card-you{background:var(--bg-table);border-color:#9c1f3373}.score-card-active{box-shadow:0 0 0 2px var(--accent-line)}.score-card-name{align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.score-card-points{align-items:baseline;gap:3px;margin-top:3px;display:flex}.score-card-points .big{font:600 23px/1 Spectral,serif}.score-card-you .big{color:var(--primary)}.score-card-points .target{color:var(--ink-label);font-size:9px}.score-card-meta{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;overflow:hidden}.score-card-stars{color:var(--accent)}.away-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.table-surface{background:var(--bg-table);border:1px solid var(--hairline);min-height:150px;box-shadow:inset 0 1px 0 #fff9, var(--shadow-panel);border-radius:18px;flex-direction:column;flex:1;gap:4px;padding:13px;display:flex}.table-cards{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:11px;min-height:76px;display:flex}.table-empty{color:var(--ink-faint);font-family:Spectral,serif;font-style:italic}.last-play-caption{color:var(--ink-faint);text-align:center;min-height:18px;padding:4px 8px 0;font-family:Spectral,serif;font-size:12px;font-style:italic}.hand-bar{border-top:1px solid var(--hairline);background:var(--bg-sunk);margin:0 -18px -26px;padding:11px 18px 22px}.hand-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.turn-pill{letter-spacing:.08em;background:var(--primary);color:var(--primary-ink);white-space:nowrap;border-radius:999px;padding:4px 11px;font:800 10px Hanken Grotesk}.turn-pill-wait{background:var(--hairline-strong);color:var(--ink-soft)}.hand-hint{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.hand{justify-content:center;gap:9px;min-height:96px;padding:14px 0;display:flex}.actions{gap:9px;display:flex}.actions .btn{flex:1}.actions .btn-take{flex:1.6}.actions .btn-hint{flex:.8}.viz-layer{z-index:7;pointer-events:none;position:fixed;inset:0}.viz-ghost{filter:drop-shadow(0 8px 18px #00000040);z-index:32;transition:left .6s cubic-bezier(.4,.7,.3,1),top .6s cubic-bezier(.4,.7,.3,1),transform .55s cubic-bezier(.4,.7,.3,1),opacity .45s;position:absolute;transform:translate(-50%,-50%)}.viz-flip{transform-style:preserve-3d;width:54px;height:76px;transition:transform .45s cubic-bezier(.4,.7,.3,1)}.viz-face{backface-visibility:hidden;position:absolute;inset:0}.viz-face-back{transform:rotateY(180deg)}.viz-collect{left:var(--fx);top:var(--fy);animation:.7s cubic-bezier(.4,.7,.3,1) forwards collectFly}@keyframes collectFly{0%{left:var(--fx);top:var(--fy);opacity:1;transform:translate(-50%,-50%)scale(1.02)}to{left:var(--tx);top:var(--ty);opacity:0;transform:translate(-50%,-50%)scale(.45)}}.card-slot{transition:transform .5s cubic-bezier(.4,.7,.3,1);display:inline-flex}.card-slot-nudge{transform:translateY(-30px)scale(1.05)}.card-slot-gone{visibility:hidden}.score-card-acting{border-color:var(--primary);background:var(--bg-modal);box-shadow:0 0 0 1px var(--primary), var(--shadow-panel)}.moment{z-index:8;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.moment-card{text-align:center;background:var(--bg-modal);border:1px solid var(--accent);box-shadow:var(--shadow-raised);border-radius:16px;padding:18px 26px;animation:.32s cubic-bezier(.2,1.3,.4,1) both momentPop}.moment-good .moment-card{border-color:var(--accent)}.moment-bad .moment-card{border-color:var(--primary)}.moment-lastone .moment-card{border-style:dashed}.moment-emoji{font-size:2.4rem}.moment-big{margin-top:4px;font-family:Spectral,serif;font-size:1.4rem;font-weight:600}.moment-sub{color:var(--ink-faint);margin-top:4px;font-size:.84rem}@keyframes momentPop{0%{opacity:0;transform:scale(.7)}}.overlay{z-index:10;background:#281c128c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.overlay-panel{background:var(--bg-modal);border:1px solid var(--hairline);width:100%;max-width:420px;max-height:88vh;box-shadow:var(--shadow-raised);text-align:center;border-radius:20px;overflow-y:auto}.modal-head{flex-direction:column;align-items:center;gap:6px;display:flex}.modal-head h2{font-size:24px}.deck-sweep{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:10px 12px;animation:.4s both dealIn;display:flex}.deck-sweep-label{color:var(--accent);font-size:12px;font-weight:600}.deck-sweep-cards{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.deck-sweep-cards>*{animation:.4s both sweepIn}.ready-row{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.ready-chip{border:1px solid var(--hairline);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.ready-chip-yes{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.quit-link{width:100%;margin-top:8px;font-size:13px}.quit-confirm{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}@keyframes sweepIn{0%{opacity:0;transform:translate(30px)rotate(6deg)}}@keyframes dealIn{0%{opacity:0;transform:translateY(-6px)scale(.92)}}.score-grid{text-align:left;grid-template-columns:1.5fr 1fr 1fr 1fr;font-size:13px;display:grid}.score-grid>div{padding:7px 4px}.sg-head{text-align:center;color:var(--ink-soft);font-weight:600}.sg-head-you{color:var(--ink);font-weight:700}.sg-label{color:var(--ink-soft);border-top:1px solid var(--hairline)}.sg-val{text-align:center;border-top:1px solid var(--hairline);color:var(--ink-soft)}.sg-val-you{color:var(--ink)}.sg-sweep{color:var(--accent)}.sg-row-total .sg-label,.sg-row-total .sg-val{border-top:2px solid var(--hairline-strong);font-weight:800}.sg-row-total .sg-val-you{color:var(--primary)}.sg-row-game .sg-label{border-top:none;font-family:Spectral,serif;font-weight:800}.sg-row-game .sg-val{border-top:none;font-family:Spectral,serif;font-size:18px;font-weight:700}.sg-row-game .sg-val-you{color:var(--primary);font-weight:800}.score-grid.animated>div{animation:.34s both ringIn}.score-grid.animated .sg-r1{animation-delay:.1s}.score-grid.animated .sg-r2{animation-delay:.3s}.score-grid.animated .sg-r3{animation-delay:.5s}.score-grid.animated .sg-r4{animation-delay:.7s}.score-grid.animated .sg-r5{animation-delay:.9s}.score-grid.animated .sg-row-total{animation:.4s cubic-bezier(.2,1.4,.4,1) 1.2s both ringPop}.score-grid.animated .sg-row-game{animation:.4s cubic-bezier(.2,1.4,.4,1) 1.5s both ringPop}@keyframes ringIn{0%{opacity:0;transform:translateY(7px)}}@keyframes ringPop{0%{opacity:0;transform:scale(.7)}}.overlay-dark{background:var(--bg-scrim)}.overlay-sweep{background:linear-gradient(#2a1a16,#3a2a22);overflow:hidden}.gameover-emoji{font-size:52px;line-height:1}.gameover-panel h2{color:var(--primary);margin-top:12px;font-size:36px}.gameover-sub{color:var(--ink-faint);margin:8px 0 0;font-size:13.5px}.rank-list{text-align:left;flex-direction:column;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.rank-row{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:12px;align-items:center;gap:4px;padding:13px 16px;display:flex}.rank-row-win{background:var(--bg-table);border-color:#9c1f3366}.rank-num{width:22px;color:var(--ink-label);font-family:Spectral,serif;font-weight:700}.rank-row-win .rank-num{color:var(--primary)}.rank-name{flex:1;font-weight:600}.rank-row-win .rank-name{font-weight:700}.rank-score{font-family:Spectral,serif;font-size:19px;font-weight:700}.rank-row-win .rank-score{color:var(--primary)}.gameover-actions{flex-direction:column;gap:9px;margin-top:24px;display:flex}.gameover-actions .btn-ghost{border:none}.sweep-panel{border:2px solid var(--accent);box-shadow:0 0 40px #b48a3c73}.sweep-heading{letter-spacing:.02em;color:var(--primary);font-family:Spectral,serif;font-size:34px;font-weight:700}.sweep-caps{justify-content:center;align-items:center;gap:6px;margin-top:20px;display:flex}.sweep-arrow{color:var(--accent);font-family:Spectral,serif;font-size:18px}.fireworks{pointer-events:none;z-index:9;position:fixed;inset:0}.firework{opacity:0;border-radius:50%;width:8px;height:8px;animation:1.5s ease-out infinite swBurst;position:absolute;box-shadow:0 0 0 2px,18px 0,-18px 0,0 18px,0 -18px,13px 13px,-13px 13px,13px -13px,-13px -13px}.firework.f1{color:var(--accent);animation-delay:0s;top:24%;left:22%}.firework.f2{color:var(--primary);animation-delay:.5s;top:30%;left:76%}.firework.f3{color:#e7bb56;animation-delay:.9s;top:18%;left:50%}.firework.f4{color:var(--accent);animation-delay:1.2s;top:40%;left:32%}.firework.f5{color:var(--primary);animation-delay:1.5s;top:46%;left:80%}@keyframes swBurst{0%{opacity:1;transform:scale(.2)}70%{opacity:1}to{opacity:0;transform:scale(1.7)}}.invite-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;padding-top:7vh;display:flex}.invite-title{margin:0;font-family:Spectral,serif;font-size:34px;font-weight:600}.invite-code{letter-spacing:.18em;color:var(--primary);font-family:Spectral,serif;font-size:19px;font-weight:700}.invite-emoji{font-size:44px}.chat-fab{border:1px solid var(--hairline-strong);background:var(--bg-modal);width:46px;height:46px;box-shadow:var(--shadow-panel);z-index:9;border-radius:50%;font-size:20px;position:fixed;bottom:14px;right:14px}.chat-unread{background:var(--primary);min-width:19px;height:19px;color:var(--primary-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.chat-scrim{z-index:11;background:#140e0873;align-items:flex-end;display:flex;position:fixed;inset:0}.chat-sheet{background:var(--bg-modal);border-top:1px solid var(--hairline-strong);width:100%;max-height:62vh;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;animation:.22s both chatUp;display:flex}@keyframes chatUp{0%{opacity:.4;transform:translateY(30%)}}.chat-head{justify-content:space-between;align-items:center;padding-bottom:8px;font-weight:800;display:flex}.chat-list{flex-direction:column;gap:7px;min-height:120px;padding:4px 2px 10px;display:flex;overflow-y:auto}.chat-empty{color:var(--ink-faint);text-align:center;padding:22px 0;font-size:13px}.chat-note{text-align:center;color:var(--ink-faint);padding:2px 0;font-size:12px;font-style:italic}.chat-msg{flex-direction:column;align-items:flex-start;gap:2px;max-width:82%;display:flex}.chat-msg-mine{align-self:flex-end;align-items:flex-end}.chat-who{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:10px;font-weight:700}.chat-bubble{background:var(--bg-sunk);border:1px solid var(--hairline);word-break:break-word;border-radius:12px;padding:7px 11px;font-size:14px;line-height:1.35}.chat-msg-mine .chat-bubble{background:var(--primary);color:var(--primary-ink);border-color:#0000}.chat-compose{border-top:1px solid var(--hairline);gap:8px;padding-top:8px;display:flex}.chat-compose .text-input{flex:1}.settings-panel,.cheat-panel{text-align:left}.settings-panel h2,.cheat-panel h2{text-align:center}.setting{border-top:1px solid var(--hairline);padding:16px 0}.setting:first-of-type{border-top:none}.setting-row{align-items:center;gap:12px;display:flex}.setting-text{flex:1}.setting-label{font-size:15px;font-weight:700}.setting-help{color:var(--ink-faint);margin-top:2px;font-size:12.5px;display:block}.toggle{background:var(--track);border:none;border-radius:999px;flex:none;width:46px;height:26px;padding:0;transition:background .18s;position:relative}.toggle.on{background:var(--primary)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.toggle.on:after{left:23px}.theme-swatches{gap:10px;margin-top:12px;display:flex}.theme-swatch{border:1px solid var(--hairline-strong);background:var(--bg-raised);color:var(--ink-soft);border-radius:10px;flex:1;align-items:center;gap:7px;padding:9px;font-size:12px;font-weight:600;display:flex}.theme-swatch.on{border:2px solid var(--primary);color:var(--ink)}.theme-swatch .chip{border-radius:4px;flex:none;width:18px;height:18px}.theme-swatch .chip-ivory{background:#f3ede1;border:1px solid #d8cab0}.theme-swatch .chip-midnight{background:#181233}.speed-slider{width:100%;accent-color:var(--primary);height:24px}.speed-ends{color:var(--ink-faint);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.howto{min-height:100vh}.howto-body{flex:1}.howto-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.howto-card h2{color:var(--primary);margin:8px 0 0;font-size:27px}.howto-step-body p{color:var(--ink-soft);margin:14px 0 0;font-size:15.5px;line-height:1.6}.howto-muted{color:var(--ink-faint);font-size:13.5px!important}.howto-demo{background:var(--bg-table);border:1px solid var(--hairline);border-radius:16px;justify-content:center;align-items:center;gap:14px;margin-top:22px;padding:22px 16px;display:flex}.howto-demo-cards{gap:8px;display:flex}.howto-demo-eq{color:var(--accent);font-family:Spectral,serif;font-size:22px}.howto-demo-caption{text-align:center;color:var(--ink-faint);margin-top:10px;font-size:12px}.howto-tip{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);border-radius:12px;margin-top:22px;padding:12px 14px;font-size:13.5px;line-height:1.5}.howto-dots{justify-content:center;gap:8px;padding:6px 0;display:flex}.howto-dot{background:var(--hairline-strong);cursor:pointer;border-radius:50%;width:7px;height:7px;transition:width .15s,background .15s}.howto-dot.active{background:var(--primary);border-radius:7px;width:18px}.howto-nav{gap:10px;display:flex}.howto-nav .btn{flex:1}.howto-nav .btn-next{flex:2}.scoring-ref{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:16px;padding:4px 16px}.scoring-ref-list{margin:0;padding:0;list-style:none}.scoring-ref-list li{border-bottom:1px solid var(--hairline);align-items:center;gap:13px;padding:13px 0;display:flex}.scoring-ref-list li:last-child{border-bottom:none}.scoring-ref-icon{justify-content:center;align-items:center;width:32px;font-size:20px;display:flex}.scoring-ref-glyph{font-family:Spectral,serif;font-size:22px;font-weight:600}.scoring-ref-rank{color:var(--card-red);font-size:20px;font-weight:700}.scoring-ref-rank sup{font-size:13px}.scoring-ref-label{flex:1;font-size:14.5px}.scoring-ref-sub{color:var(--ink-faint);margin-top:1px;font-size:11.5px;display:block}.scoring-ref-pts{color:var(--primary);font-weight:800}.scoring-ref-pts-bonus{color:var(--accent)}.scoring-ref-mult{color:var(--ink-label);font-size:12px;font-weight:600}.scoring-ref-fine{color:var(--ink-faint);margin:14px 4px 6px;font-size:12px;line-height:1.5}.scoring-ref-head{text-align:center;margin-bottom:6px}.scoring-ref-head .title{font-family:Spectral,serif;font-size:21px;font-weight:600}.scoring-ref-head .subtitle{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.status-bar{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);text-align:center;color:var(--accent);padding:7px;font-size:.85rem}.text-input{font:inherit;border-radius:var(--radius);border:1px solid var(--hairline-strong);background:var(--bg-raised);color:var(--ink);width:100%;padding:12px}.text-input::placeholder{color:var(--ink-label)}.code-input{text-transform:uppercase;letter-spacing:.3em;width:9em;font-weight:700}.join-row{gap:8px;display:flex}.join-row .btn{flex:none;padding-left:20px;padding-right:20px}.join-row .text-input{flex:1}.divider{text-align:center;color:var(--ink-faint);align-items:center;gap:10px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--hairline);flex:1}.room-code-card{background:var(--bg-raised);border:1px solid var(--hairline);text-align:center;border-radius:16px;padding:18px}.room-code{letter-spacing:.22em;color:var(--primary);margin:6px 0;padding-left:.22em;font-family:Spectral,serif;font-size:40px;font-weight:700}.seat-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.seat-list li{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:12px;align-items:center;gap:8px;padding:13px 15px;display:flex}.seat-you{background:var(--bg-table);border-color:#9c1f3366}.seat-name{flex:1;font-weight:600}.seat-you .seat-name{font-weight:700}.seat-host{background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.seat-joined{color:var(--joined);font-size:12px;font-weight:700}
