.s7-corner,.t13-corner,.bj-corner,.b2-corner{position:absolute;top:max(8px,env(safe-area-inset-top));z-index:2;display:flex;align-items:center;gap:6px}.s7-corner-left,.t13-corner-left,.bj-corner-left,.b2-corner-left{left:max(8px,env(safe-area-inset-left));flex-direction:column;align-items:flex-start;font-size:13px}.s7-corner-left .room-code{width:min-content}.s7-corner-left .room-game{white-space:normal}.bj-corner-left .room-code{flex-direction:row;align-items:baseline;gap:6px}.s7-board,.t13-board,.bj-board,.b2-board{position:relative;flex:1;min-height:0;width:100%;max-width:560px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top top top" "left center right" "status status status" "bottom bottom bottom";row-gap:clamp(4px,1vh,10px);column-gap:6px}.q-felt:before,.q-felt:after,.s7-felt:before,.s7-felt:after,.t13-felt:before,.t13-felt:after,.bj-felt:before,.bj-felt:after,.b2-felt:before,.b2-felt:after{content:"";position:absolute;border-radius:46%/18%}.s7-row-top,.t13-row-top,.bj-row-top,.b2-row-top{grid-area:top;display:flex;justify-content:center;padding:0 44px}.s7-side,.t13-side,.bj-side,.b2-side{display:flex;flex-direction:column;justify-content:center;min-width:0}.s7-side-left,.t13-side-left,.bj-side-left,.b2-side-left{grid-area:left;align-items:flex-start;padding-left:clamp(4px,2vw,16px)}.s7-side-right,.t13-side-right,.bj-side-right,.b2-side-right{grid-area:right;align-items:flex-end;padding-right:clamp(4px,2vw,16px)}.s7-pod,.t13-pod,.bj-pod,.b2-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%}.s7-table .seat,.t13-table .seat,.bj-table .seat,.b2-table .seat{flex-direction:row;gap:6px;max-width:100%;min-width:0;padding:2px 10px 2px 2px;border-radius:999px;background:#061610c7;box-shadow:0 0 0 1px #ffffff1a;transition:box-shadow .25s,background-color .25s}.s7-table .seat-info,.t13-table .seat-info,.bj-table .seat-info,.b2-table .seat-info{align-items:flex-start;min-width:0;gap:0}.s7-backs,.t13-backs{display:flex;align-items:center;min-height:30px;--small-w: 20px;--small-h: 28px}.s7-count,.b2-count{margin-left:6px;font-size:13px;font-weight:700}.s7-status .last-action,.t13-status .last-action,.bj-status .last-action,.b2-status .last-action{margin-top:3px!important;font-size:13px;line-height:1.3;white-space:nowrap;text-overflow:ellipsis;color:#f4f1e8b8}.s7-bottom,.t13-bottom,.bj-bottom,.b2-bottom{grid-area:bottom;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:0}.q-offline,.s7-offline,.t13-offline,.bj-offline,.b2-offline{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:3}.s7-actions,.t13-actions,.bj-actions,.b2-actions{display:flex;justify-content:center;gap:8px;height:44px;flex:none;align-items:center}.t13-natural,.bj-x2{font-size:11px;font-weight:800;color:var(--accent)}.s7-chat,.t13-chat,.bj-chat,.b2-chat{width:100%;display:flex;justify-content:center}.s7-sheet,.t13-sheet,.bj-sheet,.b2-sheet{position:fixed;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:10;width:min(100% - 16px,460px);max-height:72dvh;overflow-y:auto;gap:10px;animation:sheet-up .22s ease-out}.s7-scores,.t13-scores,.bj-scores,.b2-scores{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.s7-scores th,.t13-scores th,.bj-scores th,.b2-scores th{font-size:11px;font-weight:600;color:var(--ink-dim);text-align:right;padding:2px 4px}.s7-scores td,.t13-scores td,.bj-scores td,.b2-scores td{text-align:right;padding:5px 4px;border-top:1px solid rgba(255,255,255,.08)}.s7-scores td.s7-name,.t13-scores td.t13-name,.bj-scores td.bj-name,.b2-scores td.b2-name{text-align:left;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.q-right .say-bubble,.s7-right .say-bubble,.t13-right .say-bubble,.bj-right .say-bubble,.b2-right .say-bubble{left:auto;right:0;--say-x: 0%}.s7-sheet-hint,.bj-sheet-hint,.b2-sheet-hint{margin:0;font-size:12px;color:var(--ink-dim);text-align:center}.s7-sheet-actions,.t13-sheet-actions,.bj-sheet-actions,.b2-sheet-actions{display:flex;justify-content:center;gap:10px}.s7-sheet-reopen,.t13-sheet-reopen,.bj-sheet-reopen,.b2-sheet-reopen{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:10}.s7-sheet .panel-head,.t13-sheet .panel-head,.bj-sheet .panel-head,.b2-sheet .panel-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.s7-sheet .panel-head .link,.t13-sheet .panel-head .link,.bj-sheet .panel-head .link,.b2-sheet .panel-head .link{justify-self:end;white-space:nowrap;font-size:13px}.lobby-room{position:relative;flex:1 1 auto;min-height:150px;max-height:440px;border-radius:14px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 6px 18px #0000004d;background:#d9c9a6 url(/assets/lounge-DjTBqli_.png) 0 0 / 100% 100% no-repeat;image-rendering:pixelated;cursor:grab;container-type:inline-size}.lr-walker{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);pointer-events:none}.lr-walker:not(.me){transition:left .17s linear,top .17s linear}.lr-walker:not(.me) .lr-name{transition:transform .17s linear}.lr-name{--at: calc(var(--x) * 100cqw);transform:translate(calc(max(0px,50% + 4px - var(--at)) - max(0px,var(--at) + 50% + 4px - 100cqw)))}.lr-walker.away{opacity:.5}.lr-name{max-width:180px;margin-bottom:1px;padding:1px 6px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;color:#fff;background:#141c24b8}.lr-name.owner{color:#2a1d05;background:#f2c14e}.lr-body,.lr-pop{display:block;line-height:0}.lr-pop{animation:lr-pop .38s cubic-bezier(.3,1.6,.5,1) both}.lr-body .sprite{display:block;image-rendering:pixelated;background-repeat:no-repeat}.lr-body.left .sprite{transform:scaleX(-1)}.lr-walker.walking .lr-body{animation:lr-bob .3s ease-in-out infinite}.lr-shadow{width:70%;height:6px;margin-top:-3px;border-radius:50%;background:#00000038}.lr-walker.me .lr-shadow{background:#f2c14e59;box-shadow:0 0 0 2px #f2c14e}@keyframes lr-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes lr-pop{0%{transform:scale(0)}to{transform:scale(1)}}.lr-walker:has(.lr-say){z-index:140!important}.lr-say{position:absolute;left:50%;bottom:calc(100% + 4px);width:max-content;max-width:150px;padding:4px 9px;border-radius:10px;background:#fffdf7;color:#1d1d1f;font-size:12px;font-weight:500;line-height:1.3;text-align:left;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;box-shadow:0 3px 10px #00000059;animation:lr-say-in .18s ease-out}.lr-say.below{bottom:auto;top:calc(100% + 2px)}@keyframes lr-say-in{0%{opacity:0}}.lr-stick{position:absolute;z-index:200;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#141c2438;border:2px solid rgba(255,255,255,.5);pointer-events:none}.lr-stick span{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:#ffffffd9;box-shadow:0 2px 6px #0000004d}.lr-hint{position:absolute;left:50%;bottom:8px;z-index:150;margin:0;padding:3px 10px;transform:translate(-50%);white-space:nowrap;border-radius:999px;font-size:12px;color:#fff;background:#141c2499;pointer-events:none}@media(prefers-reduced-motion:reduce){.lr-walker.walking .lr-body,.lr-pop{animation:none}}.q-table{--q-opp-w: clamp(14px, min(5.4vw, 4.2vh), 30px);--q-me-w: clamp(44px, min(20.5vw, 14vh), 100px);--q-pile-w: clamp(32px, min(12vw, 10vh), 66px);--q-rail: clamp(6px, 2vw, 11px);--q-room: #0a281d;--q-wood-hi: #8a5a34;--q-wood: #5c3a1f;--q-wood-lo: #3d2412;--q-felt-hi: #24865d;--q-felt: #196b4b;--q-felt-lo: #0f4f37;--q-gold: var(--accent);position:relative;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 90% 70% at 50% 45%,#10402e 0%,var(--q-room) 70%,#061a13 100%)}.q-corner{position:absolute;top:max(8px,env(safe-area-inset-top));z-index:2;display:flex;align-items:center}.q-corner-left{left:max(8px,env(safe-area-inset-left));font-size:13px}.q-corner-right{right:max(8px,env(safe-area-inset-right))}.q-board{position:relative;flex:1;min-height:0;width:100%;max-width:560px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr auto auto auto auto 1fr;grid-template-areas:". . ." "top top top" "left center right" "status status status" "bottom bottom bottom" ". . .";row-gap:clamp(4px,calc((100dvh - 560px) / 7),40px);column-gap:8px}.q-felt{grid-row:2 / 5;grid-column:1 / -1;position:relative;z-index:0;margin:10px 0 calc(var(--q-me-w) * -.7);border-radius:46%/18%;background:linear-gradient(90deg,var(--q-wood-lo),var(--q-wood) 30%,var(--q-wood-hi) 50%,var(--q-wood) 70%,var(--q-wood-lo));box-shadow:0 0 0 1px #00000080,0 14px 36px #0000008c;pointer-events:none}.q-felt:before{inset:var(--q-rail);background:radial-gradient(ellipse 80% 60% at 50% 42%,var(--q-felt-hi) 0%,var(--q-felt) 55%,var(--q-felt-lo) 100%);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.q-felt:after{inset:calc(var(--q-rail) + clamp(8px,2.6vw,14px));border:1px solid rgba(255,210,87,.2)}.q-row-top,.q-side,.q-center,.q-status,.q-bottom{position:relative;z-index:1}.q-row-top{grid-area:top;display:flex;justify-content:center;padding:0 44px}.q-side{display:flex;flex-direction:column;justify-content:center;gap:clamp(8px,calc((100dvh - 520px)/8),32px);min-width:0}.q-side-left{grid-area:left;align-items:flex-start;padding-left:clamp(2px,1.5vw,20px)}.q-side-right{grid-area:right;align-items:flex-end;padding-right:clamp(2px,1.5vw,20px)}.q-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.q-pod.gone{opacity:.5}.q-pod .seat{flex-direction:row;gap:6px;padding:2px 10px 2px 2px;border-radius:999px;background:#061610c7;box-shadow:0 0 0 1px #ffffff1a;transition:box-shadow .25s,background-color .25s}.q-pod .seat-info{align-items:flex-start;max-width:124px}.q-pod .seat-name{font-size:14px;font-weight:600}.q-pod.turn .seat,.q-pod.winner .seat{background:var(--q-gold);color:var(--accent-ink);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.q-pod.turn .seat-name,.q-pod.winner .seat-name{color:var(--accent-ink)}.q-pod.turn .q-hand:before{content:"";position:absolute;top:-30%;right:-18%;bottom:-30%;left:-18%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,#ffd25752,#ffd25700);animation:q-turn-glow 2.4s ease-in-out infinite;pointer-events:none}@keyframes q-turn-glow{50%{opacity:.55}}.q-pod.q-me{flex-direction:column-reverse;gap:0}.q-pod.q-me .seat{position:relative;z-index:2;margin-top:-10px}.q-pod.q-me .seat-info{max-width:180px}.q-hand{position:relative;isolation:isolate;display:flex;gap:clamp(3px,.7vw,7px)}.q-slot{position:relative}.q-pod .card{--card-w: var(--q-opp-w);--card-h: calc(var(--q-opp-w) * 1.4);border-radius:5px;box-shadow:0 2px 4px #00000073}.q-pod .card.back{border-width:2px}.q-me .card{--card-w: var(--q-me-w);--card-h: calc(var(--q-me-w) * 1.4);border-radius:7px;box-shadow:0 4px 10px #00000080}.q-me .card.back{border-width:3px}.q-pod .card.selected{transform:translateY(-8px)}.q-lock{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:#141418d1;color:var(--accent);pointer-events:none;animation:q-lock-in .32s ease-out}.q-lock svg{width:62%;height:62%}@keyframes q-lock-in{0%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.card.locked{filter:brightness(.8)}.card.touched{animation:q-touched 2.1s ease-out}@keyframes q-touched{0%,60%{box-shadow:0 0 0 3px var(--select),0 0 14px #6cc4ffb3}}.fx-peek .q-hand{animation:q-peek 1.5s ease-out}@keyframes q-peek{40%{transform:translateY(-5px) scale(1.04)}}.fx-scramble .q-slot{animation:q-scramble 1.3s ease-in-out}.fx-scramble .q-slot:nth-child(2n){animation-direction:reverse}@keyframes q-scramble{25%{transform:translate(-30%) rotate(-8deg)}50%{transform:translate(25%) rotate(6deg)}75%{transform:translate(-12%) rotate(-3deg)}}.q-board.over .card.shown{animation:flip-in .6s ease-out both}@media(prefers-reduced-motion:reduce){.fx-peek .q-hand,.fx-scramble .q-slot,.q-board.over .card.shown,.card.touched,.q-pod.turn .q-hand:before{animation:none}}.q-score{font-size:12px;font-weight:600;line-height:1.15;white-space:nowrap}.q-score b{color:var(--q-gold)}.q-pod.winner .q-score b{color:var(--accent-ink)}.q-pod .seat-info:has(.q-score){gap:0}.q-ready{position:absolute;white-space:nowrap;font-weight:700;border-radius:999px}.q-ready{top:-8px;left:auto;right:-10px;transform:none;padding:0 6px;font-size:12px;line-height:18px;background:#2e7d4f;box-shadow:0 1px 3px #00000080}.q-center{grid-area:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.q-piles{display:flex;gap:clamp(6px,2vw,14px);align-items:flex-start}.q-pile{display:flex;flex-direction:column;align-items:center}.q-pile .card{--card-w: var(--q-pile-w);--card-h: calc(var(--q-pile-w) * 1.4)}.q-hold.vacant{visibility:hidden}.q-pile-label{margin-top:3px;font-size:13px;color:#f4f1e8b3;white-space:nowrap;min-height:1.3em}.q-pile .card.empty{border:1.5px dashed rgba(255,255,255,.22);background:#00000014}.q-status{grid-area:status;--q-line: 1.3em;justify-self:center;width:min(100%,360px);min-height:calc(var(--q-line) * 3 + 10px);text-align:center}.q-status p{margin:0;overflow:hidden}.q-status .status-line{display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;box-sizing:border-box;padding:3px 12px;border-radius:12px;background:#04140e8c;font-size:16px;font-weight:600;line-height:var(--q-line)}.q-status .status-line.mine{color:var(--q-gold)}.q-status .last-action{margin-top:3px!important;font-size:14px;line-height:1.3;white-space:nowrap;text-overflow:ellipsis;color:#f4f1e8b8}.q-bottom{grid-area:bottom;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"me" "actions" "chat";justify-items:center;row-gap:8px}.q-bottom .q-me{grid-area:me}.q-chat{grid-area:chat;width:100%;min-width:0;display:flex;justify-content:center}.q-chat .chat-bar{width:min(100%,420px)}.q-actions{grid-area:actions;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:42px;align-items:center}.q-actions .btn{padding:0 16px;white-space:nowrap}.q-pile .card.used{filter:brightness(.62) saturate(.5)}.q-pile-label.used{color:var(--q-gold);font-weight:600}.q-zoom-panel{max-width:360px;align-items:center;text-align:center;gap:14px}.q-zoom-title{margin:0;font-weight:600}.q-zoom-hand{gap:10px}.q-zoom-hand .card{--card-w: 62px;--card-h: 87px;border-radius:7px}.q-top .say-bubble{bottom:auto;top:calc(100% + 6px)}.q-left .say-bubble{left:0;--say-x: 0%}.q-row-top:has(.say-bubble),.q-side:has(.say-bubble),.q-bottom:has(.say-bubble){z-index:3}@media(max-width:400px){.q-side .seat-info,.q-row-top .seat-info{max-width:78px}.q-pod .seat-name{font-size:13px}}@media(max-height:620px){.q-status .status-line{font-size:15px}.q-status .last-action{font-size:13px}.q-actions{min-height:38px}.q-actions .btn{min-height:36px}.q-bottom{row-gap:6px}}@media(max-height:520px){.q-status{min-height:calc(var(--q-line) * 2 + 8px)}.q-status .last-action{display:none}.q-chat .chat-bar{min-height:32px}}.q-side .q-pod,.q-row-top .q-pod{max-width:100%}.q-side .seat,.q-row-top .seat{max-width:100%;min-width:0}.q-side .seat-info,.q-row-top .seat-info{max-width:none;min-width:0}.q-pile{width:var(--q-pile-w)}.q-pile-label{max-width:calc(var(--q-pile-w) + 14px);overflow:hidden;text-overflow:ellipsis}@media(max-width:400px){.q-pile-label{font-size:12px}}.q-side .q-unit,.q-row-top .q-unit{display:none}.q-pod.turn .q-score b{color:var(--accent-ink)}.s7-table{--s7-me-w: clamp(40px, min(15vw, 9vh), 72px);--s7-pile-w: var(--s7-me-w);--s7-rail: clamp(6px, 2vw, 11px);--s7-other-w: clamp(20px, min(9vw, 5vh - 5px), 36px);--s7-dead-w: clamp(26px, min(10vw, 6vh), 44px);--s7-gold: var(--accent);position:relative;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 90% 70% at 50% 45%,#10402e,#0a281d 70%,#061a13)}.s7-corner-right{right:max(8px,env(safe-area-inset-right))}.s7-round{font-size:12px;color:var(--ink-dim)}.s7-felt{grid-row:1 / 4;grid-column:1 / -1;position:relative;z-index:0;margin:10px 0 calc(var(--s7-me-w) * -.9);border-radius:46%/18%;background:linear-gradient(90deg,#3d2412,#5c3a1f 30%,#8a5a34,#5c3a1f 70%,#3d2412);box-shadow:0 0 0 1px #00000080,0 14px 36px #0000008c;pointer-events:none}.s7-felt:before{inset:var(--s7-rail);background:radial-gradient(ellipse 80% 60% at 50% 42%,#24865d,#196b4b 55%,#0f4f37);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.s7-felt:after{inset:calc(var(--s7-rail) + clamp(8px,2.6vw,14px));border:1px solid rgba(255,210,87,.2)}.s7-row-top,.s7-side,.s7-center,.s7-status,.s7-bottom{position:relative;z-index:1}.s7-pod.gone{opacity:.5}.s7-table .seat-name{font-size:13px;font-weight:600}.s7-total{font-size:12px;font-weight:700;color:var(--s7-gold);line-height:1.15}.s7-pod.turn .seat,.s7-bottom.turn .s7-me-plaque .seat{background:var(--s7-gold);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.s7-pod.turn .seat-name,.s7-pod.turn .s7-total,.s7-bottom.turn .s7-me-plaque .seat-name,.s7-bottom.turn .s7-me-plaque .s7-total{color:var(--accent-ink)}.s7-backs{--small-w: var(--s7-other-w);--small-h: calc(var(--s7-other-w) * 1.4);min-height:calc(var(--s7-other-w) * 1.4 + 2px)}.s7-backs .card+.card{margin-left:calc(var(--small-w) * -.6)}.s7-backs .card.live-left{outline:2px solid rgba(255,138,128,.85)}.s7-dead{--small-w: calc(var(--s7-other-w) * 1.1);--small-h: calc(var(--small-w) * 1.4);--dead-step: calc(var(--small-w) * .36);container-type:inline-size;display:flex;justify-content:center;height:var(--small-h);--card-w: var(--small-w);--card-h: var(--small-h)}.s7-dead .card{flex:none;border-radius:calc(var(--card-w) * .12)}.s7-dead .card .corner{top:calc(var(--card-w) * .05);left:calc(var(--card-w) * .068)}.s7-dead .card+.card{margin-left:min(calc(var(--dead-step) * -1),calc((100cqw - var(--n) * var(--small-w)) / (var(--n) - 1)))}.s7-dead:not(.small){--small-w: var(--s7-dead-w)}.s7-side .s7-pod{width:100%}.s7-side-left .s7-pod{align-items:flex-start}.s7-side-right .s7-pod{align-items:flex-end}.s7-side .s7-dead{width:100%}.s7-side-left .s7-dead{justify-content:flex-start}.s7-side-right .s7-dead{justify-content:flex-end}.s7-top .s7-dead{width:min(100vw - 180px,240px)}.s7-bottom>.s7-dead{width:min(100%,380px)}.s7-dead-empty{font-size:11px;color:#f4f1e873;align-self:center}.s7-center{--s7-ch: calc(var(--s7-pile-w) * 1.4);grid-area:center;position:relative;min-height:calc(var(--s7-ch) + 24px);display:flex;align-items:center;justify-content:center;align-self:stretch;gap:8px}.s7-stockpile{position:relative}.s7-stockpile .s7-label{position:absolute;top:100%;left:50%;transform:translate(-50%)}.s7-pile-slot{width:calc(var(--s7-pile-w) + 12px);height:var(--s7-ch)}.s7-pile-col{position:absolute;top:0;bottom:0;width:calc(var(--s7-pile-w) + 12px);display:flex;flex-direction:column;pointer-events:none}.s7-pile-gap{flex:0 1 calc(50% - var(--s7-ch) / 2 - 6px);min-height:0}.s7-pile-wrap{position:relative;flex:0 0 auto;max-height:100%;min-height:0;display:flex;flex-direction:column;pointer-events:auto}.s7-more{position:absolute;right:2px;z-index:3;min-width:22px;padding:1px 5px;border:0;border-radius:999px;background:#061610d9;box-shadow:0 0 0 1px #ffd25773;color:var(--s7-gold);font-size:10px;font-weight:700;line-height:15px;font-variant-numeric:tabular-nums;cursor:pointer}.s7-more.up{top:2px}.s7-more.down{bottom:2px}.s7-center .card{--card-w: var(--s7-pile-w);--card-h: calc(var(--s7-pile-w) * 1.4)}.s7-label{margin-top:3px;font-size:12px;color:#f4f1e8b3;white-space:nowrap}.s7-pile.scroll-box{position:relative;flex:0 1 auto;min-height:0;width:calc(var(--s7-pile-w) + 12px);padding:6px;box-sizing:border-box;scrollbar-width:none}.s7-pile-card+.s7-pile-card{margin-top:calc(var(--s7-pile-w) * 1.4 * -.7)}.s7-pile-card{position:relative}.s7-pile-card.take .card{box-shadow:0 0 0 2px var(--s7-gold),0 2px 6px #00000073}.s7-status{grid-area:status;--s7-line: 1.3em;justify-self:center;width:min(100%,360px);height:calc(var(--s7-line) * 3 + 10px);overflow:hidden;text-align:center}.s7-status p{margin:0;overflow:hidden}.s7-status .status-line{display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;min-height:0;box-sizing:border-box;padding:3px 12px;border-radius:12px;background:#04140e8c;font-size:15px;font-weight:600;line-height:var(--s7-line)}.s7-status .status-line.mine{color:var(--s7-gold)}.s7-hand{container-type:inline-size;width:100%;display:flex;justify-content:center;padding-top:10px;min-height:calc(var(--s7-me-w) * 1.4 + 10px)}.s7-hand .card{--card-w: var(--s7-me-w);--card-h: calc(var(--s7-me-w) * 1.4);flex:none;box-shadow:0 3px 8px #00000073}.s7-hand .card+.card{margin-left:min(4px,calc((100cqw - var(--n) * var(--s7-me-w)) / (var(--n) - 1)))}.s7-hand .card.selected{transform:translateY(-10px)}.s7-table .card.hidden{visibility:hidden}.s7-me-plaque{display:flex;justify-content:center}.s7-actions .btn{padding:0 16px;white-space:nowrap}.s7-chat .chat-bar{width:min(100%,420px)}.s7-sheet-line{margin:0;text-align:center;font-weight:700;color:var(--s7-gold)}.s7-scores .s7-total-pts{font-weight:800}.s7-scores tr.me td{background:#ffffff0d}.s7-scores tr.won td{color:var(--s7-gold)}.s7-top .say-bubble{bottom:auto;top:calc(100% + 6px)}.s7-left .say-bubble{left:0;--say-x: 0%}.s7-row-top:has(.say-bubble),.s7-side:has(.say-bubble),.s7-bottom:has(.say-bubble){z-index:3}@media(max-width:400px){.s7-table .seat-info{max-width:74px}}@media(max-height:620px){.s7-status .status-line{font-size:14px}.s7-status .last-action{font-size:12px}.s7-bottom{gap:4px}.s7-actions{height:36px}.s7-actions .btn{min-height:36px}}@media(max-height:540px){.s7-status{height:calc(var(--s7-line) * 2 + 8px)}.s7-status .last-action{display:none}}.s7-sheet .panel-head h2{margin:0;white-space:nowrap}.s7-meld{--card-w: calc(var(--s7-me-w) * .82);--card-h: calc(var(--s7-me-w) * .82 * 1.4);position:fixed;z-index:7;display:flex;padding:6px;border-radius:12px;background:#06161099;box-shadow:0 0 0 1px #ffd25773,0 6px 18px #00000073;transform:translate(-50%,-50%);animation:s7-meld-in .18s ease-out;pointer-events:none}.s7-meld.mine{--card-w: var(--s7-me-w);--card-h: calc(var(--s7-me-w) * 1.4)}.s7-meld .card+.card{margin-left:calc(var(--card-w) * -.42)}@keyframes s7-meld-in{0%{opacity:0}}.s7-big{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.s7-big.hidden{visibility:hidden}.s7-center .s7-big .card{--card-w: calc(var(--s7-pile-w) * 1.3);--card-h: calc(var(--s7-pile-w) * 1.3 * 1.4);box-shadow:0 0 0 3px var(--s7-gold),0 8px 22px #00000080}.s7-big:before{content:"";position:absolute;top:-35%;right:-60%;bottom:-35%;left:-60%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,#ffd2576b,#ffd25700)}.s7-big.shown:before{animation:s7-big-glow 1.8s ease-in-out infinite}@keyframes s7-big-glow{50%{opacity:.5}}.s7-big-label{padding:3px 10px;border-radius:999px;background:#061610e0;box-shadow:0 0 0 1px #ffd25780;color:var(--s7-gold);font-size:14px;font-weight:800;white-space:nowrap}@media(prefers-reduced-motion:reduce){.s7-big.shown:before{animation:none}}.t13-table{--t13-me-w: clamp(40px, min(15vw, 9vh), 72px);--t13-pile-w: var(--t13-me-w);--t13-rail: clamp(6px, 2vw, 11px);--t13-gold: var(--accent);position:relative;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 90% 70% at 50% 45%,#10402e,#0a281d 70%,#061a13)}.t13-corner-right{right:max(8px,env(safe-area-inset-right))}.t13-round{font-size:12px;color:var(--ink-dim)}.t13-felt{grid-row:1 / 4;grid-column:1 / -1;position:relative;z-index:0;margin:10px 0 calc(var(--t13-me-w) * -.9);border-radius:46%/18%;background:linear-gradient(90deg,#3d2412,#5c3a1f 30%,#8a5a34,#5c3a1f 70%,#3d2412);box-shadow:0 0 0 1px #00000080,0 14px 36px #0000008c;pointer-events:none}.t13-felt:before{inset:var(--t13-rail);background:radial-gradient(ellipse 80% 60% at 50% 42%,#24865d,#196b4b 55%,#0f4f37);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.t13-felt:after{inset:calc(var(--t13-rail) + clamp(8px,2.6vw,14px));border:1px solid rgba(255,210,87,.2)}.t13-pod.gone{opacity:.5}.t13-table .seat-name{font-size:13px;font-weight:600}.t13-total{font-size:12px;font-weight:700;color:var(--t13-gold);line-height:1.15}.t13-pod.turn .seat,.t13-bottom.turn .t13-me-plaque .seat{background:var(--t13-gold);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.t13-pod.turn .seat-name,.t13-pod.turn .t13-total,.t13-bottom.turn .t13-me-plaque .seat-name,.t13-bottom.turn .t13-me-plaque .t13-total{color:var(--accent-ink)}.t13-side .t13-pod{width:100%}.t13-side-left .t13-pod{align-items:flex-start}.t13-side-right .t13-pod{align-items:flex-end}.t13-status{grid-area:status;--t13-line: 1.3em;justify-self:center;width:min(100%,360px);height:calc(var(--t13-line) * 3 + 10px);overflow:hidden;text-align:center}.t13-status p{margin:0;overflow:hidden}.t13-status .status-line{display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;min-height:0;box-sizing:border-box;padding:3px 12px;border-radius:12px;background:#04140e8c;font-size:15px;font-weight:600;line-height:var(--t13-line)}.t13-status .status-line.mine{color:var(--t13-gold)}.t13-me-plaque{display:flex;justify-content:center}.t13-actions .btn{padding:0 16px;white-space:nowrap}.t13-chat .chat-bar{width:min(100%,420px)}.t13-sheet-line{margin:0;text-align:center;font-weight:700;color:var(--t13-gold)}.t13-scores .t13-total-pts{font-weight:800}.t13-scores tr.me td{background:#ffffff0d}.t13-scores tr.won td{color:var(--t13-gold)}.t13-top .say-bubble{bottom:auto;top:calc(100% + 6px)}.t13-left .say-bubble{left:0;--say-x: 0%}.t13-row-top:has(.say-bubble),.t13-side:has(.say-bubble),.t13-bottom:has(.say-bubble){z-index:3}@media(max-width:400px){.t13-table .seat-info{max-width:74px}}@media(max-height:620px){.t13-status .status-line{font-size:14px}.t13-status .last-action{font-size:12px}.t13-bottom{gap:4px}.t13-actions{height:36px}.t13-actions .btn{min-height:36px}}@media(max-height:540px){.t13-status{height:calc(var(--t13-line) * 2 + 8px)}.t13-status .last-action{display:none}}.t13-sheet .panel-head h2{margin:0;white-space:nowrap}.t13-table{--t13-small: clamp(13px, min(4.6vw, 2.6vh), 20px);--t13-w: clamp(28px, min(12.5vw, 7.6vh), 58px)}.t13-corner-left{flex-direction:row;align-items:center}.t13-side,.t13-center,.t13-status,.t13-bottom{position:relative;z-index:1}.t13-backs .card+.card{margin-left:-13px}.t13-ready{margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;color:var(--ink-dim);background:#04140e8c;white-space:nowrap}.t13-ready.on{color:var(--accent-ink);background:var(--t13-gold, var(--accent))}.t13-small-rows{display:flex;flex-direction:column;align-items:center;gap:2px;--small-w: var(--t13-small);--small-h: calc(var(--t13-small) * 1.4)}.t13-left .t13-small-rows{align-items:flex-start}.t13-right .t13-small-rows{align-items:flex-end}.t13-small-row{display:flex;align-items:center;gap:4px}.t13-right .t13-small-row{flex-direction:row-reverse}.t13-small-cards{display:flex}.t13-small-cards .card+.card{margin-left:calc(var(--t13-small) * -.45)}.t13-chip{min-width:22px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:800;line-height:16px;text-align:center;font-variant-numeric:tabular-nums;background:#04140ebf;color:var(--ink-dim);animation:t13-pop .24s cubic-bezier(.3,1.6,.5,1)}.t13-chip.up{background:var(--accent);color:var(--accent-ink)}.t13-chip.down{background:#b8434f;color:#fff}@keyframes t13-pop{0%{transform:scale(.4);opacity:0}}.t13-table .card.flip-in{animation:flip-in .38s ease-out both;animation-delay:calc(var(--i, 0) * 40ms)}@media(prefers-reduced-motion:reduce){.t13-table .card.flip-in,.t13-chip{animation:none}}.t13-delta{font-weight:800}.t13-delta.up{color:#7be08f}.t13-delta.down{color:#ff9a9a}.t13-center{grid-area:center;container-type:size;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0}.t13-row{display:flex;align-items:center;gap:6px;width:calc(var(--t13-row-w) * 5 + 112px);max-width:100%;box-sizing:border-box;padding:3px 5px;border-radius:10px;background:#04140e38;box-shadow:inset 0 0 0 1px #ffffff0f;transition:box-shadow .15s,background-color .15s}.t13-row.takes{cursor:pointer;background:#ffd2571a;box-shadow:inset 0 0 0 2px #ffd25799}.t13-row-label{flex:0 0 92px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;font-size:11px;line-height:1.2}.t13-row-label b{font-weight:700;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.t13-row-name{max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:600}.t13-bonus{color:var(--accent);font-weight:800}.t13-row-cards{flex:1;min-width:0;display:flex;justify-content:flex-start}.t13-row-cards .card{--card-w: var(--t13-row-w);--card-h: calc(var(--t13-row-w) * 1.4);flex:none}.t13-row-cards .card+.card{margin-left:3px}.t13-slot{border-width:1.5px}.t13-hand{container-type:inline-size;width:100%;display:flex;justify-content:center;align-items:flex-end;padding-top:12px;min-height:calc(var(--t13-w) * 1.4 + 12px)}.t13-hand .card{--card-w: var(--t13-w);--card-h: calc(var(--t13-w) * 1.4);flex:none;box-shadow:0 3px 8px #00000073}.t13-hand .card+.card{margin-left:min(4px,calc((100cqw - var(--n) * var(--t13-w)) / (var(--n) - 1)))}.t13-hand .card.selected{transform:translateY(-12px)}.t13-hand-empty{align-self:center;font-size:12px;color:#f4f1e880}.t13-table .card.hidden{visibility:hidden}.t13-me-bar{display:flex;justify-content:center}.t13-scores .t13-round-pts{font-weight:700}.t13-notes{margin:0;padding-left:18px;font-size:12px;color:var(--ink-dim);display:flex;flex-direction:column;gap:2px}.t13-board{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top" "center" "status" "bottom"}.t13-row-top{align-items:flex-start;padding-top:38px;min-height:calc(38px + 30px + 3 * var(--t13-small) * 1.4 + 8px);box-sizing:border-box}.t13-row-top.many{justify-content:space-evenly;gap:6px;padding-left:6px;padding-right:6px}.t13-row-top.many .t13-pod{flex:1 1 0;min-width:0}.t13-pod .t13-backs{min-height:calc(3 * var(--t13-small) * 1.4 + 4px)}.t13-slot{opacity:.6}.t13-table .t13-total{white-space:nowrap}.t13-row{position:relative;height:calc(var(--t13-row-w) * 1.4 + 8px);width:calc(var(--t13-row-w) * 5 + 152px);padding-right:32px}.t13-row-label{max-height:100%;overflow:hidden}.t13-row .t13-chip{position:absolute;right:5px;top:calc(50% - 8px)}.t13-center{--t13-row-w: clamp(18px, min(calc((100cqh - 36px) / 4.2), calc((100cqw - 156px)/5) ), 60px)}.bj-table{--bj-me-w: clamp(40px, min(15vw, 9vh), 72px);--bj-pile-w: var(--bj-me-w);--bj-rail: clamp(6px, 2vw, 11px);--bj-gold: var(--accent);position:relative;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 90% 70% at 50% 45%,#10402e,#0a281d 70%,#061a13)}.bj-corner-right{right:max(8px,env(safe-area-inset-right))}.bj-round{font-size:12px;color:var(--ink-dim)}.bj-felt{grid-row:1 / 4;grid-column:1 / -1;position:relative;z-index:0;margin:10px 0 calc(var(--bj-me-w) * -.9);border-radius:46%/18%;background:linear-gradient(90deg,#3d2412,#5c3a1f 30%,#8a5a34,#5c3a1f 70%,#3d2412);box-shadow:0 0 0 1px #00000080,0 14px 36px #0000008c;pointer-events:none}.bj-felt:before{inset:var(--bj-rail);background:radial-gradient(ellipse 80% 60% at 50% 42%,#24865d,#196b4b 55%,#0f4f37);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.bj-felt:after{inset:calc(var(--bj-rail) + clamp(8px,2.6vw,14px));border:1px solid rgba(255,210,87,.2)}.bj-pod.gone{opacity:.5}.bj-table .seat-name{font-size:13px;font-weight:600}.bj-total{font-size:12px;font-weight:700;color:var(--bj-gold);line-height:1.15}.bj-pod.turn .seat,.bj-bottom.turn .bj-me-plaque .seat{background:var(--bj-gold);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.bj-pod.turn .seat-name,.bj-pod.turn .bj-total,.bj-bottom.turn .bj-me-plaque .seat-name,.bj-bottom.turn .bj-me-plaque .bj-total{color:var(--accent-ink)}.bj-side .bj-pod{width:100%}.bj-side-left .bj-pod{align-items:flex-start}.bj-side-right .bj-pod{align-items:flex-end}.bj-status{grid-area:status;--bj-line: 1.3em;justify-self:center;width:min(100%,360px);height:calc(var(--bj-line) * 3 + 10px);overflow:hidden;text-align:center}.bj-status p{margin:0;overflow:hidden}.bj-status .status-line{display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;min-height:0;box-sizing:border-box;padding:3px 12px;border-radius:12px;background:#04140e8c;font-size:15px;font-weight:600;line-height:var(--bj-line)}.bj-status .status-line.mine{color:var(--bj-gold)}.bj-me-plaque{display:flex;justify-content:center}.bj-actions .btn{padding:0 16px;white-space:nowrap}.bj-chat .chat-bar{width:min(100%,420px)}.bj-sheet-line{margin:0;text-align:center;font-weight:700;color:var(--bj-gold)}.bj-scores .bj-total-pts{font-weight:800}.bj-scores tr.me td{background:#ffffff0d}.bj-scores tr.won td{color:var(--bj-gold)}.bj-top .say-bubble{bottom:auto;top:calc(100% + 6px)}.bj-left .say-bubble{left:0;--say-x: 0%}.bj-row-top:has(.say-bubble),.bj-side:has(.say-bubble),.bj-bottom:has(.say-bubble){z-index:3}@media(max-width:400px){.bj-table .seat-info{max-width:74px}}@media(max-height:620px){.bj-status .status-line{font-size:14px}.bj-status .last-action{font-size:12px}.bj-bottom{gap:4px}.bj-actions{height:36px}.bj-actions .btn{min-height:36px}}@media(max-height:540px){.bj-status{height:calc(var(--bj-line) * 2 + 8px)}.bj-status .last-action{display:none}}.bj-sheet .panel-head h2{margin:0;white-space:nowrap}.bj-table{--bj-fixed: 380px;--bj-w: clamp(28px, min(15vw, calc((100dvh - var(--bj-fixed)) / 4.65)), 64px);--bj-small: calc(var(--bj-w) * .8)}.bj-table.with-chat{--bj-fixed: 424px}.bj-side,.bj-status,.bj-bottom,.bj-top,.bj-players-top,.bj-rules{position:relative;z-index:1}.bj-corner-left{flex-direction:row;align-items:center}.bj-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top" "left right" "status status" "bottom bottom"}.bj-top,.bj-players-top{grid-area:top;display:flex;justify-content:center;padding-top:30px}.bj-players-top{flex-wrap:wrap;gap:4px 10px;padding:32px 8px 0}.bj-rules{grid-row:2;grid-column:1 / -1;z-index:0!important;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffd25752;text-align:center;pointer-events:none}.bj-dealer{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.bj-dealer-name{order:-1}.bj-house{display:inline-block;padding:3px 14px;border-radius:999px;background:#061610c7;box-shadow:0 0 0 1px #ffffff1a;font-size:13px;font-weight:700;letter-spacing:.04em}.bj-dealer-hand{position:relative;display:flex;flex-direction:column;align-items:center;min-width:calc(var(--bj-w) * 1.8)}.bj-shoe{position:absolute;left:calc(100% + 12px);top:0;display:flex;flex-direction:column;align-items:center;--card-w: calc(var(--bj-w) * .8);--card-h: calc(var(--bj-w) * .8 * 1.4)}.bj-label{margin-top:3px;font-size:11px;color:#f4f1e8a6;white-space:nowrap}.bj-dealer-hand .card{--card-w: var(--bj-w);--card-h: calc(var(--bj-w) * 1.4)}.bj-spot{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%}.bj-spot.gone{opacity:.5}.bj-side{container-type:size;justify-content:space-evenly;--bj-side-w: min(var(--bj-small), calc((100cqh - 112px) / 2.8), calc((100cqw - 24px) / 3.8))}.bj-side .bj-spot{width:100%;margin:2px 0;--card-w: var(--bj-side-w);--card-h: calc(var(--bj-side-w) * 1.4)}.bj-side-left .bj-spot{align-items:flex-start}.bj-side-right .bj-spot{align-items:flex-end}.bj-players-top .bj-spot{--card-w: var(--bj-small);--card-h: calc(var(--bj-small) * 1.4)}.bj-spot.me{width:100%;container-type:inline-size;--bj-me-w: min(var(--bj-w), calc((100cqw - var(--hands, 1) * 14px) / (var(--hands, 1) * 1.8)));--card-w: var(--bj-me-w);--card-h: calc(var(--bj-me-w) * 1.4)}.bj-hands{display:flex;justify-content:center;align-items:flex-end;gap:6px;min-height:calc(var(--card-h) + 18px);max-width:100%}.bj-hand{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border-radius:10px;transition:box-shadow .2s,background-color .2s}.bj-hand.active{background:#ffd2571f;box-shadow:inset 0 0 0 2px #ffd257bf}.bj-cards{display:flex}.bj-cards .card{flex:none;box-shadow:0 3px 8px #00000073}.bj-cards .card+.card{margin-left:calc(var(--card-w) * -.6)}.bj-cards .card.doubled{transform:rotate(8deg) translateY(2px)}.bj-hand-foot{display:flex;align-items:center;gap:4px;min-height:16px}.bj-count{padding:0 7px;border-radius:999px;font-size:12px;font-weight:800;line-height:16px;background:#04140ebf;white-space:nowrap}.bj-count.bust{background:#b8434f;color:#fff}.bj-count.bj{background:var(--accent);color:var(--accent-ink)}.bj-outcome{padding:0 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:16px;white-space:nowrap;animation:bj-pop .26s cubic-bezier(.3,1.6,.5,1)}.bj-outcome.win{background:#2f8f57;color:#fff}.bj-outcome.blackjack{background:var(--accent);color:var(--accent-ink)}.bj-outcome.push{background:#f4f1e840}.bj-outcome.lose{background:#b8434fd9;color:#fff}.bj-hand.out-lose .bj-cards{opacity:.6}@keyframes bj-pop{0%{transform:scale(.4);opacity:0}}.bj-table .card.flip-in{animation:flip-in .38s ease-out both}@media(prefers-reduced-motion:reduce){.bj-table .card.flip-in,.bj-outcome{animation:none}}.bj-table .card.hidden{visibility:hidden}.bj-spot.turn .seat,.bj-dealer.turn .bj-dealer-name .seat{background:var(--accent);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.bj-spot.turn .seat-name,.bj-spot.turn .bj-total,.bj-dealer.turn .bj-dealer-name .seat-name,.bj-dealer.turn .bj-dealer-name .bj-total{color:var(--accent-ink)}.bj-delta{font-weight:800}.bj-delta.up{color:#7be08f}.bj-delta.down{color:#ff9a9a}.bj-scores .bj-name{max-width:150px}.bj-table.i-deal .bj-players-top{grid-row:2;grid-column:1 / -1;align-self:stretch;align-content:center;padding:0 8px;container-type:size;--bj-top-w: min(calc(var(--bj-w) * .82), calc((100cqh - 120px) / 2.8), calc((100cqw / 3 - 26px) / 3.8))}.bj-table.i-deal .bj-players-top .bj-spot{width:calc(100% / 3 - 10px);--card-w: var(--bj-top-w);--card-h: calc(var(--bj-top-w) * 1.4)}.bj-table.i-deal .bj-rules{grid-area:top;align-self:end;padding-top:36px}.bj-side{--bj-side-w: min(var(--bj-small), calc((100cqh - 136px) / 2.8), calc((100cqw - 24px) / 3.8))}@container (max-height: 240px){.bj-side .bj-spot{flex-direction:row;align-items:center;gap:4px;--bj-side-w: min(var(--bj-small), calc((100cqh - 60px) / 2.8), calc((100cqw - 118px) / 3.8))}.bj-side-right .bj-spot{flex-direction:row-reverse}.bj-side .bj-hands{min-height:0}}.bj-side .bj-spot{--bj-side-w: min( var(--bj-small), calc((100cqh - 136px) / 2.8), calc((100cqw - (var(--hands, 1) - 1) * 6px - 12px) / (var(--hands, 1) * 1.8)) )}@container (max-height: 240px){.bj-side .bj-spot{--bj-side-w: min( var(--bj-small), calc((100cqh - 60px) / 2.8), calc((100cqw - 84px - (var(--hands, 1) - 1) * 6px) / (var(--hands, 1) * 1.8)) )}.bj-side .seat-info{max-width:52px}}.bj-actions{width:100%;max-width:420px;padding:0 8px;box-sizing:border-box}.bj-actions .btn{flex:1 1 0;min-width:0;max-width:120px;padding:0 6px}.b2-table{--b2-me-w: clamp(40px, min(15vw, 9vh), 72px);--b2-pile-w: var(--b2-me-w);--b2-rail: clamp(6px, 2vw, 11px);--b2-gold: var(--accent);position:relative;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 90% 70% at 50% 45%,#10402e,#0a281d 70%,#061a13)}.b2-corner-right{right:max(8px,env(safe-area-inset-right))}.b2-round{font-size:12px;color:var(--ink-dim)}.b2-felt{grid-row:1 / 4;grid-column:1 / -1;position:relative;z-index:0;margin:10px 0 calc(var(--b2-me-w) * -.9);border-radius:46%/18%;background:linear-gradient(90deg,#3d2412,#5c3a1f 30%,#8a5a34,#5c3a1f 70%,#3d2412);box-shadow:0 0 0 1px #00000080,0 14px 36px #0000008c;pointer-events:none}.b2-felt:before{inset:var(--b2-rail);background:radial-gradient(ellipse 80% 60% at 50% 42%,#24865d,#196b4b 55%,#0f4f37);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.b2-felt:after{inset:calc(var(--b2-rail) + clamp(8px,2.6vw,14px));border:1px solid rgba(255,210,87,.2)}.b2-pod.gone{opacity:.5}.b2-table .seat-name{font-size:13px;font-weight:600}.b2-total{font-size:12px;font-weight:700;color:var(--b2-gold);line-height:1.15}.b2-pod.turn .seat,.b2-bottom.turn .b2-me-plaque .seat{background:var(--b2-gold);box-shadow:0 0 0 1px #fff6,0 0 16px #ffd2578c}.b2-pod.turn .seat-name,.b2-pod.turn .b2-total,.b2-bottom.turn .b2-me-plaque .seat-name,.b2-bottom.turn .b2-me-plaque .b2-total{color:var(--accent-ink)}.b2-side .b2-pod{width:100%}.b2-side-left .b2-pod{align-items:flex-start}.b2-side-right .b2-pod{align-items:flex-end}.b2-status{grid-area:status;--b2-line: 1.3em;justify-self:center;width:min(100%,360px);height:calc(var(--b2-line) * 3 + 10px);overflow:hidden;text-align:center}.b2-status p{margin:0;overflow:hidden}.b2-status .status-line{display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;min-height:0;box-sizing:border-box;padding:3px 12px;border-radius:12px;background:#04140e8c;font-size:15px;font-weight:600;line-height:var(--b2-line)}.b2-status .status-line.mine{color:var(--b2-gold)}.b2-actions .btn{padding:0 16px;white-space:nowrap}.b2-chat .chat-bar{width:min(100%,420px)}.b2-sheet-line{margin:0;text-align:center;font-weight:700;color:var(--b2-gold)}.b2-scores .b2-total-pts{font-weight:800}.b2-scores tr.me td{background:#ffffff0d}.b2-scores tr.won td{color:var(--b2-gold)}.b2-top .say-bubble{bottom:auto;top:calc(100% + 6px)}.b2-left .say-bubble{left:0;--say-x: 0%}.b2-row-top:has(.say-bubble),.b2-side:has(.say-bubble),.b2-bottom:has(.say-bubble){z-index:3}@media(max-width:400px){.b2-table .seat-info{max-width:74px}}@media(max-height:620px){.b2-status .status-line{font-size:14px}.b2-status .last-action{font-size:12px}.b2-bottom{gap:4px}.b2-actions{height:36px}.b2-actions .btn{min-height:36px}}@media(max-height:540px){.b2-status{height:calc(var(--b2-line) * 2 + 8px)}.b2-status .last-action{display:none}}.b2-sheet .panel-head h2{margin:0;white-space:nowrap}.b2-table{--b2-me-w: clamp(38px, min(15vw, 8.6vh), 70px)}.b2-side,.b2-center,.b2-status,.b2-bottom{position:relative;z-index:1}.b2-backs{position:relative;display:flex;align-items:center;min-height:30px;--small-w: 20px;--small-h: 28px}.b2-backs .card+.card{margin-left:-13px}.b2-count.low{padding:0 6px;border-radius:999px;background:#b8434f;color:#fff}.b2-none{font-size:12px;font-weight:700;color:var(--accent);align-self:center}.b2-pass{position:absolute;left:50%;top:-6px;transform:translate(-50%);z-index:4;padding:1px 9px;border-radius:999px;background:#04140ee6;box-shadow:0 0 0 1px #ffffff40;font-size:12px;font-weight:800;letter-spacing:.04em;white-space:nowrap;pointer-events:none;animation:b2-pass 1.4s ease-out both}@keyframes b2-pass{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}12%,75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0}}.b2-center{grid-area:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0}.b2-play{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(var(--b2-me-w) * 1.4 + 12px);min-width:calc(var(--b2-me-w) * 2)}.b2-center .card{--card-w: var(--b2-me-w);--card-h: calc(var(--b2-me-w) * 1.4);flex:none;box-shadow:0 3px 8px #00000073}.b2-cards{display:flex}.b2-cards .card+.card{margin-left:calc(var(--b2-me-w) * -.45)}.b2-beneath{position:absolute;top:-10px;left:50%;transform:translate(-60%) scale(.86);display:flex;opacity:.4;pointer-events:none}.b2-beneath .card+.card{margin-left:calc(var(--b2-me-w) * -.55)}.b2-free{font-size:13px;color:#f4f1e873}.b2-caption{height:17px;line-height:17px;font-size:12px;font-weight:600;color:#f4f1e8cc;white-space:nowrap}.b2-sweep{position:absolute;left:-20px;top:50%;width:1px;height:1px}.b2-hand{position:relative;container-type:inline-size;width:100%;display:flex;justify-content:center;padding-top:14px;min-height:calc(var(--b2-me-w) * 1.4 + 14px)}.b2-hand .card{--card-w: var(--b2-me-w);--card-h: calc(var(--b2-me-w) * 1.4);flex:none;box-shadow:0 3px 8px #00000073}.b2-hand .card+.card{margin-left:min(4px,calc((100cqw - var(--n) * var(--b2-me-w)) / (var(--n) - 1)))}.b2-hand .card.selected{transform:translateY(-14px)}.b2-table .card.hidden{visibility:hidden}.b2-me-plaque{display:flex;justify-content:center}.b2-actions{width:100%;max-width:440px;padding:0 8px;box-sizing:border-box}.b2-actions .btn{flex:1 1 0;min-width:0;padding:0 6px;font-size:15px;overflow:hidden;text-overflow:ellipsis}.b2-actions .btn:last-child{flex:2 1 0}.b2-why{margin:0;height:16px;line-height:16px;font-size:12px;color:#ffb3b3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.b2-delta{font-weight:800}.b2-delta.up{color:#7be08f}.b2-delta.down{color:#ff9a9a}.b2-scores .b2-round-pts{font-weight:700}@media(prefers-reduced-motion:reduce){.b2-pass{animation:none}}:root{--felt: #13573d;--felt-dark: #0f3d2c;--felt-light: #1b6b4b;--ink: #f4f1e8;--ink-dim: #b9cfc2;--card: #fffdf7;--card-edge: #d8d2c2;--red: #c8222c;--black: #1d1d1f;--accent: #ffd257;--accent-ink: #3a2a00;--select: #6cc4ff;--meld: #f2b705;--danger: #ff8a80;--diamond: #1f63c6;--club: #13843b;--card-w: 64px;--card-h: 90px;--overlap: -18px;--group-gap: 12px;--small-w: 34px;--small-h: 48px;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}@media(max-width:520px){:root{--card-w: min(52px, calc((100vw - 50px)/8) );--card-h: calc(var(--card-w) * 1.4);--overlap: calc(var(--card-w) * -.45);--group-gap: 6px;--small-w: 26px;--small-h: 37px}}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%}html,body{margin:0;min-height:100%;background:radial-gradient(ellipse at 50% 40%,var(--felt-light),var(--felt) 55%,var(--felt-dark));background-color:var(--felt)}body{min-height:100dvh}button{font:inherit}.in-app{overscroll-behavior:none}.in-app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.in-app input,.in-app textarea{-webkit-user-select:text;user-select:text}.card{position:relative;flex:none;-webkit-user-select:none;-webkit-touch-callout:none;width:var(--card-w);height:var(--card-h);border-radius:7px;background:var(--card);border:1px solid var(--card-edge);box-shadow:0 2px 4px #00000059;user-select:none;transition:transform .12s ease,box-shadow .12s ease,opacity .12s}.card.red{color:var(--red)}.card.black{color:var(--black)}.card .corner{position:absolute;top:3px;left:4px;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700}.card .rank{font-size:calc(var(--card-w) * .34);letter-spacing:-.06em}.card .suit{display:block;width:calc(var(--card-w) * .28);height:calc(var(--card-w) * .28);margin-top:1px}.card .pip{position:absolute;right:7%;bottom:6%;width:calc(var(--card-w) * .48);height:calc(var(--card-w) * .48)}.suit-icon{display:block;width:100%;height:100%}.four-color .card.suit-D{color:var(--diamond)}.four-color .card.suit-C{color:var(--club)}.card.back{background:repeating-linear-gradient(45deg,rgba(255,255,255,.09) 0 4px,transparent 4px 8px),linear-gradient(135deg,#8c1d2c,#5e0f1b);border:3px solid var(--card)}.card.empty{background:transparent;border:2px dashed rgba(255,255,255,.25);box-shadow:none}.card.small{width:var(--small-w);height:var(--small-h);border-radius:4px}.card.small .rank{font-size:calc(var(--small-w) * .4)}.card.small .suit{width:calc(var(--small-w) * .34);height:calc(var(--small-w) * .34)}.card.small .pip{width:calc(var(--small-w) * .42);height:calc(var(--small-w) * .42)}.card.small.back{border-width:2px}.card.in-meld{box-shadow:inset 0 -4px 0 var(--meld),0 2px 4px #00000059}.card.laid-off{outline:2px dashed var(--select);outline-offset:-2px}.card.selected{transform:translateY(-16px);box-shadow:0 0 0 3px var(--select),0 8px 14px #0006}.card.in-meld.selected{box-shadow:inset 0 -4px 0 var(--meld),0 0 0 3px var(--select),0 8px 14px #0006}.card.disabled{filter:brightness(.78) saturate(.5)}.card.hidden{visibility:hidden}.card.flying{transition:none}.reveal .card{animation:flip-in .42s ease-out both;animation-delay:calc(var(--i, 0) * 45ms + .12s)}@keyframes flip-in{0%{transform:perspective(400px) rotateY(90deg);opacity:0}}@media(prefers-reduced-motion:reduce){.reveal .card{animation:none}}.card.dragging{transform:translateY(-10px) scale(1.06);z-index:5;box-shadow:0 10px 18px #00000080;cursor:grabbing}.card.clickable{cursor:pointer}.card.glow{box-shadow:0 0 0 3px var(--accent),0 0 18px #ffd25799}.card.glow:hover{transform:translateY(-3px)}.table{max-width:760px;min-height:100dvh;margin:0 auto;padding:env(safe-area-inset-top) max(var(--side, 16px),env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(var(--side, 16px),env(safe-area-inset-left));display:flex;flex-direction:column;gap:10px}.topbar{display:flex;align-items:center;gap:12px;padding:10px 0 4px;font-size:14px}.room-code{display:flex;flex-direction:column;flex:none;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;line-height:1.2;background:#00000040;padding:3px 8px;border-radius:6px}.room-game{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:0;font-size:11px;font-weight:650;color:var(--accent);white-space:nowrap}.scores{flex:1;display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}.score{padding:2px 8px;border-radius:999px;white-space:nowrap}.name{display:inline-block;max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.score.turn{background:#ffd2572e;box-shadow:inset 0 0 0 1px #ffd25780}.vs,.target{color:var(--ink-dim)}.target{font-size:12px}.link{background:none;border:none;color:var(--ink-dim);text-decoration:underline;cursor:pointer;padding:6px}.who{display:flex;align-items:center;gap:8px;font-weight:600}.badge{margin-left:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:var(--accent);border-radius:4px;padding:1px 5px}.dot{width:8px;height:8px;border-radius:50%;background:#888}.dot.on{background:#4ade80}.fan{display:flex;justify-content:center;min-height:var(--card-h)}.fan .card+.card{margin-left:var(--overlap)}.notice{font-size:13px;color:var(--accent)}.piles{display:flex;justify-content:center;gap:32px;padding:8px 0}.pile{display:flex;flex-direction:column;align-items:center;gap:6px}@media(max-width:520px){.table{--side: 8px}.topbar{padding-left:8px;padding-right:8px}}.pile-label{font-size:12px;color:var(--ink-dim)}.status{text-align:center;min-height:48px}.status p{margin:0}.status-line{font-size:16px}.status-line.mine{font-weight:650;color:var(--accent)}.last-action{font-size:13px;color:var(--ink-dim);margin-top:4px!important}.actions{display:flex;justify-content:center;gap:10px;min-height:44px;flex-wrap:wrap}.deadwood{grid-area:deadwood;align-self:end;justify-self:center;display:flex;flex-direction:column;align-items:center;line-height:1.15;font-size:12px;color:var(--ink-dim);text-align:center}.deadwood b{color:var(--ink);font-size:20px}.deadwood small{font-size:11px}.hand-area{display:contents}.hand{grid-area:hand;display:flex;justify-content:center;padding-top:18px;min-height:calc(var(--card-h) + 18px)}.hand .card{touch-action:none;cursor:grab}.group{display:flex;position:relative}.group+.group{margin-left:calc(var(--overlap) + var(--group-gap))}.group .card+.card{margin-left:var(--overlap)}.meld-group:after{content:"";position:absolute;left:4px;right:4px;bottom:-7px;height:3px;border-radius:2px;background:var(--meld)}.hand .group:not(:last-child):after{right:calc(4px - var(--overlap))}.meld-group:has(.card.hidden):after{visibility:hidden}.sort-bar{grid-area:sort;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.sort-label{font-size:12px;color:var(--ink-dim);margin-right:2px}.chip{border:1px solid rgba(255,255,255,.25);background:#0003;color:var(--ink);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}.chip.active{background:var(--ink);color:var(--felt-dark);border-color:var(--ink);font-weight:600}.chip.static{cursor:default}.btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#00000040;color:var(--ink);font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--ink);color:var(--felt-dark);border-color:var(--ink)}.btn.gold{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.wide{width:100%}input{font:inherit;font-size:16px;color:var(--black);background:var(--card);border:1px solid var(--card-edge);border-radius:10px;padding:11px 12px;width:100%}.lobby{max-width:380px;margin:0 auto;padding:calc(48px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:stretch;gap:16px;text-align:center}.lobby h1{margin:0;font-size:34px;letter-spacing:-.01em}.tagline{margin:-8px 0 8px;color:var(--ink-dim)}.logo{display:block;width:104px;height:104px;margin:0 auto 4px;border-radius:24px;box-shadow:0 6px 18px #0000004d}.field{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:14px;color:var(--ink-dim)}.join{display:flex;flex-direction:column;gap:10px}.or{font-size:14px;color:var(--ink-dim)}.join-row{display:flex;gap:8px}.join-row input{flex:1;min-width:0}.code-input{text-transform:uppercase;letter-spacing:.25em;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace}.error{color:var(--danger);margin:0}.big-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:44px;letter-spacing:.2em;font-weight:700;padding:12px;border-radius:12px;background:#00000040}.link-box{font-size:13px;color:var(--ink-dim);word-break:break-all}.splash{display:grid;place-items:center;min-height:100dvh;color:var(--ink-dim)}.banner{position:fixed;top:0;left:0;right:0;z-index:20;text-align:center;padding:6px;font-size:13px;background:#7a4b00}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:30;max-width:calc(100vw - 32px);background:#2b1515;color:#ffd9d6;border:1px solid var(--danger);padding:10px 14px;border-radius:10px;font-size:14px;box-shadow:0 6px 20px #0006}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#05140eb3;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.panel{width:100%;max-width:560px;max-height:100%;overflow-y:auto;background:var(--felt-dark);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 50px #00000080}.panel h2{margin:0;font-size:20px;text-align:center}.panel h3{margin:0 0 8px;text-align:center}.reveal{background:#ffffff0d;border-radius:12px;padding:10px 12px 14px}.reveal-title{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:10px}.reveal-cards{display:flex;flex-wrap:wrap;gap:14px 10px}.reveal-cards .group+.group{margin-left:0}.reveal-cards .group .card+.card{margin-left:calc(var(--small-w) * -.3)}.laid-off-group:before{content:"+";align-self:center;margin-right:4px;color:var(--select);font-weight:700}.hint{margin-top:8px;font-size:12px;color:var(--ink-dim)}.running{text-align:center;margin:0}.final table{width:100%;border-collapse:collapse;font-size:15px}.final th,.final td{padding:6px 8px;text-align:right;border-bottom:1px solid rgba(255,255,255,.1)}.final th:first-child,.final td:first-child{text-align:left;color:var(--ink-dim)}.final tr.total td{font-weight:700;font-size:17px;color:var(--ink);border-bottom:none}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:none;background:#00000040;color:var(--ink);cursor:pointer;font-size:15px}.icon-btn:hover{background:#0006}.panel.settings{max-width:420px;gap:4px}.panel-head{display:grid;grid-template-columns:70px 1fr 70px;align-items:center;margin-bottom:8px}.panel-head>:last-child{justify-self:end}.panel-head .link{justify-self:start;padding-left:0;text-decoration:none}.setting{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px;color:var(--ink);cursor:pointer}.setting.off{opacity:.45}.setting.static{cursor:default}.setting.nav{width:100%;background:none;border-left:none;border-right:none;border-top:none;text-align:left}.setting.nav span:last-child{font-size:22px;color:var(--ink-dim)}.setting input[type=range]{width:50%;padding:0;accent-color:var(--accent);background:none;border:none}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:46px;height:28px;padding:0;border-radius:999px;border:none;background:#fff3;cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .15s}.switch:checked{background:#3fae6f}.switch:checked:after{transform:translate(18px)}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em}.btn.danger{background:#c8392f;border-color:#c8392f;color:#fff}.btn.danger-outline{margin-top:16px;border-color:#ff8a8099;color:var(--danger);background:transparent}.leave-confirm{margin-top:16px;padding:12px;border-radius:12px;background:#c8392f26;text-align:center}.leave-confirm p{margin:0 0 10px}.leave-confirm .row{display:flex;gap:10px;justify-content:center}.rules{font-size:15px;line-height:1.5;color:var(--ink)}.rules h3{margin:16px 0 4px;font-size:16px;color:var(--accent);text-align:left}.rules h3:first-child{margin-top:0}.rules p,.rules ul,.rules ol{margin:4px 0}.rules ul,.rules ol{padding-left:20px}.rules li{margin:4px 0}.lobby-gear{position:fixed;top:calc(12px + env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.sheet-overlay{align-items:flex-end;padding:0}.panel.sheet{max-width:480px;border-radius:18px 18px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom));gap:18px;animation:sheet-up .22s ease-out}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}.sheet-intro{margin:-12px 0 0;text-align:center}.game-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;overflow-y:auto;background:var(--felt-dark);padding:calc(12px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));animation:picker-in .18s ease-out}@keyframes picker-in{0%{opacity:0;transform:translateY(16px)}}.game-picker .panel-head{max-width:560px;margin:0 auto 8px}.game-list{list-style:none;margin:0 auto;padding:0;max-width:560px;border-top:1px solid rgba(255,255,255,.1)}.game-list li{border-bottom:1px solid rgba(255,255,255,.1)}.game-row{width:100%;display:flex;align-items:center;gap:14px;padding:12px 6px;border:none;background:none;color:var(--ink);text-align:left;font-size:18px;cursor:pointer}.game-row:hover,.game-row:focus-visible{background:#ffffff0d}.game-row:active{background:#ffffff1a}.game-icon{flex:none;width:52px;height:52px;border-radius:50%;pointer-events:none}.game-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.game-tile{position:relative;width:100%;aspect-ratio:1 / .86;display:block;padding:0;background:var(--felt-dark);border-radius:16px;border:1px solid rgba(255,255,255,.15);overflow:hidden;cursor:pointer;box-shadow:0 6px 18px #00000059;transition:transform .1s ease-out}.game-tile .tile-art{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.game-tile:hover,.game-tile:focus-visible{border-color:var(--accent)}.game-tile:active{transform:scale(.97)}.game-tile:disabled{opacity:.6;cursor:default}.tile-name{position:absolute;left:0;right:0;bottom:0;padding:20px 12px 9px;text-align:left;font-size:17px;font-weight:700;color:#fff;background:linear-gradient(transparent,#0009)}.game-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.game-meta{font-size:13px;color:var(--ink-dim)}.game-go{font-size:24px;color:var(--ink-dim)}.group-games{display:flex;flex-direction:column;gap:16px;padding-bottom:64px}.create-game-bar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(68px + env(safe-area-inset-bottom));z-index:9;width:min(100% - 24px,456px);box-shadow:0 6px 20px #0006}.option{display:flex;flex-direction:column;gap:8px;text-align:left}.option-label{font-weight:600}.option-hint{font-size:13px;color:var(--ink-dim)}.option-hint.stable{display:grid}.option-hint.stable>span{grid-area:1 / 1}.option-hint.stable>span[aria-hidden=true]{visibility:hidden}.option-swap{display:grid}.option-swap>.option{grid-area:1 / 1}.option-swap>.option[aria-hidden=true]{visibility:hidden}.segmented{display:flex;background:#0000004d;border-radius:12px;padding:4px;gap:4px}.segmented button{flex:1;min-height:42px;border:none;border-radius:9px;background:transparent;color:var(--ink);font-weight:600;font-size:16px;cursor:pointer}.segmented button.on{background:var(--ink);color:var(--felt-dark)}@media(max-height:700px){.panel.sheet{gap:9px;padding-top:12px}.panel.sheet .panel-head{margin-bottom:0}.panel.sheet .sheet-intro{margin-top:-8px}.panel.sheet .option{gap:4px}.panel.sheet .option-hint{font-size:12px}.panel.sheet .segmented button{min-height:34px;font-size:15px}.panel.sheet .btn.primary{min-height:42px}}.settings-line{margin:-6px 0 0;color:var(--accent);font-weight:600}.clock{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.clock-track{width:90px;height:6px;border-radius:3px;background:#0000004d;overflow:hidden}.clock-bar{height:100%;background:#4ade80;transform-origin:left;transition:transform .2s linear}.clock.low .clock-bar{background:#ff6b5e}.clock-secs{min-width:26px;font-size:13px;font-weight:700;color:#ff8a80}.toast.info{background:#1f2b24;color:var(--ink);border-color:var(--accent)}.dim{color:var(--ink-dim)}.suit-sample{display:inline-flex;gap:3px;margin-left:10px;vertical-align:middle;--small-w: 22px;--small-h: 30px}.suit-sample .card .pip{display:none}.credits p{margin:6px 0 14px;font-size:14px}.credits a{color:var(--accent)}.result-actions{display:flex;flex-direction:column;gap:10px}.panel.opp-left{max-width:400px;text-align:center}.away{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;padding:8px 12px;border-radius:10px;background:#ffd2571f;border:1px solid rgba(255,210,87,.45);color:var(--accent);font-size:14px;text-align:center}.btn.small-btn{min-height:34px;padding:0 14px;font-size:14px}@media(orientation:landscape)and (max-height:520px){.table{gap:4px;padding-bottom:calc(2px + env(safe-area-inset-bottom))}.topbar{padding:4px 0 0}.icon-btn{width:32px;height:32px}.fan{--card-w: 40px;--card-h: 56px;--overlap: -22px;min-height:56px}.piles{gap:14px;padding:0}.pile{gap:2px}.status{min-height:0;max-width:260px}.status-line{font-size:15px}.actions{min-height:0;flex-direction:column;flex-wrap:nowrap}.hand{padding-top:12px;min-height:calc(var(--card-h) + 12px)}.chip{padding:3px 10px}.panel{padding:14px;gap:10px}}@media(orientation:portrait)and (max-height:620px){.table{gap:6px}.piles{padding:0}.status,.actions{min-height:40px}.hand{padding-top:14px;min-height:calc(var(--card-h) + 14px)}}@media(max-width:360px){.topbar{gap:8px;font-size:13px}.scores{gap:4px}.score{padding:2px 6px}.name{max-width:6.5em}}.offline{align-self:center;padding:8px 14px;border-radius:10px;background:#7a4b00d9;color:#ffe2a8;font-size:14px;font-weight:600;text-align:center}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;object-fit:cover;background:var(--felt-light);color:var(--ink);font-weight:700;border:2px solid rgba(255,255,255,.35)}.sign-in{display:flex;flex-direction:column;align-items:center;gap:12px}.google-button{min-height:44px;display:flex;flex-direction:column;align-items:center}.google-app-button{display:flex;align-items:center;justify-content:center;gap:12px;width:300px;max-width:100%;height:44px;border:0;border-radius:22px;background:#202124;color:#e8eaed;font-size:15px;font-weight:500}.google-app-button svg{width:20px;height:20px}.account-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#00000040;text-align:left}.account-text{flex:1;display:flex;flex-direction:column;min-width:0}.account-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row{display:inline-flex;align-items:center;gap:10px}.avatar.pixel{border-radius:12px;background:radial-gradient(circle at 50% 40%,#3a7d5c,#1d4a36);border:2px solid rgba(255,255,255,.25)}.avatar.pixel>span{display:block;image-rendering:pixelated;background-repeat:no-repeat}.panel.profile{max-width:440px;gap:14px}.profile-preview{display:flex;flex-direction:column;align-items:center;gap:6px}.avatar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.avatar-choice{display:grid;place-items:center;padding:4px;border-radius:14px;border:2px solid transparent;background:none;cursor:pointer}.avatar-choice.on{border-color:var(--accent);background:#ffd2571f}.groups,.group-page section{display:flex;flex-direction:column;gap:8px;text-align:left}.groups h2,.group-page h2{margin:8px 0 0;font-size:17px}.group-list,.member-list,.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.group-row{width:100%;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#0003;color:var(--ink);text-align:left;font-size:15px;cursor:pointer}.group-row .dot,.member-list .dot{display:inline-block}.link.back{align-self:flex-start;padding-left:0;text-decoration:none}.member-list li{display:flex;align-items:center;gap:10px}.member-list li span:nth-child(2){flex:1}.member-list li.is-offline{opacity:.55}.table-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;border-radius:12px;background:#0003}.table-players{flex:1;display:flex;flex-wrap:wrap;gap:8px}.mini-player,.history-player{display:inline-flex;align-items:center;gap:6px}.history-list li{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:12px;background:#00000026;font-size:14px}.history-top{display:flex;align-items:center;gap:8px}.history-icon{width:28px;height:28px;flex:none}.history-winners{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;min-width:0}.history-others{display:flex;flex-wrap:wrap;gap:4px 14px;padding-left:36px;font-size:13px;color:var(--ink-dim)}.history-others b{color:var(--ink)}.history-player.winner{min-width:0}.history-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-player.winner b{color:var(--accent)}.history-when{padding-left:36px;font-size:12px}.board{flex:1;display:grid;--seat-w: clamp(64px, 20vw, 96px);grid-template-columns:var(--seat-w) minmax(0,1fr) var(--seat-w);grid-template-rows:1fr auto auto auto auto auto auto 1fr auto;grid-template-areas:". . ." "fan fan fan" "oppseat piles ." "status status status" "myseat actions deadwood" "hand hand hand" "sort sort sort" ". . ." "chat chat chat";row-gap:10px;min-height:0}.fan{grid-area:fan}.piles{grid-area:piles}.status{grid-area:status;display:flex;flex-direction:column;align-items:center;gap:6px}.actions{grid-area:actions;align-self:center;align-content:center}.actions .btn{padding:0 14px}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:100%}.opp-seat{grid-area:oppseat;align-self:center}.my-seat{grid-area:myseat;align-self:end}.seat-face{position:relative}.seat-avatar{position:relative;display:block;padding:0;border:none;background:none;color:inherit;font:inherit;border-radius:50%}button.seat-avatar{cursor:pointer}button.seat-avatar:active{transform:scale(.95)}.seat .avatar.pixel{border-radius:50%}.seat-dot{position:absolute;top:-2px;right:-2px;width:11px;height:11px;border-radius:50%;background:#888;border:2px solid var(--felt-dark)}.seat-dot.good{background:#4ade80}.seat-dot.slow{background:#facc15}.seat-dot.bad{background:#f87171}.dealer-chip{position:absolute;right:-6px;bottom:-4px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--accent-ink);background:var(--accent);border:2px solid var(--felt-dark)}.seat-info{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;max-width:100%}.seat-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.seat .clock{flex-direction:column;gap:1px}.seat .clock-track{width:min(60px,var(--seat-w, 60px));height:5px}.seat .clock-secs{min-width:0;font-size:12px;line-height:1}.seat .clock-secs:empty{display:none}.reaction-bubble{position:absolute;left:calc(100% + 6px);top:-10px;z-index:30;font-size:36px;line-height:1;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));animation:reaction 2.4s ease-out forwards}@keyframes reaction{0%{transform:scale(.2) translateY(10px);opacity:0}12%{transform:scale(1.25);opacity:1}22%{transform:scale(1)}80%{transform:translateY(-6px);opacity:1}to{transform:translateY(-18px);opacity:0}}.emoji-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.emoji-fan{position:absolute;left:50%;top:50%;z-index:41}.emoji-choice{position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0a2017eb;box-shadow:0 4px 12px #00000059;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)));animation:emoji-out .18s ease-out backwards}.emoji-choice:active{background:#ffd25759}@keyframes emoji-out{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}}.chat-bar{grid-area:chat;display:flex;align-items:center;gap:8px;min-width:0;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.chat-bar.unread{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chat-icon{flex:none;font-size:15px}.chat-last{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.chat-panel{position:fixed;left:50%;transform:translate(-50%);width:min(100%,760px);display:flex;flex-direction:column;padding:8px 12px calc(10px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#081c14b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.15);animation:chat-up .16s ease-out}@keyframes chat-up{0%{transform:translate(-50%,24px);opacity:0}}.chat-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding-bottom:6px}.chat-head .icon-btn{width:30px;height:30px}.chat-lines{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:4px 0}.chat-lines>:first-child{margin-top:auto}.chat-line{margin:0;max-width:85%;align-self:flex-start;padding:6px 10px;border-radius:12px 12px 12px 4px;background:#ffffff1f;font-size:14px;overflow-wrap:anywhere}.chat-line b{display:block;font-size:11px;color:var(--ink-dim)}.chat-line.mine{align-self:flex-end;border-radius:12px 12px 4px;background:#ffd25738}.chat-empty{text-align:center;font-size:14px}.chat-error{margin:4px 0 0;font-size:13px;color:var(--danger)}.chat-form{display:flex;gap:8px;padding-top:8px}.chat-form input{flex:1;min-width:0;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#00000059;color:var(--ink);font-size:16px}@media(orientation:landscape)and (max-height:520px){.board{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr auto auto auto auto 1fr;grid-template-areas:". . ." "oppseat fan ." "piles status actions" "hand hand hand" "myseat sort chat" ". . .";row-gap:4px;column-gap:16px}.seat{flex-direction:row;gap:8px}.seat-info{align-items:flex-start;max-width:140px}.opp-seat{justify-self:end;align-self:center}.my-seat{justify-self:start}.deadwood{grid-area:myseat;justify-self:end;align-self:center;flex-direction:row;align-items:baseline;gap:4px}.piles{justify-self:end}.actions{justify-self:start;align-self:center}.chat-bar{align-self:center}}@media(orientation:portrait)and (max-height:700px){.board{row-gap:6px}.table{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.topbar{padding:6px 0 2px}.chat-bar{min-height:34px}.away{padding:6px 10px;gap:4px 10px;font-size:13px;line-height:1.3}}@media(max-width:400px){.board{--seat-w: 56px}.actions{gap:8px}.actions .btn{padding:0 10px;font-size:14px}.deadwood{font-size:11px;max-width:100%}}.pile-stack{position:relative;isolation:isolate}.pile-stack .under{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;box-shadow:0 1px 3px #00000059}.pile-stack .under:nth-child(1){transform:rotate(-7deg) translate(-3px,2px)}.pile-stack .under:nth-child(2){transform:rotate(6deg) translate(3px,1px)}.pile-stack .under:nth-child(3){transform:rotate(-2.5deg) translate(1px,3px)}.pile-label{margin-top:4px}.piles{margin-top:24px}@media(orientation:portrait)and (max-height:700px){.piles{margin-top:14px}}@media(orientation:landscape)and (max-height:520px){.piles{margin-top:0}}@media(orientation:portrait)and (max-height:620px){.board{row-gap:5px}.piles{margin-top:10px}.pile-label{margin-top:2px}}.status-line{line-height:1.3;min-height:2.6em;display:flex;align-items:center;justify-content:center}.last-action{line-height:1.3;min-height:1.3em}.shell{min-height:100dvh;padding-bottom:calc(68px + env(safe-area-inset-bottom))}.tab-page{max-width:480px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:16px}.tab-title{margin:0;font-size:22px;text-align:center}.tab-page h2{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.shell .lobby{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:24px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:flex;justify-content:center;gap:4px;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#081e15f5;border-top:1px solid rgba(255,255,255,.1)}.tab{flex:1;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;border:none;border-radius:14px;background:none;color:var(--ink-dim);font-size:11px;font-weight:600;cursor:pointer}.tab.active{color:var(--accent);background:#ffd2571f}.friend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#00000038}.friend-list li{display:flex;align-items:center;gap:12px;padding:10px 14px}.friend-list li+li{border-top:1px solid rgba(255,255,255,.07)}.friend-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-align:left}.friend-state{font-size:12px;color:#4ade80}.friend-state.playing{color:var(--accent)}.empty{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:#00000038;text-align:center}.empty p{margin:0}.empty .row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.panel.settings.inline{max-width:none;max-height:none;overflow:visible;background:#00000038}.group-views button{min-height:38px;font-size:14px}.group-chat{display:flex;flex-direction:column;gap:8px;text-align:left;padding-bottom:64px}.group-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.group-messages li{display:flex;align-items:flex-end;gap:8px;max-width:88%}.group-messages li.mine{align-self:flex-end}.group-messages .bubble{display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px 11px;border-radius:14px 14px 14px 4px;background:#ffffff1f}.group-messages li.mine .bubble{border-radius:14px 14px 4px;background:#ffd25738}.group-messages .bubble b{font-size:12px;color:var(--ink-dim)}.group-messages .text{overflow-wrap:anywhere}.group-messages time{align-self:flex-end;font-size:10px;color:var(--ink-dim)}.group-chat-form{position:fixed;left:50%;transform:translate(-50%);bottom:calc(68px + env(safe-area-inset-bottom));z-index:9;width:min(100% - 24px,456px);display:flex;gap:8px;padding:8px;border-radius:999px;background:#081e15f5;border:1px solid rgba(255,255,255,.15)}.group-chat-form input{flex:1;min-width:0;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#00000059;color:var(--ink);font-size:16px}html{scrollbar-gutter:stable}.sheet-overlay{overflow:hidden}.me-page{gap:12px}.me-page .account-card .edit-profile{align-self:flex-start;padding:2px 0 0;font-size:13px}.panel.settings.inline{padding:6px 14px;gap:0}.me-page>.panel.settings.inline{flex:0 1 auto;min-height:0;overflow-y:auto}.panel.settings.inline .panel-head{margin-bottom:0}.panel.settings.inline .panel-head h2{font-size:13px}.panel.settings.inline .setting{min-height:44px;font-size:15px}@media(max-height:620px){.me-page>.tab-title{display:none}.panel.settings.inline .setting{min-height:40px}}.panel.settings .setting{min-height:44px;font-size:15px}.setting.with-volume{gap:12px}.setting.with-volume>label{flex:1;min-width:0;cursor:pointer}.setting.with-volume input[type=range]{flex:none;width:38%;max-width:170px}.setting.with-volume.off{opacity:1}.setting.with-volume.off input[type=range]{opacity:.4}.game-info{display:flex;flex-direction:column;gap:2px;padding:8px 4px;font-size:13px;color:var(--ink-dim);text-align:center}@media(orientation:landscape)and (max-height:520px){.panel.settings:not(.inline){max-width:720px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-content:start;padding:10px 16px 14px}.panel.settings:not(.inline) .game-info{padding:4px}.panel.settings:not(.inline)>.panel-head,.panel.settings:not(.inline)>.game-info,.panel.settings:not(.inline)>.leave-confirm,.panel.settings:not(.inline)>.btn.wide,.panel.settings:not(.inline)>.rules{grid-column:1 / -1}}@media(orientation:landscape)and (max-height:360px){.overlay{padding:8px}.panel.settings:not(.inline){gap:4px;padding:6px 14px 10px}.panel.settings:not(.inline) .setting{min-height:34px;font-size:14px}}.tab-icon{position:relative;display:inline-flex}.badge-count{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.badge-count.inline{position:static;display:inline-block;margin-left:8px;vertical-align:2px}.owner-tag{margin-left:8px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:var(--accent);vertical-align:2px}.link.remove-member{padding:2px 4px;font-size:13px}.remove-confirm{display:inline-flex;gap:6px}.remove-confirm .btn.small-btn{min-height:30px;padding:0 10px;font-size:13px}.feed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#00000038}.feed-list li+li{border-top:1px solid rgba(255,255,255,.07)}.feed-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;border:none;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.feed-text{display:flex;flex-direction:column;min-width:0}.feed-text .dim{font-size:12px}.rotate-hint{display:none}@media(pointer:coarse)and (orientation:portrait){.rotate-hint.want-landscape{display:flex}}@media(pointer:coarse)and (orientation:landscape)and (max-height:520px){.rotate-hint.want-portrait{display:flex}}.rotate-hint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;font-size:18px;font-weight:650;background:radial-gradient(ellipse at 50% 40%,var(--felt-light),var(--felt) 55%,var(--felt-dark))}.rotate-hint p{margin:0;max-width:260px}.rotate-phone{transform-origin:32px 30px;animation:rotate-phone 2.2s ease-in-out infinite}.want-portrait .rotate-phone{animation-direction:reverse}@keyframes rotate-phone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.rotate-phone{animation:none}}.lobby.room-lobby{height:100dvh;max-width:460px;box-sizing:border-box;gap:12px;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.room-lobby h1{font-size:30px}.room-lobby .tagline{margin:0}.lobby-settings{margin:-6px 0 0;font-size:14px;color:var(--accent);font-weight:600}.lobby-invite{display:flex;gap:10px;align-items:stretch}.lobby-invite .big-code{flex:1;font-size:28px;padding:6px 4px;letter-spacing:.15em}.lobby-invite .btn{flex:1}.small-note{font-size:13px}.lobby-actions{display:flex;gap:10px}.lobby-actions .btn.primary{flex:1}.room-lobby .chat-bar{flex:none}@media(max-height:600px){.lobby.room-lobby{gap:8px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.room-lobby h1{font-size:24px}}.seat-stepper{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--accent);font-weight:600}.seat-stepper .btn{width:44px;height:40px;padding:0;font-size:22px;line-height:1}.seat-stepper span{min-width:72px}.lobby.welcome{min-height:100dvh;box-sizing:border-box;justify-content:center}.history-game{font-size:14px;font-weight:650;white-space:nowrap;color:var(--accent)}.table{--g-wood-hi: #8a5a34;--g-wood: #5c3a1f;--g-wood-lo: #3d2412;--g-felt-hi: #24865d;--g-felt: #196b4b;--g-felt-lo: #0f4f37;--g-rail: 9px}.board{position:relative;isolation:isolate}.gin-felt{grid-row:2 / 7;grid-column:1 / -1;position:relative;z-index:-1;margin:calc(var(--card-h) * .45) -6px calc(var(--card-h) * .4 + 18px);border-radius:min(22vw,110px);background:linear-gradient(180deg,var(--g-wood-hi),var(--g-wood) 40%,var(--g-wood-lo));box-shadow:0 0 0 1px #00000080,0 14px 36px #00000080;pointer-events:none}.gin-felt:before,.gin-felt:after{content:"";position:absolute;border-radius:calc(min(22vw,110px) - var(--g-rail))}.gin-felt:before{inset:var(--g-rail);background:radial-gradient(ellipse 80% 60% at 50% 45%,var(--g-felt-hi) 0%,var(--g-felt) 55%,var(--g-felt-lo) 100%);box-shadow:inset 0 0 0 1px #00000073,inset 0 6px 18px #00000073}.gin-felt:after{inset:calc(var(--g-rail) + 12px);border:1px solid rgba(255,210,87,.2)}.board .seat .seat-info{padding:1px 9px;border-radius:999px;background:#061610c7;box-shadow:0 0 0 1px #ffffff1a;transition:background-color .25s}.board .seat .seat-name{font-size:14px;font-weight:600}.board .seat.turn .seat-info{background:var(--accent)}.board .seat.turn .seat-name,.board .seat.turn .seat-info{color:var(--accent-ink)}.board .seat.turn .avatar{box-shadow:0 0 0 2px var(--accent),0 0 16px #ffd25799}.board .status .status-line{min-height:calc(2.6em + 8px)}.board .status .status-line span{max-width:100%;box-sizing:border-box;padding:4px 14px;border-radius:14px;background:#04140e8c;font-weight:600}.board .status .last-action{font-size:14px;color:#f4f1e8bf}.board .pile-label{font-size:13px;color:#f4f1e8bf}.board .pile .card.empty{border:1.5px dashed rgba(255,255,255,.22);background:#00000014}.board .deadwood{font-size:13px;color:#f4f1e8cc}.board .deadwood b{font-size:22px}.board .deadwood small{font-size:12px}@media(orientation:landscape)and (max-height:520px){.board .seat .seat-name{font-size:12px}.board .seat-info{max-width:96px}.board .deadwood b{font-size:18px}}@media(max-width:360px){.board .status .status-line span{padding:3px 8px;font-size:15px}}.board .status .last-action{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.board .seat .seat-info{padding:1px 6px}.board .seat .seat-name{font-size:13px}}@media(max-width:360px){.board .seat .seat-name{font-size:12px}}.board .opp-seat .seat-info,.board .my-seat .seat-info{max-width:calc(var(--seat-w) + 16px)}@media(orientation:landscape)and (max-height:300px){.panel.settings:not(.inline){gap:2px;padding:4px 12px 8px}.panel.settings:not(.inline) .panel-head{margin-bottom:0}.panel.settings:not(.inline) .setting{min-height:30px;font-size:13px}}.chat-bar .chat-last{display:flex;gap:5px}.chat-bar .chat-who{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis}.chat-bar .chat-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.say-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:30;width:max-content;max-width:200px;padding:5px 10px;border-radius:12px;background:#fffdf7;color:#1d1d1f;font-size:13px;font-weight:500;line-height:1.3;text-align:left;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;box-shadow:0 4px 12px #00000073;pointer-events:none;--say-x: -50%;transform:translate(var(--say-x));animation:say 5s ease-out forwards}@keyframes say{0%{opacity:0;transform:translate(var(--say-x)) translateY(6px) scale(.85)}6%{opacity:1;transform:translate(var(--say-x)) translateY(0) scale(1)}88%{opacity:1;transform:translate(var(--say-x)) translateY(0) scale(1)}to{opacity:0;transform:translate(var(--say-x)) translateY(-4px) scale(1)}}@media(prefers-reduced-motion:reduce){.say-bubble{animation:none}}.board .say-bubble{left:0;--say-x: 0%}.shell{height:100dvh;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.shell>main{flex:1;min-height:0;width:100%;box-sizing:border-box;overflow-y:auto}.shell>.tab-page,.shell>.group-page{overflow:hidden}.scroll-box{min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:6px;border-radius:14px;background:#00000029;border:1px solid rgba(255,255,255,.08)}.shell .tab-page>section,.shell .group-page>section,.shell .group-games>section{display:flex;flex-direction:column;min-height:0}.shell .grow,.shell .groups,.shell .group-chat,.shell .group-games,.shell .group-page>section:not(.group-chat){flex:1}.shell .groups .group-list,.shell .feed-list,.shell .group-messages,.shell .history-list{flex:1}.shell .friend-list{max-height:34dvh}.shell .group-games{display:flex;flex-direction:column;min-height:0}.shell .group-games>section:first-child{flex:0 1 auto;max-height:40%}.shell .group-games>section:last-of-type{flex:1}.shell .group-chat{min-height:0}.shell .member-list{flex:0 1 auto}.shell .group-page{gap:10px;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:12px}.group-head{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center}.group-head .link.back{justify-self:start}.group-head h1{margin:0;font-size:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .group-page h2{margin:0 0 6px}.card.joker .joker-star{left:50%;right:auto;top:46%;bottom:auto;width:auto;height:auto;transform:translate(-50%,-50%);font-size:calc(var(--card-w) * .5);line-height:1}.card.joker .joker-word{position:absolute;left:0;right:0;bottom:6%;text-align:center;font-size:calc(var(--card-w) * .17);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.card.small.joker .joker-word{display:none}.deck-stack{position:relative;isolation:isolate}.deck-stack .under{position:absolute;left:0;top:0;z-index:-1;pointer-events:none}.deck-stack .under:nth-child(1){transform:rotate(-7deg) translate(-3px,2px)}.deck-stack .under:nth-child(2){transform:rotate(6deg) translate(3px,1px)}.deck-stack .under:nth-child(3){transform:rotate(-2.5deg) translate(1px,3px)}
