:root{--felt-1: #0d1f1a;--felt-2: #14352b;--felt-3: #1d4a3a;--gold: #fbbf24;--gold-soft: rgba(251, 191, 36, .55);--ink: #e8eee9;--ink-dim: #9db3a8;--card-cream: #faf6ec;--card-cream-2: #efe8d8;--red: #ef4444;--blue: #3b82f6;--green: #22c55e;--panel: rgba(10, 25, 20, .72);--panel-border: rgba(255, 255, 255, .08);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .5);font-size:15px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:radial-gradient(1200px 700px at 50% -10%,var(--felt-3),transparent 70%),radial-gradient(900px 600px at 90% 110%,#123,transparent 60%),linear-gradient(160deg,var(--felt-1),var(--felt-2));background-attachment:fixed;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}button,.cell,.hand-card,.deck-pile{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{min-height:100vh;display:flex;flex-direction:column}.view{flex:1;display:flex;flex-direction:column}button{font-family:inherit}.btn{border:none;border-radius:12px;padding:10px 20px;font-size:1rem;font-weight:600;cursor:pointer;letter-spacing:.03em;transition:box-shadow .2s,background .2s,opacity .2s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#241505;box-shadow:0 6px 22px #f59e0b59}.btn-primary:not(:disabled):hover{box-shadow:0 8px 30px #f59e0b80}.btn-big{padding:14px 28px;font-size:1.1rem;border-radius:14px}.btn-secondary{background:#ffffff1a;color:var(--ink);border:1px solid var(--panel-border)}.btn-secondary:not(:disabled):hover{background:#ffffff29}.btn-ghost{background:transparent;color:var(--ink-dim);border:1px solid transparent}.btn-ghost:hover{color:var(--ink);border-color:var(--panel-border)}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-link{background:none;border:none;color:var(--gold);cursor:pointer;font-size:.95rem;text-decoration:underline;text-underline-offset:3px}.btn-icon{background:#ffffff14;border:1px solid var(--panel-border);color:var(--ink);width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center}@media(pointer:coarse){.btn-icon{width:44px;height:44px}.seg-btn{min-width:44px;min-height:44px}.btn-sm,.gh-leave,.ls-kind,.ls-seat input{min-height:44px}.emote-opt{width:44px;height:44px}.avatar-opt{min-height:44px}.switch{position:relative}.switch:after{content:"";position:absolute;top:-9px;right:-6px;bottom:-9px;left:-6px}.sheet-grip{height:5px;padding:14px 0;background-clip:content-box;box-sizing:content-box}}.btn-icon:hover{background:#ffffff29}input{font-family:inherit;background:#00000059;border:1px solid var(--panel-border);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}input:focus{border-color:var(--gold-soft);box-shadow:0 0 0 3px #fbbf2426}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:var(--gold);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.conn-banner{position:fixed;top:0;left:0;right:0;z-index:300;background:#dc2626e6;color:#fff;text-align:center;padding:calc(6px + env(safe-area-inset-top)) calc(6px + env(safe-area-inset-right)) 6px calc(6px + env(safe-area-inset-left));font-size:.9rem;display:flex;gap:8px;align-items:center;justify-content:center}.toasts{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:#0f1e19f2;border:1px solid var(--panel-border);color:var(--ink);padding:10px 20px;border-radius:999px;font-weight:500;box-shadow:var(--shadow-lg);white-space:nowrap}.toast-error{border-color:#ef444499;color:#fecaca}.toast-gold{border-color:var(--gold-soft);color:var(--gold);text-shadow:0 0 18px rgba(251,191,36,.5)}.home{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.home:before{content:"";position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.16),transparent 62%);top:50%;left:50%;transform:translate(-50%,-55%);pointer-events:none}.home:after{content:"♠ ♥ ♦ ♣";position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:1.3rem;letter-spacing:.6em;color:#ffffff24;pointer-events:none}.home-card{position:relative;z-index:1;width:420px;max-width:94vw;background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;padding:38px 34px;display:flex;flex-direction:column;gap:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}.logo{text-align:center;margin-bottom:6px}.logo h1{font-family:Playfair Display,serif;font-size:2.6rem;margin:4px 0 2px;letter-spacing:.14em;background:linear-gradient(180deg,#fde68a,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent}.logo-suits{font-size:1.4rem;letter-spacing:.4em;color:var(--ink)}.s-red{color:var(--red)}.tagline{margin:0;color:var(--ink-dim);font-size:.92rem}.field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--ink-dim)}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-dim);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--panel-border)}.join-row{display:flex;gap:10px}.code-input{flex:1;text-transform:uppercase;letter-spacing:.35em;font-weight:700;text-align:center;font-size:1.15rem}.hint{color:var(--ink-dim);font-size:.82rem;text-align:center;margin:0}.offline-hint{color:#fcd34d}.home-foot{text-align:center;font-size:.76rem;color:var(--ink-dim);margin:2px 0 0;opacity:.8}.mode-title{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-top:4px;display:flex;align-items:center;gap:10px}.mode-title:after{content:"";flex:1;height:1px;background:var(--panel-border)}.quick-row{display:flex;gap:8px}.quick-btn{flex:1;padding:12px 8px;white-space:nowrap}.friends-row{display:flex;gap:8px;align-items:stretch}.friends-row>.btn{flex-shrink:0}.friends-row .join-row{flex:1}.friends-row .code-input{min-width:0;letter-spacing:.2em;padding:10px 8px}.local-setup{width:480px;max-width:94vw;display:flex;flex-direction:column;gap:14px}.ls-sub{color:var(--ink-dim);font-size:.9rem;margin:0}.ls-count{align-self:flex-start}.ls-seats{display:flex;flex-direction:column;gap:8px}.ls-seat{display:flex;align-items:center;gap:10px}.ls-seat input{flex:1;padding:8px 12px;min-width:0}.ls-kind{border:1px solid var(--panel-border);background:#ffffff12;color:var(--ink);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:.88rem;white-space:nowrap}.ls-kind.bot{background:#a78bfa24}.ls-botname{color:var(--ink-dim);font-size:.85rem;flex:1}.lan-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.35);border-radius:12px;padding:10px 14px;font-size:.88rem;color:#bfdbfe;cursor:pointer;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lan-info b{color:#fff;word-break:break-all}.lan-info .rc-copy{margin-left:auto}.handoff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#050c0af5;display:flex;align-items:center;justify-content:center;cursor:pointer}.handoff-card{text-align:center;padding:30px}.handoff-icon{font-size:3rem}.handoff-card h2{margin:14px 0 6px;font-weight:500;color:var(--ink-dim)}.handoff-name{font-family:Playfair Display,serif;font-size:2.6rem;font-weight:800;color:var(--gold);margin-bottom:10px}.handoff-card p{color:var(--ink-dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#10261f;border:1px solid var(--panel-border);border-radius:20px;padding:30px 34px;max-width:620px;max-height:84vh;max-height:84dvh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.modal h2{margin-top:0;font-family:Playfair Display,serif;color:var(--gold)}.modal ul{padding-left:20px;line-height:1.65}.modal li{margin-bottom:10px}.modal-close{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--ink-dim);font-size:1.1rem;cursor:pointer;width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff14;color:var(--ink)}.lobby{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.lobby-card{width:560px;max-width:95vw;background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;padding:30px 34px;display:flex;flex-direction:column;gap:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}.lobby-head{display:flex;justify-content:space-between;align-items:center}.lobby-head h2{margin:0;font-family:Playfair Display,serif}.room-code{display:flex;align-items:baseline;gap:14px;background:#0000004d;border:1px dashed var(--gold-soft);border-radius:14px;padding:12px 18px;cursor:pointer;transition:background .2s}.room-code:hover{background:#fbbf2414}.rc-label{font-size:.75rem;color:var(--ink-dim);letter-spacing:.1em}.rc-value{font-size:1.7rem;font-weight:800;letter-spacing:.35em;color:var(--gold)}.rc-copy{margin-left:auto;color:var(--ink-dim);font-size:.85rem}.player-list{display:flex;flex-direction:column;gap:6px}.player-row{display:flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid var(--panel-border);border-radius:12px;padding:9px 14px}.player-name{flex:1;min-width:0;font-weight:600;display:flex;align-items:center;gap:8px}.player-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.player-name .badge{flex-shrink:0}.player-team{color:var(--ink-dim);font-size:.88rem}.team-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 -2px 4px #0006,0 1px 3px #00000080}.team-dot.red{background:radial-gradient(circle at 35% 30%,#fca5a5,var(--red) 60%)}.team-dot.blue{background:radial-gradient(circle at 35% 30%,#93c5fd,var(--blue) 60%)}.team-dot.green{background:radial-gradient(circle at 35% 30%,#86efac,var(--green) 60%)}.team-dot.none{background:#555}.badge{font-size:.62rem;font-weight:800;letter-spacing:.08em;border-radius:6px;padding:2px 6px}.badge.host{background:#fbbf2433;color:var(--gold)}.badge.bot{background:#a78bfa33;color:#c4b5fd}.badge.you{background:#22c55e2e;color:#86efac}.badge.off{background:#ef444433;color:#fca5a5}.lobby-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.seg{display:inline-flex;align-items:center;gap:6px;background:#0000004d;border-radius:10px;padding:4px 8px}.seg-label{font-size:.85rem;color:var(--ink-dim);margin-right:2px}.seg-btn{background:transparent;border:none;color:var(--ink-dim);font-weight:700;padding:5px 12px;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease}.seg-btn.on{background:var(--gold);color:#241505}.check{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--ink-dim);cursor:pointer}.check i{font-size:.8rem}.count-status{text-align:center;font-size:.92rem;border-radius:10px;padding:8px}.count-status.ok{background:#22c55e1f;color:#86efac}.count-status.bad{background:#fbbf241a;color:#fcd34d}.lobby-actions{display:flex;justify-content:space-between;align-items:center}.waiting{color:var(--ink-dim);display:inline-flex;gap:10px;align-items:center}.view-game{height:100vh;height:100dvh}.game-screen{display:flex;flex-direction:column;height:100vh;height:100dvh}.game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#00000040;border-bottom:1px solid var(--panel-border);gap:12px}.gh-left{display:flex;align-items:baseline;gap:12px}.gh-logo{font-family:Playfair Display,serif;font-weight:800;letter-spacing:.12em;color:var(--gold)}.gh-code{color:var(--ink-dim);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.gh-turn{font-weight:600;color:var(--ink-dim)}.gh-turn.mine{color:var(--gold);text-shadow:0 0 16px rgba(251,191,36,.45);animation:glowpulse 1.6s ease-in-out infinite}@keyframes glowpulse{50%{opacity:.75}}.gh-right{display:flex;gap:8px;align-items:center}.game-main{flex:1;display:grid;grid-template-columns:250px 1fr 250px;gap:14px;padding:14px;min-height:0}.game-side{min-height:0;display:flex;flex-direction:column;gap:14px}.game-center{display:flex;flex-direction:column;align-items:center;min-height:0;gap:8px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column}.panel-title{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin:4px 0 8px}.players-panel{flex:1;min-height:0;overflow-y:auto}.team-scores{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.team-score{display:flex;align-items:center;gap:8px;background:#ffffff0a;padding:7px 10px;border-radius:10px}.ts-name{font-weight:700;flex:1}.ts-pips{display:flex;gap:5px}.pip{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink-dim)}.pip.filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 10px #fbbf24b3}.game-players{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.gp-row{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:10px;border:1px solid transparent;font-size:.92rem}.gp-row.turn{border-color:var(--gold-soft);background:#fbbf2412}.gp-name{flex:1;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gp-cards{color:var(--ink-dim);font-size:.85rem}.turn-arrow{color:var(--gold)}.move-log{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--ink-dim)}.log-row{display:flex;gap:7px;align-items:center}.log-row .team-dot{width:9px;height:9px}.chat-panel{flex:1;min-height:0}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding-right:4px;min-height:0}.chat-empty{color:var(--ink-dim);font-size:.85rem;text-align:center;margin-top:20px}.chat-msg{font-size:.88rem;line-height:1.35;background:#ffffff0d;border-radius:10px;padding:6px 10px;align-self:flex-start;max-width:100%;word-wrap:break-word}.chat-msg.mine{align-self:flex-end;background:#fbbf241f}.chat-name{font-weight:700;margin-right:6px;font-size:.8rem}.chat-name.red{color:#fca5a5}.chat-name.blue{color:#93c5fd}.chat-name.green{color:#86efac}.chat-input-row{display:flex;gap:6px;margin-top:10px}.chat-input-row input{flex:1;padding:8px 12px;font-size:.9rem}.board-area{flex:1 1 auto;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.board-frame{--card-ar: 1.4;--fit-w: .889;--fit-h: .665;--board-size: min( calc(100vw - 580px) , calc((100vh - 300px) / 1.55), 560px);--frame-bg: linear-gradient(165deg, #d3d6d4 0%, #bdc1bf 45%, #c9cdcb 70%, #b3b7b5 100%);--frame-ink: rgba(255, 255, 255, .92);position:relative;padding:calc(var(--board-size) * .052) calc(var(--board-size) * .062);border-radius:10px;background:var(--frame-bg);box-shadow:inset 0 1px 3px #ffffff73,inset 0 -2px 4px #0000002e,var(--shadow-lg);flex-shrink:1;min-height:0}body[data-board=emerald] .board-frame{--frame-bg: linear-gradient(165deg, #1f7a52 0%, #145c3c 45%, #1c6f4a 70%, #0f4a30 100%)}body[data-board=walnut] .board-frame{--frame-bg: linear-gradient(165deg, #6b4326 0%, #4e3019 45%, #5c3a20 70%, #3d2413 100%)}body[data-board=midnight] .board-frame{--frame-bg: linear-gradient(165deg, #2b3350 0%, #1a2036 45%, #232a44 70%, #141a2e 100%)}body[data-board=crimson] .board-frame{--frame-bg: linear-gradient(165deg, #8f2436 0%, #5f1622 45%, #7c1f2f 70%, #4a1019 100%)}body[data-board=ocean] .board-frame{--frame-bg: linear-gradient(165deg, #1f6f8f 0%, #144f68 45%, #1b657f 70%, #0f3d50 100%)}.bf-word{position:absolute;top:50%;writing-mode:vertical-rl;font-family:Playfair Display,serif;font-weight:600;letter-spacing:.55em;color:#ffffffeb;text-shadow:0 1px 1px rgba(0,0,0,.15);font-size:calc(var(--board-size) * .03);pointer-events:none;-webkit-user-select:none;user-select:none}.bf-word.left{left:calc(var(--board-size) * .012);transform:translateY(-50%) rotate(180deg)}.bf-word.right{right:calc(var(--board-size) * .012);transform:translateY(-50%)}.bf-oval{position:absolute;left:50%;transform:translate(-50%);border:1.5px solid rgba(255,255,255,.9);border-radius:999px;color:#fffffff2;font-size:max(calc(var(--board-size) * .017),8px);font-weight:600;letter-spacing:.22em;padding:.3em 1.4em;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.15);pointer-events:none;-webkit-user-select:none;user-select:none}.bf-oval.top{top:calc(var(--board-size) * .012)}.bf-oval.bottom{bottom:calc(var(--board-size) * .012)}@supports (container-type: size){.board-area{container-type:size}.board-frame{--board-size: min( calc(100cqw * var(--fit-w)), calc(100cqh * var(--fit-h)), 560px )}body[data-orient=landscape] .board-area{position:relative;justify-content:flex-start}body[data-orient=landscape] .board-frame{--board-size: min( calc(100cqw * var(--fit-h)), calc(100cqh * var(--fit-w)), 560px );position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg)}body[data-orient=landscape] .board-meter{z-index:2}}.board{position:relative;width:var(--board-size);height:calc(var(--board-size) * var(--card-ar));display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);gap:calc(var(--board-size) * .009)}.board:after{content:"";position:absolute;top:-2%;bottom:-2%;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.14) 12%,rgba(0,0,0,.14) 88%,transparent);pointer-events:none}.cell{position:relative;background:#fdfdfb;border-radius:calc(var(--board-size) / 10 * .1);cursor:default;overflow:hidden;transition:transform .12s,box-shadow .15s;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000047;font-size:max(calc(var(--board-size) / 10 * .155),7px)}.corner-blank{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:calc(var(--board-size) / 10 * .1);background:linear-gradient(158deg,#ece2cb,#e2d6b8);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #3c280a47}.corner-emblem{width:84%;height:84%}.cell.legal{cursor:pointer;box-shadow:0 0 0 2.5px #22c55e,0 0 16px #22c55ea6;animation:legalpulse 1.4s ease-in-out infinite}.cell.legal:hover{transform:scale(1.1);z-index:5}.cell.legal-remove{cursor:pointer;box-shadow:0 0 0 2.5px #ef4444,0 0 16px #ef4444b3;animation:legalpulse 1.4s ease-in-out infinite}.cell.legal-remove:hover{transform:scale(1.1);z-index:5}@keyframes legalpulse{50%{filter:brightness(1.14)}}.cell.in-seq{z-index:3;box-shadow:0 0 0 2px var(--gold),0 0 14px #fbbf248c}.cell.seq-flash{animation:seqflash .62s ease-out both;animation-delay:calc(var(--sweep, 0) * 90ms);z-index:6}.cell.seq-flash:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14%;background:radial-gradient(circle,#fff6cdf2,#fbbf2400 70%);opacity:0;animation:seqflashglow .62s ease-out both;animation-delay:calc(var(--sweep, 0) * 90ms);pointer-events:none;z-index:7}@keyframes seqflash{30%{transform:scale(1.16);filter:brightness(1.5)}}@keyframes seqflashglow{15%{opacity:1}to{opacity:0}}.board.won .cell.in-seq{animation:seqbreathe 1.5s ease-in-out infinite}@keyframes seqbreathe{50%{box-shadow:0 0 0 2.5px var(--gold),0 0 22px 4px #fbbf24e6}}.board-frame.your-turn{animation:yourturn 2.2s ease-in-out infinite}@keyframes yourturn{50%{box-shadow:inset 0 1px 3px #ffffff73,inset 0 -2px 4px #0000002e,0 0 0 2px #4ade808c,0 0 22px 5px #4ade8073,var(--shadow-lg)}}@media(prefers-reduced-motion:reduce){.cell.seq-flash,.cell.seq-flash:before,.board.won .cell.in-seq,.chip-locked,.board-frame.your-turn{animation:none!important}}.resume-btn{width:100%;box-shadow:0 0 0 1px #fbbf2480,0 4px 14px #fbbf2440}.seg.seg-wrap{flex-wrap:wrap}.setting-note{display:block;margin-top:6px;font-size:11.5px;font-style:normal;color:var(--ink-dim);line-height:1.35}.seg-note{flex-basis:100%;color:var(--ink-dim);font-size:11.5px;font-style:normal;line-height:1.35}.rc-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}.rc-btn{background:#ffffff1a;border:1px solid var(--panel-border);color:var(--ink);padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer}.rc-btn:hover{background:#ffffff2e}.cell:focus-visible,.hand-card:focus-visible{outline:3px solid #fde68a;outline-offset:2px;z-index:20}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}body.high-contrast .cardface.v-cell{filter:contrast(1.08)}body.high-contrast .cell.legal{box-shadow:0 0 0 3px #16a34a,0 0 0 5px #04240f!important}body.high-contrast .cell.legal-remove{box-shadow:0 0 0 3px #ef4444,0 0 0 5px #3b0708!important}body.high-contrast .chip{box-shadow:inset 0 -3px 5px #00000073,inset 0 2px 3px #fff6,0 0 0 2px #000000b3,0 2px 5px #0009}body.high-contrast .bf-oval,body.high-contrast .bf-word{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9)}body.high-contrast .cf-cx,body.high-contrast .cf-mid-rank{text-shadow:0 0 1px rgba(0,0,0,.5)}.chip{position:absolute;top:0;right:0;bottom:0;left:0;width:78%;aspect-ratio:1;margin:auto;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -3px 5px #00000061,inset 0 2px 3px #ffffff61,0 2px 5px #00000080;z-index:3}.chip-red{background:radial-gradient(circle at 36% 30%,#f87171 0,#f87171 16%,#dc2626 52%,#991b1b)}.chip-blue{background:radial-gradient(circle at 36% 30%,#60a5fa 0,#60a5fa 16%,#2563eb 52%,#1e3a8a)}.chip-green{background:radial-gradient(circle at 36% 30%,#4ade80 0,#4ade80 16%,#16a34a 52%,#14532d)}.chip-inner{position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff38,inset 0 2px 4px #00000047;pointer-events:none}.chip-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.chip-ring-text text{font-size:12.5px;font-weight:700;letter-spacing:2.2px;fill:#ffffff80}.chip-locked{z-index:5;box-shadow:inset 0 -3px 5px #00000061,inset 0 2px 3px #ffffff73,0 0 0 3px var(--gold),0 0 16px 5px #fbbf24e6;animation:seqlock 1.8s ease-in-out infinite}@keyframes seqlock{50%{box-shadow:inset 0 -3px 5px #00000061,inset 0 2px 3px #ffffff73,0 0 0 3px #ffe488,0 0 24px 7px #fbbf24}}.chip-star{color:#fff7d6;font-size:calc(var(--board-size) / 10 * .42);text-shadow:0 0 5px rgba(251,191,36,.95),0 1px 2px rgba(0,0,0,.6)}.last-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:84%;aspect-ratio:1;margin:auto;border-radius:50%;border:2px dashed rgba(255,255,255,.75);animation:lastspin 5s linear infinite;pointer-events:none;z-index:4}.hint-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--board-size) / 10 * .5);color:#fde68a;text-shadow:0 0 6px rgba(251,191,36,.95),0 1px 2px rgba(0,0,0,.6);pointer-events:none;z-index:6;animation:hintpulse 1s ease-in-out infinite}@keyframes hintpulse{50%{transform:scale(1.28);opacity:.85}}.hint-btn{position:fixed;left:50%;transform:translate(-50%);bottom:calc(196px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:.35em;padding:8px 16px;border-radius:999px;border:1px solid rgba(251,191,36,.55);background:#0a1914e6;color:#fcd34d;font-weight:600;font-size:14px;cursor:pointer;z-index:80;box-shadow:0 4px 14px #0006;transition:box-shadow .15s,background .15s}.hint-btn:hover{box-shadow:0 4px 18px #fbbf2466;background:#12281ef2}@keyframes lastspin{to{transform:rotate(360deg)}}.hand-area{flex:0 0 auto;display:grid;grid-template-columns:150px 1fr 150px;align-items:center;gap:12px;width:100%;max-width:900px;padding:4px 8px 10px}.pile-zone{display:flex;gap:14px;align-items:center;justify-content:flex-end}.deck-pile{position:relative;width:58px;height:82px;cursor:pointer}.card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:repeating-linear-gradient(45deg,#1e3a8a 0,#1e3a8a 6px,#172c69 6px,#172c69 12px);border:2px solid #dbeafe33;box-shadow:0 3px 8px #00000073}.card-back.offset1{transform:translate(-3px,-3px)}.card-back.offset2{transform:translate(-6px,-6px)}.deck-count{position:absolute;bottom:-8px;right:-8px;background:var(--gold);color:#241505;font-size:.7rem;font-weight:800;border-radius:999px;padding:2px 7px;z-index:3}.pulse-draw .card-back{border-color:var(--gold);animation:drawpulse .9s ease-in-out infinite}@keyframes drawpulse{50%{box-shadow:0 0 22px 4px #fbbf24cc}}.draw-alert{position:absolute;top:-18px;left:50%;transform:translate(-50%);color:var(--gold);font-weight:800;font-size:.75rem;letter-spacing:.12em;animation:glowpulse .9s infinite;z-index:4}.discard-pile{width:58px;height:82px}.discard-card{width:100%;height:100%}.discard-empty{width:100%;height:100%;border:2px dashed rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.hand{display:flex;justify-content:center;align-items:flex-end;min-height:118px;padding-top:26px}.hand.my-turn .hand-card{cursor:pointer}.hand-card{position:relative;width:74px;height:106px;margin:0;transform-origin:50% 120%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));transition:filter .15s ease}.hand-card+.hand-card{margin-left:-18px}.hand-card.selected{filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(251,191,36,.55))}.hand-card.dead .cardface{filter:grayscale(.75) brightness(.8)}.dead-badge{position:absolute;top:38%;left:50%;transform:translate(-50%) rotate(-14deg);background:#7f1d1deb;color:#fecaca;font-size:.62rem;font-weight:800;letter-spacing:.12em;padding:2px 8px;border-radius:6px;z-index:5}.jack-badge{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);font-size:.58rem;font-weight:800;letter-spacing:.1em;padding:2px 8px;border-radius:999px;z-index:5}.jack-badge.wild{background:#166534;color:#bbf7d0}.jack-badge.cut{background:#7f1d1d;color:#fecaca}.exchange-btn{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:var(--gold);border:none;color:#241505;font-weight:700;font-size:.8rem;padding:9px 16px;min-height:40px;border-radius:999px;cursor:pointer;white-space:nowrap;z-index:10;box-shadow:0 4px 12px #0006}.hand-side{display:flex;justify-content:flex-start}.exchange-hint{color:var(--gold);font-size:.85rem;font-weight:600;animation:glowpulse 1.4s infinite}.stuck-actions{display:flex;flex-direction:column;align-items:center;gap:6px}.name-row{display:flex;align-items:flex-end;gap:10px}.name-field{flex:1;min-width:0}.name-field input{width:100%;min-width:0}.avatar-btn{width:48px;height:48px;border-radius:14px;border:1px solid var(--panel-border);background:#ffffff0f;font-size:1.6rem;cursor:pointer;flex-shrink:0}.avatar-btn:hover{background:#ffffff1f}.settings-gear{flex-shrink:0}.stats-line{text-align:center;font-size:.85rem;color:var(--ink-dim);background:#ffffff0a;border-radius:10px;padding:7px}.watch-toggle{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--ink-dim);cursor:pointer}.settings{width:440px;max-width:94vw;display:flex;flex-direction:column;gap:14px}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-opt{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px;border-radius:12px;border:1px solid var(--panel-border);background:#ffffff0a;cursor:pointer}.theme-opt.on{border-color:var(--gold);background:#fbbf2424}.theme-swatch{width:100%;height:28px;border-radius:8px;box-shadow:inset 0 1px 2px #fff6,inset 0 -2px 3px #00000038}.theme-name{font-size:.72rem;color:var(--ink-dim)}.theme-opt.on .theme-name{color:var(--ink)}.theme-opt[data-board=classic] .theme-swatch{background:linear-gradient(165deg,#d3d6d4,#b3b7b5)}.theme-opt[data-board=emerald] .theme-swatch{background:linear-gradient(165deg,#1f7a52,#0f4a30)}.theme-opt[data-board=walnut] .theme-swatch{background:linear-gradient(165deg,#6b4326,#3d2413)}.theme-opt[data-board=midnight] .theme-swatch{background:linear-gradient(165deg,#2b3350,#141a2e)}.theme-opt[data-board=crimson] .theme-swatch{background:linear-gradient(165deg,#8f2436,#4a1019)}.theme-opt[data-board=ocean] .theme-swatch{background:linear-gradient(165deg,#1f6f8f,#0f3d50)}.theme-opt[data-board=sakura] .theme-swatch{background:linear-gradient(165deg,#7a3a52,#2a1430)}.theme-opt[data-board=neon] .theme-swatch{background:linear-gradient(165deg,#ff3cbe,#140a35 60%,#3cdcff)}.theme-opt[data-board=love] .theme-swatch{background:linear-gradient(165deg,#ff8fb8,#93264f 55%,#2a0a1a)}.avatar-opt{aspect-ratio:1;border-radius:12px;border:1px solid var(--panel-border);background:#ffffff0d;font-size:1.5rem;cursor:pointer}.avatar-opt.on{border-color:var(--gold);background:#fbbf2429}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-row span{display:flex;flex-direction:column}.setting-row i{color:var(--ink-dim);font-size:.8rem;font-style:normal}.switch{width:48px;height:28px;border-radius:999px;border:none;background:#ffffff26;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.switch.on{background:var(--green)}.switch .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on .knob{transform:translate(20px)}.gh-center{display:flex;align-items:center;gap:10px;flex:1;justify-content:center;min-width:0}.turn-timer{position:relative;width:34px;height:34px;flex-shrink:0}.turn-timer svg{transform:rotate(-90deg);width:100%;height:100%}.tt-track{fill:none;stroke:#ffffff1f;stroke-width:3}.tt-fill{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:94.2;transition:stroke-dashoffset .25s linear}.turn-timer.urgent .tt-fill{stroke:var(--red)}.tt-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800}.turn-timer.urgent .tt-num{color:#fca5a5;animation:glowpulse .6s infinite}.emote-bar{position:fixed;left:12px;bottom:calc(148px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;z-index:90}.emote-bar.open{flex-wrap:wrap;align-items:flex-end;max-width:min(360px,calc(100vw - 24px));max-height:46vh;overflow-y:auto;padding:8px;border-radius:14px;background:#081410eb;border:1px solid var(--panel-border);box-shadow:0 10px 30px #00000073}.emote-toggle{width:46px;height:46px;border-radius:50%;border:1px solid var(--panel-border);background:#0a1914d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:1.15rem;cursor:pointer;box-shadow:0 4px 14px #00000073}.emote-opt{width:40px;height:40px;border-radius:50%;border:1px solid var(--panel-border);background:#0a1914e6;font-size:1.2rem;cursor:pointer}.floating-emotes{position:fixed;left:0;right:0;bottom:40%;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:120}.floating-emote{display:flex;flex-direction:column;align-items:center;background:#0a1914cc;border:1px solid var(--panel-border);border-radius:14px;padding:8px 14px}.fe-emoji{font-size:2rem}.fe-name{font-size:.7rem;color:var(--ink-dim)}.fe-name.red{color:#fca5a5}.fe-name.blue{color:#93c5fd}.fe-name.green{color:#86efac}.undo-btn{position:fixed;left:50%;transform:translate(-50%);bottom:calc(150px + env(safe-area-inset-bottom));background:#0a1914e6;border:1px solid var(--panel-border);color:var(--ink);padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:600;z-index:80;box-shadow:0 4px 14px #0006}.undo-request{position:fixed;left:0;right:0;margin:0 auto;width:max-content;top:calc(60px + env(safe-area-inset-top));background:#0f1e19f7;border:1px solid var(--gold-soft);border-radius:14px;padding:12px 16px;z-index:130;display:flex;flex-direction:column;gap:8px;align-items:center;box-shadow:var(--shadow-lg);max-width:92vw;text-align:center}.undo-actions{display:flex;gap:8px}.spectator-note{color:var(--ink-dim);font-size:.9rem;padding:14px;text-align:center}.spectator-count{text-align:center;font-size:.85rem;color:#93c5fd}.recap{background:#00000040;border:1px solid var(--panel-border);border-radius:14px;padding:12px 16px;margin-bottom:22px;text-align:left}.recap-title{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}.recap-teams{display:flex;flex-direction:column;gap:6px}.recap-team{display:flex;align-items:center;gap:8px;font-size:.9rem}.recap-name{flex:1;font-weight:600}.recap-stat{color:var(--ink-dim);font-size:.82rem}.recap-foot{margin-top:8px;font-size:.8rem;color:var(--ink-dim)}.gp-avatar,.player-avatar{font-size:1.05rem;flex-shrink:0}.chip-cb{display:none}body.colorblind .chip-cb{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0;color:#ffffffeb;font-size:calc(var(--board-size) / 10 * .34);text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:2}body.colorblind .chip-star{display:none}.crash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,var(--felt-1),var(--felt-2))}.crash-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;padding:34px 30px;text-align:center;max-width:400px}.crash-icon{font-size:2.6rem}.crash-card h2{margin:12px 0 6px}.crash-card p{color:var(--ink-dim);margin-bottom:22px}.crash-actions{display:flex;gap:10px;justify-content:center}.cardface{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.suit-icon{fill:currentColor;display:block}.cardface.v-hand{border-radius:9px;font-size:13px;background:#fff;border:1px solid #e9e9e9;box-shadow:inset 0 1px #fffc,inset 0 0 0 1px #fff6}.cardface.v-hand.red{--pop: #e11d48;color:#e11d48}.cardface.v-hand.black{--pop: #111827;color:#111827}.cf-wedge{position:absolute;top:0;left:0;width:0;height:0;border-top:2.5em solid var(--pop);border-right:2.5em solid transparent;z-index:0}.cf-pop-tl{position:absolute;top:4%;left:7%;z-index:2;color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:900;font-size:.82em;letter-spacing:-.03em}.cf-pop-main{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:.84;color:var(--pop)}.cf-pop-rank{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:900;font-size:2.7em;letter-spacing:-.05em}.cf-pop-suit{width:1.05em;height:1.05em;margin-top:.08em}.jester{display:block;fill:currentColor}.cf-jack-main .jester{width:3em;height:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.cf-jack-tag{position:absolute;bottom:6%;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;line-height:1.02;font-weight:800;padding:.22em .55em;border-radius:.8em}.cf-jack-tag .jt-eye{font-size:.4em;letter-spacing:.12em;opacity:.92}.cf-jack-tag .jt-pow{font-size:.56em;letter-spacing:.14em}.cf-jack-tag.wild{background:#15803d;color:#dcfce7}.cf-jack-tag.cut{background:#b91c1c;color:#fee2e2}.cardface.v-cell{border-radius:calc(var(--board-size) / 10 * .1);background:linear-gradient(158deg,#ece2cb,#e2d6b8);font-size:max(calc(var(--board-size) / 10 * .19),8px)}.cardface.v-cell.red{color:#b0142b}.cardface.v-cell.black{color:#1a1a22}.cf-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:calc(var(--board-size) / 10 * .1);pointer-events:none;box-shadow:inset 0 0 0 1px #3c280a4d}.cf-frame:before{content:"";position:absolute;inset:calc(var(--board-size) / 10 * .07);border-radius:calc(var(--board-size) / 10 * .06);border:1px solid rgba(150,120,45,.5)}.cf-court{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background-size:cover;background-position:center;border-radius:calc(var(--board-size) / 10 * .1)}.cf-cx{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;line-height:.72;font-family:Georgia,Times New Roman,serif;font-weight:800}.cf-cx-rk{font-size:1.18em;letter-spacing:-.02em}.cf-cx svg{width:.8em;height:.8em;margin-top:.08em}.cf-cx.tl{top:5.5%;left:8%}.cf-cx.br{bottom:5.5%;right:8%;transform:rotate(180deg)}.cf-cx.badge{padding:.04em .24em .1em;border-radius:5px;background:linear-gradient(160deg,#f5eedaf2,#e6dabef2);box-shadow:0 1px 2px #00000047}.cf-cx.badge.tl{top:4%;left:5%}.cf-cx.badge.br{bottom:4%;right:5%}.cf-mid{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:.82}.cf-mid-rank{font-family:Georgia,Times New Roman,serif;font-weight:800;font-size:1.5em;letter-spacing:-.03em;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cf-mid-suit{width:.72em;height:.72em;margin-top:.14em}.cf-wm{position:absolute;z-index:0;width:52%;opacity:.08}.cf-ace{width:42%;z-index:1}.win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#050c0ac7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:20px}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.win-card{position:relative;background:var(--panel);border:1px solid var(--panel-border);border-radius:26px;padding:48px 60px;text-align:center;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-height:calc(100dvh - 40px);overflow-y:auto}.win-card h1{font-family:Playfair Display,serif;font-size:3rem;margin:14px 0 4px;letter-spacing:.06em}.win-chip{width:74px;height:74px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#ffffffeb;box-shadow:inset 0 -6px 10px #0006,inset 0 4px 6px #fff6,0 8px 24px #00000080}.win-sub{color:var(--ink-dim);font-size:1.05rem;margin-bottom:26px}.win-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.mobile-strip{flex:0 0 auto;display:none;width:100%;align-items:center;gap:10px;padding:4px 2px}.ms-scores{display:flex;gap:10px;flex-shrink:0}.ms-score{display:inline-flex;align-items:center;gap:5px;background:#00000047;border:1px solid var(--panel-border);border-radius:999px;padding:4px 9px}.ms-score .team-dot{width:11px;height:11px}.ms-pips{display:inline-flex;gap:4px}.ms-pips .pip{width:9px;height:9px}.ms-players{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-width:0}.ms-players::-webkit-scrollbar{display:none}.ms-player{display:inline-flex;align-items:center;gap:5px;background:#ffffff0d;border:1px solid transparent;border-radius:999px;padding:4px 9px;font-size:.78rem;white-space:nowrap;color:var(--ink-dim)}.ms-player.turn{border-color:var(--gold-soft);background:#fbbf241a;color:var(--gold);font-weight:700}.ms-player .team-dot{width:10px;height:10px}.ms-cards{opacity:.75}.fab-col{display:none;position:fixed;right:12px;bottom:calc(148px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;z-index:90}.mobile-bar{display:none}.fab{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid var(--panel-border);background:#0a1914d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:1.15rem;cursor:pointer;box-shadow:0 4px 14px #00000073}.fab-badge{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:.62rem;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:140}.sheet{position:fixed;left:0;right:0;bottom:0;max-height:72dvh;background:#10261f;border:1px solid var(--panel-border);border-bottom:none;border-radius:20px 20px 0 0;z-index:150;display:flex;flex-direction:column;padding:8px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #00000080}.sheet-grip{width:44px;height:5px;border-radius:3px;background:#ffffff40;margin:4px auto 10px;flex-shrink:0;cursor:pointer}.sheet .panel{background:transparent;border:none;padding:0;flex:1;min-height:0;overflow-y:auto;-webkit-backdrop-filter:none;backdrop-filter:none}.sheet .chat-panel{overflow-y:hidden;min-height:46dvh}@media(max-width:1150px){@supports not (container-type: size){.board-frame{--board-size: min( calc(100vw - 320px) , calc((100vh - 300px) / 1.55), 520px)}}.game-main{grid-template-columns:210px 1fr}.game-side.right{display:none}}@media(max-width:760px){.game-main{display:flex;flex-direction:column;padding:6px 6px 0;gap:4px}.game-side{display:none}.mobile-strip{display:flex}.fab-col,.emote-bar,.undo-btn,.hint-btn{display:none!important}.mobile-bar{display:flex;align-items:stretch;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#0000004d;border-top:1px solid var(--panel-border);flex-shrink:0}.mb-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:12px;color:var(--ink);padding:5px 4px;min-height:46px;cursor:pointer}.mb-btn.undo{color:var(--gold);border-color:var(--gold-soft)}.mb-ico{font-size:1.15rem;position:relative;line-height:1}.mb-lbl{font-size:.58rem;color:var(--ink-dim);letter-spacing:.03em}.mb-badge{position:absolute;top:-6px;right:-11px;background:var(--red);color:#fff;font-size:.55rem;font-weight:800;border-radius:999px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px}.mb-emote-wrap{flex:1;position:relative;display:flex}.mb-emote-pop{position:fixed;left:0;right:0;margin:0 auto;width:min(88vw,320px);bottom:calc(66px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);gap:6px;background:#10261f;border:1px solid var(--panel-border);border-radius:14px;padding:10px;box-shadow:var(--shadow-lg);z-index:95;max-height:44vh;overflow-y:auto}.mb-emote-opt{font-size:1.5rem;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px}.mb-emote-opt:active{background:#ffffff1a}.game-center{flex:1;justify-content:center;gap:6px;min-height:0}.game-header{padding:calc(6px + env(safe-area-inset-top)) 10px 6px;gap:6px}.gh-right{gap:4px}.gh-logo{font-size:.82rem}.gh-code{display:none}.gh-turn{font-size:.8rem;text-align:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-leave{padding:6px 8px}@supports not (container-type: size){.board-frame{--board-size: min( calc(100vw - 42px) , calc((100dvh - 358px) / 1.55))}}.board-frame{--fit-w: .943;--fit-h: .685;padding:calc(var(--board-size) * .03);align-self:center}.bf-word,.bf-oval{display:none}.hand-area{grid-template-columns:54px 1fr;gap:8px;max-width:100%;padding:0 6px calc(4px + env(safe-area-inset-bottom))}.pile-zone{flex-direction:column;gap:8px;justify-content:center;align-items:center}.deck-pile,.discard-pile{width:44px;height:62px}.deck-count{font-size:.62rem;padding:1px 6px}.hand{min-height:86px;padding-top:14px;align-items:flex-end}.hand-card{width:56px;height:79px}.hand-card+.hand-card{margin-left:clamp(-30px,calc((100vw - 140px - var(--n, 7) * 56px) / max(var(--n, 7) - 1,1)),-8px)}.cardface.v-hand{font-size:11px}.hand-side{display:none}.hand-side:has(.btn),.hand-side:has(.exchange-hint){display:flex;position:fixed;left:50%;transform:translate(-50%);bottom:calc(172px + env(safe-area-inset-bottom));z-index:90;background:#0a1410eb;border:1px solid var(--panel-border);border-radius:999px;padding:6px 10px;box-shadow:0 6px 18px #00000080}.toasts{top:calc(10px + env(safe-area-inset-top));width:94vw}.toast{white-space:normal;text-align:center;font-size:.85rem}.win-card{padding:34px 26px;margin:0 16px}.win-card h1{font-size:2.1rem}.modal{padding:22px 18px;font-size:.92rem}.home-card,.lobby-card{padding:26px 20px}input,.chat-input-row input,.code-input{font-size:16px}.friends-row{flex-direction:column;align-items:stretch;gap:8px}.friends-row>.btn{width:100%}.quick-btn{padding:12px 4px;font-size:.9rem}.undo-request{top:calc(88px + env(safe-area-inset-top))}.home,.lobby{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom));align-items:flex-start;overflow-y:auto}.gh-right .btn-icon[title=Sound]{display:none}.rc-value{font-size:1.35rem}}.rotate-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:linear-gradient(160deg,var(--felt-1),var(--felt-2));color:var(--ink);align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;font-size:1.05rem;padding:20px}.rotate-overlay .ro-icon{font-size:3rem;animation:rotatehint 1.6s ease-in-out infinite}@keyframes rotatehint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media(orientation:landscape)and (max-height:480px)and (pointer:coarse){.rotate-overlay{display:flex}}body[data-chip=glass] .chip{box-shadow:inset 0 -3px 8px #00000038,inset 0 3px 6px #ffffffa6,0 2px 6px #00000073;opacity:.92}body[data-chip=glass] .chip-inner{box-shadow:inset 0 0 0 2px #ffffff80}body[data-chip=wood] .chip{box-shadow:inset 0 -3px 5px #00000080,inset 0 2px 3px #ffffff2e,0 2px 5px #00000080;filter:saturate(.72) brightness(.92)}body[data-chip=metal] .chip{box-shadow:inset 0 -3px 6px #0000008c,inset 0 3px 6px #ffffffbf,0 2px 6px #0000008c;filter:contrast(1.15) saturate(.85)}body[data-card-back=crimson] .deck-pile{background-image:repeating-linear-gradient(45deg,#a11228 0,#a11228 6px,#7d0d1f 6px,#7d0d1f 12px)}body[data-card-back=forest] .deck-pile{background-image:repeating-linear-gradient(45deg,#14663f 0,#14663f 6px,#0e4a2d 6px,#0e4a2d 12px)}body[data-card-back=ink] .deck-pile{background-image:repeating-linear-gradient(45deg,#2b2f3a 0,#2b2f3a 6px,#1b1e26 6px,#1b1e26 12px)}body[data-board=emerald] .game-main{background:radial-gradient(1200px 600px at 50% 0%,rgba(31,122,82,.18),transparent 70%)}body[data-board=walnut] .game-main{background:radial-gradient(1200px 600px at 50% 0%,rgba(107,67,38,.18),transparent 70%)}body[data-board=crimson] .game-main{background:radial-gradient(1200px 600px at 50% 0%,rgba(143,36,54,.18),transparent 70%)}body[data-board=midnight] .game-main{background:radial-gradient(1200px 600px at 50% 0%,rgba(43,51,80,.2),transparent 70%)}body[data-board=ocean] .game-main{background:radial-gradient(1200px 600px at 50% 0%,rgba(31,111,143,.18),transparent 70%)}body.left-handed .hand-area,body.left-handed .mobile-bar{flex-direction:row-reverse;direction:rtl}body.left-handed .hand-area>*,body.left-handed .mobile-bar>*{direction:ltr}.cell.armed{box-shadow:0 0 0 3px #fde68a,0 0 18px 4px #fbbf24b3!important;z-index:12}.cell.armed:after{content:"tap again";position:absolute;left:50%;bottom:-2px;transform:translate(-50%);font-size:7px;font-weight:800;letter-spacing:.02em;color:#78350f;background:#fde68a;border-radius:3px;padding:0 3px;white-space:nowrap;pointer-events:none;z-index:13}.ready-dot{font-size:.72rem;font-weight:800;padding:1px 7px;border-radius:999px;border:1px solid var(--panel-border);color:var(--ink-dim)}.ready-dot.on{color:#bbf7d0;border-color:#22c55e99;background:#22c55e29}.slider{width:130px;accent-color:var(--gold)}@media(min-width:761px)and (max-width:1150px){.game-main{display:grid;grid-template-columns:200px 1fr 200px;gap:10px}.game-side{display:flex}.mobile-strip,.mobile-bar{display:none}}@media(orientation:landscape)and (max-height:560px)and (pointer:coarse){.rotate-overlay{display:none!important}.game-main{display:flex;flex-direction:row;align-items:stretch;padding:4px;gap:6px}.game-center{flex:1;min-width:0;flex-direction:row;align-items:center;gap:6px}.board-area{flex:1 1 auto;height:100%}.hand-area{flex:0 0 auto;grid-template-columns:1fr;max-width:140px;padding:0 4px}.hand{min-height:0;padding-top:4px}.hand-card{width:46px;height:65px}.mobile-strip{display:none}.game-header{padding:2px 8px}.mobile-bar{padding:4px 6px calc(4px + env(safe-area-inset-bottom))}.mb-lbl{display:none}.mb-btn{min-height:34px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pw-input{margin-top:8px;width:100%;letter-spacing:normal;text-align:left;font-size:13px}.pw-field input{width:100%}.board-meter{display:flex;align-items:center;gap:14px;margin-bottom:6px;font-size:12px;color:var(--ink-dim);font-weight:600;flex-shrink:0}.bm-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bm-bar{display:inline-block;width:90px;height:7px;border-radius:999px;background:#ffffff1f;overflow:hidden}.bm-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#fbbf24 70%,#ef4444);transition:width .3s ease}.dead-tools{display:flex;flex-direction:column;align-items:center;gap:6px}.dead-count{font-size:11.5px;color:var(--red);font-weight:700;letter-spacing:.02em}.refresh-dead{white-space:nowrap}.btn-sm{padding:6px 12px;font-size:12.5px}.win-tag{margin:2px 0 0;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}body[data-board=galaxy] .game-main,body[data-board=abyss] .game-main,body[data-board=inferno] .game-main,body[data-board=aurora] .game-main,body[data-board=sakura] .game-main,body[data-board=neon] .game-main,body[data-board=love] .game-main{position:relative;isolation:isolate;overflow:hidden}body[data-board=galaxy]{--frame-ink: rgba(228, 232, 255, .95)}body[data-board=galaxy] .game-main{background:#000105}body[data-board=galaxy] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 34%,rgba(150,170,255,.1) 50%,transparent 66%),radial-gradient(40% 30% at 68% 42%,rgba(90,120,255,.1),transparent 70%),radial-gradient(34% 26% at 30% 70%,rgba(180,90,220,.08),transparent 70%);animation:galaxy-band 26s ease-in-out infinite alternate}body[data-board=galaxy] .game-main:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:-1;pointer-events:none;background-image:radial-gradient(1.6px 1.6px at 12% 22%,#fff,transparent),radial-gradient(2px 2px at 34% 68%,#eaf0ff,transparent),radial-gradient(1.4px 1.4px at 58% 14%,#fff,transparent),radial-gradient(1.3px 1.3px at 71% 51%,#dfe6ff,transparent),radial-gradient(2.2px 2.2px at 88% 33%,#fff,transparent),radial-gradient(1.4px 1.4px at 21% 84%,#fff,transparent),radial-gradient(1.6px 1.6px at 46% 91%,#eaf0ff,transparent),radial-gradient(1.3px 1.3px at 64% 77%,#fff,transparent),radial-gradient(2px 2px at 93% 66%,#fff,transparent),radial-gradient(1.5px 1.5px at 8% 55%,#dfe6ff,transparent),radial-gradient(1.2px 1.2px at 50% 40%,#fff,transparent),radial-gradient(1.2px 1.2px at 78% 88%,#fff,transparent);background-repeat:repeat;background-size:300px 300px;animation:star-drift 120s linear infinite,star-twinkle 4s ease-in-out infinite}body[data-board=galaxy] .board-frame{--frame-bg: linear-gradient(165deg, rgba(16, 18, 34, .62) 0%, rgba(4, 4, 12, .72) 100%);border:1px solid rgba(150,165,235,.4);box-shadow:inset 0 1px #bec8ff38,0 0 40px #465ac859,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-board=abyss]{--frame-ink: rgba(222, 246, 255, .96)}body[data-board=abyss] .game-main{background:linear-gradient(180deg,#157fa6,#0a5273 34%,#063b57 62%,#021c2c)}body[data-board=abyss] .game-main:before{content:"";position:absolute;top:-10%;right:-10%;bottom:0;left:-10%;z-index:-1;pointer-events:none;background:repeating-linear-gradient(96deg,#bef0ff00 0,#bef0ff00 5%,#bef0ff24,#bef0ff00 8%,#bef0ff00 15%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 72%);mask-image:linear-gradient(180deg,#000 0%,transparent 72%);transform-origin:top center;animation:sea-rays 9s ease-in-out infinite alternate}body[data-board=abyss] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(3px 3px at 18% 100%,rgba(210,245,255,.55),transparent 60%),radial-gradient(2px 2px at 42% 100%,rgba(210,245,255,.45),transparent 60%),radial-gradient(2.5px 2.5px at 63% 100%,rgba(210,245,255,.5),transparent 60%),radial-gradient(1.8px 1.8px at 82% 100%,rgba(210,245,255,.45),transparent 60%),radial-gradient(2.2px 2.2px at 92% 100%,rgba(210,245,255,.4),transparent 60%);background-size:100% 130%;animation:bubbles 11s linear infinite}body[data-board=abyss] .board-frame{--frame-bg: linear-gradient(165deg, rgba(16, 96, 128, .55) 0%, rgba(5, 44, 66, .68) 100%);border:1px solid rgba(130,225,255,.42);box-shadow:inset 0 1px #bef5ff47,0 0 40px #28aadc66,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-board=inferno]{--frame-ink: rgba(255, 236, 222, .97)}body[data-board=inferno] .game-main{background:radial-gradient(120% 90% at 50% 118%,#2a0b03,#120402 46%,#070202 78%)}body[data-board=inferno] .game-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(80% 42% at 50% 116%,rgba(255,170,40,.55),transparent 66%),radial-gradient(55% 34% at 28% 120%,rgba(255,70,12,.5),transparent 66%),radial-gradient(55% 34% at 74% 118%,rgba(255,110,20,.5),transparent 66%),radial-gradient(100% 60% at 50% 128%,rgba(120,20,4,.5),transparent 70%);animation:ember-flicker 3.2s ease-in-out infinite}body[data-board=inferno] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(2.2px 2.2px at 28% 100%,rgba(255,190,70,.9),transparent 60%),radial-gradient(1.6px 1.6px at 48% 100%,rgba(255,140,40,.8),transparent 60%),radial-gradient(2.4px 2.4px at 66% 100%,rgba(255,210,90,.9),transparent 60%),radial-gradient(1.8px 1.8px at 84% 100%,rgba(255,160,50,.8),transparent 60%);background-size:100% 130%;animation:embers-rise 6s linear infinite}body[data-board=inferno] .board-frame{--frame-bg: linear-gradient(165deg, #6e2408 0%, #2c0c02 45%, #521805 70%, #1c0602 100%);border:1px solid rgba(255,150,55,.55);box-shadow:inset 0 1px #ffb95f52,0 0 46px #ff550f80,var(--shadow-lg)}body[data-board=aurora]{--frame-ink: rgba(236, 255, 246, .96)}body[data-board=aurora] .game-main{background:linear-gradient(180deg,#041019,#061622 55%,#02090f)}body[data-board=aurora] .game-main:before{content:"";position:absolute;top:-35%;right:-20%;bottom:-35%;left:-20%;z-index:-1;pointer-events:none;background:radial-gradient(45% 70% at 22% 30%,rgba(50,255,170,.42),transparent 62%),radial-gradient(42% 66% at 52% 22%,rgba(70,150,255,.36),transparent 62%),radial-gradient(48% 72% at 78% 34%,rgba(210,80,230,.34),transparent 62%);filter:blur(22px);animation:aurora-flow 14s ease-in-out infinite alternate}body[data-board=aurora] .game-main:after{content:"";position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;z-index:-1;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 20% 26%,#fff,transparent),radial-gradient(1.2px 1.2px at 60% 62%,#dfffe9,transparent),radial-gradient(1.5px 1.5px at 85% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 40% 82%,#fff,transparent),radial-gradient(1.3px 1.3px at 74% 74%,#eafff2,transparent);background-size:240px 240px;animation:star-twinkle 5s ease-in-out infinite}body[data-board=aurora] .board-frame{--frame-bg: linear-gradient(165deg, rgba(14, 64, 66, .55) 0%, rgba(20, 26, 66, .66) 100%);border:1px solid rgba(120,255,205,.4);box-shadow:inset 0 1px #cdffe83d,0 0 42px #46dcaf66,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-board=galaxy] .bf-word,body[data-board=abyss] .bf-word,body[data-board=inferno] .bf-word,body[data-board=aurora] .bf-word,body[data-board=sakura] .bf-word,body[data-board=neon] .bf-word,body[data-board=love] .bf-word,body[data-board=galaxy] .bf-oval,body[data-board=abyss] .bf-oval,body[data-board=inferno] .bf-oval,body[data-board=aurora] .bf-oval,body[data-board=sakura] .bf-oval,body[data-board=neon] .bf-oval,body[data-board=love] .bf-oval{color:var(--frame-ink);border-color:var(--frame-ink)}body[data-board=love]{--frame-ink: rgba(255, 232, 240, .97)}body[data-board=love] .game-main{background:linear-gradient(180deg,#2a0a1a,#5c1230 52%,#93264f)}body[data-board=love] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 45% at 24% 20%,rgba(255,150,190,.3),transparent 70%),radial-gradient(60% 50% at 78% 84%,rgba(255,95,150,.26),transparent 70%);animation:love-glow 3.4s ease-in-out infinite}body[data-board=love] .game-main:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12,21.35l-1.45-1.32C5.4,15.36,2,12.28,2,8.5C2,5.42,4.42,3,7.5,3c1.74,0,3.41,0.81,4.5,2.09C13.09,3.81,14.76,3,16.5,3C19.58,3,22,5.42,22,8.5c0,3.78-3.4,6.86-8.55,11.54L12,21.35z'%20fill='%23ff9ec4'%20opacity='0.55'/%3E%3C/svg%3E");background-size:76px 76px;animation:hearts-rise 13s linear infinite}body[data-board=love] .board-frame{--frame-bg: linear-gradient(165deg, rgba(120, 30, 65, .62) 0%, rgba(70, 15, 40, .74) 100%);border:1px solid rgba(255,165,200,.5);box-shadow:inset 0 1px #ffd2e147,0 0 44px #e846846b,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes hearts-rise{to{background-position:0 -76px}}@keyframes love-glow{50%{opacity:.72;transform:scale(1.03)}}body[data-board=sakura]{--frame-ink: rgba(255, 236, 245, .96)}body[data-board=sakura] .game-main{background:linear-gradient(180deg,#2a1430,#52243f 55%,#7a3a52)}body[data-board=sakura] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(45% 35% at 78% 18%,rgba(255,197,150,.28),transparent 70%),radial-gradient(60% 45% at 20% 92%,rgba(255,150,190,.18),transparent 70%)}body[data-board=sakura] .game-main:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;z-index:-1;pointer-events:none;background-image:radial-gradient(6px 4px at 10% 12%,rgba(255,205,224,.9),transparent),radial-gradient(5px 3px at 30% 40%,rgba(255,183,210,.85),transparent),radial-gradient(7px 5px at 55% 20%,rgba(255,214,230,.9),transparent),radial-gradient(5px 3px at 72% 55%,rgba(255,190,215,.8),transparent),radial-gradient(6px 4px at 88% 30%,rgba(255,205,224,.9),transparent),radial-gradient(5px 3px at 20% 78%,rgba(255,198,220,.85),transparent),radial-gradient(6px 4px at 46% 88%,rgba(255,214,230,.9),transparent),radial-gradient(5px 3px at 66% 74%,rgba(255,190,215,.8),transparent);background-repeat:repeat;background-size:340px 340px;animation:petals-fall 14s linear infinite}body[data-board=sakura] .board-frame{--frame-bg: linear-gradient(165deg, rgba(70, 30, 55, .6) 0%, rgba(40, 18, 40, .72) 100%);border:1px solid rgba(255,190,215,.45);box-shadow:inset 0 1px #ffdceb42,0 0 40px #dc6ea059,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-board=neon]{--frame-ink: rgba(226, 240, 255, .96)}body[data-board=neon] .game-main{background:linear-gradient(180deg,#0a0420,#140a35 60%,#22103f)}body[data-board=neon] .game-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(70% 40% at 50% 100%,rgba(255,60,190,.28),transparent 70%),radial-gradient(50% 30% at 50% 0%,rgba(60,220,255,.16),transparent 70%);animation:neon-pulse 6s ease-in-out infinite alternate}body[data-board=neon] .game-main:before{content:"";position:absolute;left:-50%;right:-50%;bottom:-10%;height:70%;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(0,240,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,40,200,.3) 1px,transparent 1px);background-size:44px 44px;transform:perspective(320px) rotateX(66deg);transform-origin:center bottom;animation:neon-grid 3.2s linear infinite}body[data-board=neon] .board-frame{--frame-bg: linear-gradient(165deg, rgba(30, 14, 60, .62) 0%, rgba(12, 6, 30, .74) 100%);border:1px solid rgba(120,210,255,.5);box-shadow:inset 0 1px #bee6ff3d,0 0 42px #783cff66,var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes petals-fall{to{transform:translate3d(-120px,340px,0)}}@keyframes neon-grid{to{background-position:0 44px,0 0}}@keyframes neon-pulse{50%{opacity:.72}}@keyframes star-drift{to{transform:translate3d(-300px,-160px,0)}}@keyframes star-twinkle{50%{opacity:.5}}@keyframes galaxy-band{50%{opacity:.7;transform:translate3d(3%,2%,0)}}@keyframes sea-rays{0%{transform:skew(-4deg) translate(-3%);opacity:.7}to{transform:skew(5deg) translate(3%);opacity:1}}@keyframes bubbles{0%{background-position:0 0,0 0,0 0,0 0,0 0;opacity:.85}to{background-position:0 -680px,0 -560px,0 -720px,0 -600px,0 -640px;opacity:.25}}@keyframes ember-flicker{25%{opacity:.82;transform:scaleY(1.03)}55%{opacity:1}80%{opacity:.74;transform:scaleY(.98)}}@keyframes embers-rise{0%{background-position:0 0,0 0,0 0,0 0;opacity:.9}to{background-position:0 -520px,0 -600px,0 -470px,0 -560px;opacity:.2}}@keyframes aurora-flow{50%{transform:translate3d(5%,3%,0) scale(1.14)}to{transform:translate3d(-4%,-2%,0) scale(1.06)}}.settings-section{margin:6px 0 4px}.settings-section+.settings-section{border-top:1px solid var(--panel-border);padding-top:10px;margin-top:12px}.settings-section-title{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.apply-all{margin-top:8px;width:100%}.lobby-section-title{margin:12px 0 2px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.lobby-section-title:first-child{margin-top:0}.daily-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left}.daily-ico{font-size:1.5rem;line-height:1}.daily-text{display:flex;flex-direction:column;gap:2px}.daily-text b{font-size:.98rem}.daily-text i{font-style:normal;font-size:.78rem;opacity:.75}.seed-toggle{display:block;margin:6px auto 0;font-size:.82rem}.seed-row{margin-top:8px}.seed-panel{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 4px;padding:12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.seed-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.seed-code{font-family:ui-monospace,monospace;font-size:1.15rem;font-weight:800;letter-spacing:.14em;color:var(--gold);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:8px}.seed-code:hover{background:#ffffff14}.seed-panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.modal.replay{max-width:460px}.replay-caption{text-align:center;font-size:.85rem;opacity:.82;min-height:1.2em;margin-bottom:10px}.replay-board-wrap{display:flex;justify-content:center;--board-size: min(78vw, 340px)}.replay-board{pointer-events:none}.replay-slider{width:100%;margin:14px 0 6px}.replay-controls{display:flex;justify-content:center;align-items:center;gap:8px}.ls-rules{margin:12px 0 4px}.preset-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.preset-btn{flex:1 1 auto;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.preset-btn:hover{background:#ffffff14}.preset-btn.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.preset-note{margin:8px 2px 0;font-size:.78rem;opacity:.72;min-height:1.1em}.ls-match{margin-top:12px}.series-panel{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 2px}.series-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.78}.series-score{display:flex;gap:18px;align-items:center}.series-team{display:inline-flex;align-items:center;gap:6px;font-size:1.4rem}.quick-phrases{display:flex;flex-wrap:wrap;gap:5px;padding:6px 0}.quick-phrase{padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:inherit;font-size:.76rem;cursor:pointer;transition:background .15s,border-color .15s}.quick-phrase:hover{background:#ffffff1a;border-color:var(--gold)}button.stats-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 12px;color:inherit;font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s}button.stats-line:hover{background:#ffffff14;border-color:var(--gold)}.stats-level{font-weight:800;font-size:.72rem;letter-spacing:.08em;color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent);padding:2px 8px;border-radius:999px}.stats-more{opacity:.6;font-size:.74rem}.progress-modal{max-width:460px}.level-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}.level-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--gold),#7a5c12);color:#1a1205;flex-shrink:0}.level-num{font-size:1.5rem;font-weight:900;line-height:1}.level-word{font-size:.52rem;letter-spacing:.14em;font-weight:700}.level-bar-wrap{flex:1}.level-bar{height:12px;border-radius:999px;background:#ffffff1a;overflow:hidden}.level-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),#ffe9a8);transition:width .4s ease}.level-xp{display:block;margin-top:6px;font-size:.76rem;opacity:.72}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.stat-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;background:#ffffff0a}.stat-cell b{font-size:1.25rem;color:var(--gold)}.stat-cell span{font-size:.72rem;opacity:.7}.ach-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-bottom:8px}.ach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ach-card{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.ach-card.locked{opacity:.5}.ach-card.got{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent)}.ach-emoji{font-size:1.4rem;line-height:1}.ach-label{font-weight:700;font-size:.85rem}.ach-desc{font-size:.72rem;opacity:.7}.mvp-line{text-align:center;font-size:.9rem;margin:4px 0 2px;color:var(--gold)}.room-code-chip{align-self:flex-start;font-family:ui-monospace,monospace;font-size:1.3rem;font-weight:800;letter-spacing:.18em;color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:10px;padding:6px 14px;cursor:pointer}.room-code-chip:hover{background:color-mix(in srgb,var(--gold) 20%,transparent)}.badge.away{background:#fbbf2433;color:#fcd34d}.gh-turn.away{color:#fcd34d}.install-btn{width:100%}.ios-install-hint{margin:2px 0 0;padding:10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);font-size:.82rem;line-height:1.5}.ios-share{display:inline-block;border:1px solid currentColor;border-radius:5px;padding:0 5px;font-size:.9em}.modal.ios-fs-help{max-width:380px}.ios-fs-lead{margin:0 0 12px;font-size:.9rem;line-height:1.5;opacity:.9}.ios-fs-steps{margin:0 0 12px;padding-left:1.2em;display:flex;flex-direction:column;gap:8px;font-size:.9rem;line-height:1.45}.ios-fs-steps li::marker{color:var(--gold);font-weight:800}.ios-fs-note{margin:0 0 14px;font-size:.8rem;opacity:.7;line-height:1.45}
