:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:Inter,ui-rounded,SF Pro Rounded,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;margin:0;padding:0}button,input{font:inherit;letter-spacing:0}button{touch-action:manipulation;-webkit-tap-highlight-color:#f4c95d40}button:focus-visible,input:focus-visible,summary:focus-visible,.rules-link:focus-visible{outline-offset:3px;outline:3px solid #f4c95d}.language-toggle{top:max(18px, env(safe-area-inset-top));right:max(22px, env(safe-area-inset-right));z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#031f1db3;border:1px solid #ffffff2e;border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid;position:absolute;overflow:visible;box-shadow:0 8px 24px #00121033}.language-toggle button{color:#dceae7;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:48px;min-height:36px;font-size:12px;font-weight:800}.language-toggle button:hover{color:#fff;background:#ffffff1a}.language-toggle button[aria-pressed=true]{color:#14342f;background:#f4c95d}.lobby-page{--ink:#233d32;--muted:#637067;--gold:#557845;--line:#dedfd4;--accent:#e4def0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100svh;padding:env(safe-area-inset-top) max(32px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));color:var(--ink);background:#f8f6ef;font-family:Avenir Next,Trebuchet MS,sans-serif}.lobby-theme-mint{--accent:#dce9c9}.lobby-theme-peach{--accent:#f3d8c2}.lobby-page :focus-visible{outline-offset:3px;outline:3px solid #8553b2}.lobby-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100%);min-height:100px;margin:auto;display:flex}.lobby-header a{color:var(--ink);text-decoration:none}.lobby-brand{letter-spacing:-1.6px;align-items:center;min-height:44px;font-size:30px;font-weight:850;display:flex}.lobby-brand-dot{color:#628d54}.lobby-brand-mark{color:#fbf9ee;background:var(--ink);border-radius:12px 12px 15px 8px;justify-content:center;align-items:center;width:37px;height:39px;margin-right:10px;padding-bottom:5px;font:italic 700 32px Georgia,serif;display:flex;transform:rotate(-8deg)}.lobby-brand-mark span{color:#e6d874;align-self:flex-start;margin-top:4px;font-size:18px}.lobby-header nav{align-items:center;gap:24px;display:flex}.lobby-home{align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:650;display:flex}.lobby-home:hover{text-underline-offset:5px;text-decoration:underline}.lobby-header .language-toggle{border-color:var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:static;overflow:visible}.lobby-header .language-toggle button{min-height:38px;color:var(--muted)}.lobby-header .language-toggle button:hover{background:#eeeee3}.lobby-header .language-toggle button[aria-pressed=true]{color:#fffdf5;background:var(--ink)}.lobby-content{border:1px solid var(--line);background:#fffdf8;border-radius:22px;width:min(920px,100%);margin:36px auto 0;padding:32px;animation:.42s ease-out both lobby-enter;box-shadow:0 4px #233d3205}.lobby-intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.lobby-mark{background:var(--accent);border-radius:999px;margin-bottom:16px;padding:8px 14px;font-size:15px;font-weight:750;display:inline-flex}.lobby-kicker{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:850}.lobby-content h1,.waiting-room h1{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(36px,6vw,52px);font-weight:800;line-height:1.04}.rules-link{border:1px solid var(--line);color:var(--ink);background:#f8f6ef;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:9px 14px;font-size:14px;font-weight:750;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.rules-link:hover{border-color:var(--gold);background:#eeeee3;transform:translateY(-1px)}.player-name,.table-code{color:var(--muted);text-align:left;margin-top:28px;font-size:14px;display:block}.player-name>label,.table-code>label{margin-bottom:9px;font-weight:700;display:block}.player-name input,.table-code input{width:100%;height:52px;color:var(--ink);background:#fff;border:1px solid #a8b1a5;border-radius:12px;padding:0 15px;font-size:17px}.player-name input::placeholder,.table-code input::placeholder{color:var(--muted)}.lobby-help{color:var(--muted);font-size:13px;line-height:1.6}.player-name>.lobby-help{margin-top:8px}.lobby-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.lobby-options>.lobby-option{border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;min-width:0;padding:22px;display:flex}.lobby-option:first-child{background:#f0f3e9}.lobby-option>button{margin-top:auto}.lobby-option .table-code{margin-top:0}.lobby-content h2{letter-spacing:-.5px;font-size:21px;font-weight:750}.lobby-quick{border:1px solid var(--line);border-radius:16px;align-items:center;gap:24px;margin-top:20px;padding:20px 22px;display:flex}.lobby-quick .lobby-help{margin-top:6px}.lobby-quick .quick-play{flex:0 0 160px}.player-name-options{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.player-name-option{max-width:100%;display:flex}.player-name-options button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#f8f6ef;font-size:14px}.player-name-option>button:first-child{overflow-wrap:anywhere;border-radius:999px 0 0 999px;min-width:0;padding:5px 10px 5px 13px}.player-name-options .player-name-delete{border-left:0;border-radius:0 999px 999px 0;padding:5px 10px 5px 7px}.player-name-options button:hover,.player-name-options button[aria-pressed=true]{border-color:var(--ink);color:#fffdf5;background:var(--ink)}.player-name-options .player-name-delete:hover{color:#a73527;background:#fff0ec;border-color:#b44232}.lobby-page button:disabled{cursor:not-allowed;opacity:.52}.join-table-form{gap:14px;display:grid}.join-table-form+.lobby-secondary{margin-top:12px}.player-choice{border:0;margin:22px 0}.family-table-note{color:var(--muted);text-align:left;font-size:14px;line-height:1.5}.segments{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segments button{min-width:0;min-height:78px;color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:14px;place-content:center;display:grid}.segments button:hover{border-color:var(--gold);background:#f4c95d1a}.segments button.selected{border-color:var(--gold);color:#173731;background:var(--gold);box-shadow:0 8px 22px #f4c95d33}.segments span{font-size:13px;line-height:1.1;display:block}.segments .segment-humans strong{font-size:21px}.segments .segment-bots{color:var(--muted);margin-top:7px;font-size:11px}.segments button.selected .segment-bots{color:#4b665f}.lobby-primary,.lobby-secondary{cursor:pointer;border-radius:12px;width:100%;min-height:52px;font-size:16px;font-weight:800;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.lobby-primary{border:1px solid var(--ink);color:#fffcf1;background:var(--ink);box-shadow:0 4px #142b20}.lobby-primary:hover:not(:disabled){background:#365542;transform:translateY(-1px)}.lobby-primary:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.lobby-secondary{color:var(--ink);background:#fffdf8;border:1px solid #a8b1a5}.lobby-secondary:hover:not(:disabled){border-color:var(--ink);background:#eeeee3}.lobby-secondary:active:not(:disabled){transform:scale(.98)}.player-choice:disabled button{cursor:wait;opacity:.52}.recent-tables{border:1px solid var(--line);text-align:left;background:#f8f6ef;border-radius:12px;margin-top:16px}.recent-tables summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:9px;padding:0 13px;font-size:13px;font-weight:800;list-style:none;display:flex}.recent-tables summary::-webkit-details-marker{display:none}.recent-tables summary:after{color:var(--gold);content:"+";margin-left:auto;font-size:18px}.recent-tables[open] summary:after{content:"-"}.recent-table-count{min-width:22px;height:22px;color:var(--ink);background:var(--accent);border-radius:999px;place-items:center;font-size:11px;display:grid}.recent-tables ul{gap:7px;max-height:184px;padding:0 8px 8px;list-style:none;display:grid;overflow-y:auto}.recent-tables li{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;display:grid}.recent-tables li.editing{grid-template-columns:minmax(0,1fr) auto}.recent-table-rename-form{display:contents}.recent-table-rename-form input{min-width:0;min-height:44px;color:var(--ink);background:#fff;border:1px solid #a8b1a5;border-radius:9px;padding:0 11px;font-size:16px}.recent-table-open,.recent-table-delete,.recent-table-rename,.recent-table-save{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fffdf8;border-radius:9px}.recent-table-open{text-align:left;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 11px;display:flex}.recent-table-open strong{letter-spacing:.06em;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;overflow:hidden}.recent-table-player{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;overflow:hidden}.recent-table-open span,.recent-table-delete,.recent-table-rename,.recent-table-save{color:var(--muted);font-size:12px;font-weight:750}.recent-table-delete,.recent-table-rename,.recent-table-save{padding:0 11px}.recent-table-open:hover,.recent-table-rename:hover,.recent-table-save:hover{border-color:var(--gold);background:#eeeee3}.recent-table-delete:hover{color:#a73527;background:#fff0ec;border-color:#b44232}.lobby-message{min-height:24px;color:var(--muted);margin-top:18px;font-size:14px}.lobby-message.error{color:#a73527}.lobby-card-fan{background:var(--accent);pointer-events:none;border-radius:16px;flex:0 0 220px;height:190px;animation:3s ease-in-out infinite card-fan-float;position:relative;overflow:hidden}.lobby-card-fan img{border-radius:8px;width:80px;height:auto;position:absolute;bottom:26px;left:50%;box-shadow:0 5px 8px #233d3226}.lobby-card-fan img:first-child{transform:translate(-92%)rotate(-13deg)}.lobby-card-fan img:nth-child(2){z-index:1;transform:translate(-50%)}.lobby-card-fan img:nth-child(3){transform:translate(-8%)rotate(13deg)}.page{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 20%,#244a52,#0000 48%),#071b20;place-items:center;display:grid}.table{--card-width:88px;--card-height:128px;--hand-step:36px;--play-step:28px;--table-card-width:72px;--table-card-height:105px;--back-width:56px;--back-height:82px;--reveal-card-width:64px;--reveal-card-height:93px;--reveal-step:clamp(12px, 1.75vw, 22px);--hand-max-width:calc(var(--card-width) + 17 * var(--hand-step));--selected-card-offset:-18px;--table-inset:24px;color:#f8fff9;background:radial-gradient(#3ebf904d,#0000 58%),linear-gradient(145deg,#12755f,#075247 72%);border:10px solid #9b633c;border-radius:64px;flex-direction:column;width:min(1180px,100%);height:min(780px,100svh - 36px);min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080,inset 0 0 0 3px #ffecbb6b,inset 0 0 60px #001a1857}.table-toolbar{--toolbar-bottom:16px;z-index:20;padding:16px var(--table-inset);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:relative}.table-utilities{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.table-toolbar .language-toggle{z-index:auto;border:0;padding:0;position:static;overflow:visible}.table-toolbar .language-toggle button{min-width:44px;min-height:44px}.table-toolbar .table-presence{position:static}.table-toolbar:has(.table-watchers){padding-bottom:calc(var(--toolbar-bottom) + 14px)}.table-toolbar .table-watchers{right:var(--table-inset);max-width:calc(100% - 2 * var(--table-inset));position:absolute;bottom:6px}.table-arena{min-height:0;margin:0 var(--table-inset);flex:1;position:relative}.player-zone{min-width:0;padding:8px var(--table-inset) 12px;flex:none;gap:8px;display:grid}.player-controls{justify-content:space-between;align-items:flex-end;gap:12px;min-width:0;display:flex}.table:before{content:"";pointer-events:none;border:1px solid #f4e6bc29;border-radius:50%;width:min(52%,520px);height:250px;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.table-brand{color:#fff7d826;letter-spacing:.08em;pointer-events:none;align-items:center;gap:8px;font-size:clamp(28px,4vw,50px);font-weight:900;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.table-brand i{font-style:normal}.card{width:var(--card-width);height:var(--card-height);-webkit-user-select:none;user-select:none;border:1px solid #ffffffdb;border-radius:9px;transition:transform .14s,box-shadow .14s;position:absolute;box-shadow:0 5px 14px #001a1859}.card.selected{transform:translateY(var(--selected-card-offset));box-shadow:0 9px 20px #0014126b,0 0 0 3px #f4c95d}.hand-zone{width:fit-content;min-width:0;max-width:min(var(--hand-max-width), 100%);margin:0 auto;display:grid;position:relative}.hand-area{min-width:0;padding-top:calc(6px - var(--selected-card-offset));overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a7c2b9 #0b3f3a;grid-area:1/1;padding-bottom:6px;display:grid;position:relative;overflow:auto hidden}.hand,.hand-clicks{width:max-content;height:var(--card-height);grid-area:1/1;display:flex}.hand .card{flex:0 0 var(--card-width);position:relative}.hand .card:not(:last-child){margin-right:calc(var(--hand-step) - var(--card-width))}.hand-clicks .click{z-index:10;flex:0 0 var(--hand-step);width:var(--hand-step);height:var(--card-height);cursor:pointer;background:0 0;border:0;position:relative}.hand-clicks .click:last-child{flex:0 0 var(--card-width);width:var(--card-width)}.hand-scroll-controls{z-index:11;pointer-events:none;grid-area:1/1;position:relative}.hand-scroll-button{color:#fff7dd;opacity:0;text-shadow:0 2px 6px #001210bf;pointer-events:none;cursor:pointer;border:0;place-items:center;width:44px;font-size:30px;font-weight:900;transition:opacity .16s;display:grid;position:absolute;top:0;bottom:0}.hand-scroll-button.show{opacity:1;pointer-events:auto}.hand-scroll-button:focus-visible{outline-offset:-5px;outline:3px solid #f4c95d}.hand-scroll-button:disabled{cursor:default}.hand-scroll-left{background:linear-gradient(90deg,#075247e0,#0000);left:0}.hand-scroll-left:before{content:"‹"}.hand-scroll-right{background:linear-gradient(270deg,#075247e0,#0000);right:0}.hand-scroll-right:before{content:"›"}.hand-clicks .click.selected{transform:translateY(var(--selected-card-offset))}.hand-clicks .click:focus-visible{z-index:20;outline-offset:-4px}.hand-clicks .click:disabled{cursor:default}.hand.quit{filter:saturate(.45);opacity:.55}.hand-clicks.quit{pointer-events:none}.spectator-hand{width:calc(var(--card-width) + 30px);max-width:100%;height:var(--card-height);margin:0 auto;position:relative}.spectator-hand .folded-card{top:0}.revealed-stack{width:100%}.revealed-hand{grid-template-columns:var(--reveal-card-width);width:max-content;min-width:0;max-width:100%;height:var(--reveal-card-height);display:grid}.revealed-hand:has(>:nth-child(2)){grid-template-columns:repeat(calc(var(--stack-count) - 1), minmax(0, var(--reveal-step))) var(--reveal-card-width)}.opponent-bot1 .revealed-stack{justify-content:flex-end;display:flex}.spectator-hand.revealed-stack{justify-content:center;display:flex}.revealed-hand .revealed-card{z-index:var(--card-index);flex:0 0 var(--reveal-card-width);width:var(--reveal-card-width);height:var(--reveal-card-height);border-radius:7px;position:relative;top:auto!important;left:auto!important;right:auto!important}.played-stack{--card-width:var(--table-card-width);--card-height:var(--table-card-height);grid-template-columns:var(--card-width);width:max-content;max-width:100%;height:var(--card-height);display:grid;position:absolute}.played-stack:has(>:nth-child(2)){grid-template-columns:repeat(calc(var(--stack-count) - 1), minmax(0, var(--play-step))) var(--card-width)}.played-card{z-index:var(--card-index);flex:0 0 var(--card-width);position:relative;top:auto;left:auto}.played-you-stack{bottom:4px;transform:translate(-50%);top:auto!important;left:50%!important}.opponent{z-index:11;grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--back-height) var(--table-card-height);row-gap:9px;width:42%;min-width:0;display:grid;position:absolute;top:0}.opponent-bot1{right:0}.opponent-bot2{left:0}.opponent .player-info,.opponent .folded-stack,.opponent .played-stack{position:relative;transform:none;inset:auto!important}.opponent-bot1 .player-info,.opponent-bot1 .folded-stack{justify-self:end}.opponent-bot2 .player-info,.opponent-bot2 .folded-stack{justify-self:start}.opponent .player-info{max-width:100%}.opponent:has(.revealed-stack){grid-template-rows:auto var(--reveal-card-height) var(--table-card-height)}.folded-stack{--card-width:var(--back-width);--card-height:var(--back-height);min-width:0;width:calc(var(--card-width) + 30px);height:var(--card-height);position:relative}.folded-stack.revealed-stack{width:100%}.opponent .folded-card{top:0!important}.opponent-play{width:100%;height:var(--table-card-height);position:relative}.opponent-play .played-stack{position:absolute;top:0!important}.opponent-bot1 .opponent-play .played-stack,.opponent-bot1 .opponent-play .pass{left:auto!important;right:0!important}.opponent-bot2 .opponent-play .played-stack,.opponent-bot2 .opponent-play .pass{left:0!important;right:auto!important}.player-info{z-index:12;color:#e5f3ef;opacity:.82;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#032a2694;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:9px;min-width:0;max-width:calc(50% - 20px);padding:7px 11px 7px 7px;transition:opacity .16s,border-color .16s,background .16s;display:flex;position:absolute;box-shadow:0 7px 20px #0019162e}.player-info-you{flex:0 auto;max-width:min(200px,40%);position:relative}.player-info.active{opacity:1;background:#043730eb;border-color:#f4c95d;box-shadow:0 0 0 3px #f4c95d29,0 8px 24px #0019164d}.low-card-alert{z-index:16;color:#2a1200;text-align:center;pointer-events:none;background:#f4c95d;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;max-width:min(420px,100% - 32px);padding:6px 12px;font-size:13px;font-weight:850;animation:5s forwards low-card-alert-pop;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00141240}.low-card-alert-seat{text-overflow:ellipsis;white-space:nowrap;max-width:40%;overflow:hidden}.low-card-alert-seat:after{content:"·";padding-left:8px}@keyframes low-card-alert-pop{0%{opacity:0;transform:translate(-50%)translateY(4px)}10%{opacity:1;transform:translate(-50%)translateY(0)}85%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-4px)}}.seat-avatar{color:#173a34;background:#d5ece3;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:grid}.player-info.active .seat-avatar{background:#f4c95d}.seat-details{min-width:0;display:grid}.seat-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;line-height:1.1;overflow:hidden}.seat-status{flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;display:flex}.seat-count,.seat-waiting,.seat-quit{color:#bed4cf;white-space:nowrap;font-size:11px;line-height:1.25}.seat-waiting,.seat-quit{color:#f4c95d}.seat-count{font-variant-numeric:tabular-nums}.pass{color:#fff7d8;background:#032a26b8;border:1px solid #ffffff29;border-radius:999px;padding:7px 13px;font-size:15px;font-weight:850;position:absolute;box-shadow:0 6px 16px #00141233}.pass-you{bottom:12px;left:50%;transform:translate(-50%);top:auto!important}.hint-stack{z-index:14;pointer-events:none;justify-items:center;display:grid;position:absolute;top:58px;left:0;right:0}.hint{color:#fff;text-align:center;text-wrap:balance;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#032a26b8;border-radius:999px;max-width:min(560px,100%);padding:8px 14px;font-size:15px;font-weight:750;box-shadow:0 7px 20px #00161433}.hint.small{font-size:14px}.hint.status,.hint.quit-status{color:#fff2bd}.button{z-index:15;color:#fff;cursor:pointer;border:1px solid #ffffff6b;border-radius:14px;min-width:148px;min-height:52px;font-size:18px;font-weight:900;transition:transform .12s,box-shadow .12s,background .12s;position:relative;box-shadow:0 10px 24px #00181642}.button.play{color:#17352f;background:#f4c95d}.button.play:hover{background:#ffda73}.button.pass{background:#2688bd}.button.pass:hover{background:#39a0d6}.button:not(.disabled):active{transform:translateY(2px)scale(.98);box-shadow:0 4px 12px #00181642}.button.disabled{color:#c6d4d1;cursor:not-allowed;opacity:.66;background:#052f2bb3}.game-buttons{z-index:15;flex:none;gap:10px;display:flex}.game-buttons .button{min-width:112px;position:static}.quit-game-btn{z-index:15;color:#ffe9e4;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#75272199;border:1px solid #ffd7cf61;border-radius:999px;flex:none;min-width:104px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800}.quit-game-btn:hover{background:#972f27e6;border-color:#ffd7cfb3}.quit-game-btn:disabled{cursor:not-allowed;opacity:.5}.table-actions{z-index:15;flex:none;gap:8px;display:flex}.table-actions button,.table-presence>.table-share-controls button{color:#fff7dd;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#032a26b3;border:1px solid #ffffff4d;border-radius:999px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800;transition:transform .12s,background .12s,border-color .12s}.table-actions button:hover,.table-presence>.table-share-controls button:hover{background:#044138f0;border-color:#f4c95d}.table-actions button:disabled{cursor:not-allowed;opacity:.5}.table-actions button:not(:disabled):active,.table-presence>.table-share-controls button:not(:disabled):active{transform:scale(.96)}.table-actions .icon-action{justify-content:center;align-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex}.icon-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px;height:21px}.table-presence{z-index:14;color:#dceae7;text-align:right;justify-items:end;gap:4px;max-width:min(320px,100% - 48px);font-size:11px;display:grid;position:relative}.table-share-controls{align-items:center;display:flex}.table-share-controls button{color:#f4c95d;border-color:#f4c95da6;justify-content:center;align-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex}.table-presence small{color:#ffb9aa}.table-watchers{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.share-dialog-backdrop{z-index:40;width:100%;max-width:none;height:100%;max-height:none;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;background:0 0;border:0;place-items:center;margin:0;position:fixed;inset:0}.share-dialog-backdrop[open]{display:grid}.share-dialog-backdrop::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#001614ad}.share-dialog{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overscroll-behavior:contain;color:#17342e;text-align:center;background:#fffaf0;border:1px solid #e4d7b8;border-radius:22px;width:min(460px,100%);max-height:100%;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0000005c}.share-dialog-heading{z-index:1;background:#fffaf0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.share-dialog h2{text-align:left;text-wrap:balance;font-size:24px}.share-dialog .share-invite{margin-bottom:0}.share-dialog .share-dialog-close{color:#52635e;cursor:pointer;background:0 0;border:0 #0000;border-radius:50%;flex:none;width:44px;min-width:44px;min-height:44px;padding:0;font-size:26px;line-height:1}.share-dialog .share-dialog-close:hover{color:#17342e;background:#eee8db}.share-dialog :focus-visible{outline-color:#137660}.waiting-room,.overlay{z-index:30;color:#17342e;text-align:center;overscroll-behavior:contain;background:#fffaf0;border:1px solid #e4d7b8;border-radius:22px;width:min(500px,100% - 32px);max-height:calc(100% - 24px);padding:32px;animation:.26s ease-out both waiting-enter;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00161499,0 24px 60px #0000005c}.overlay.showdown-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf0f2;box-shadow:0 24px 60px #0000005c}.waiting-room .lobby-kicker{color:#a06716}.waiting-room h1{font-size:36px}.seat-progress{justify-content:center;align-items:baseline;gap:8px;margin-top:22px;display:flex}.seat-progress strong{color:#e35742;font-variant-numeric:tabular-nums;font-size:40px;line-height:1}.seat-progress span{color:#61706c;font-size:14px}.seat-dots{justify-content:center;gap:9px;margin:16px 0 24px;display:flex}.seat-dots span{border:2px solid #91a59f;border-radius:50%;width:11px;height:11px}.seat-dots span.seated{background:#13866c;border-color:#13866c}.share-invite{text-align:center;margin:16px 0 24px}.share-qr{background:#fff;border:1px solid #c7b997;border-radius:12px;padding:12px;display:inline-flex}.share-scan-hint{color:#4d5a56;margin:10px 0 14px;font-size:13px}.native-share{color:#137660;cursor:pointer;background:#fff;border:1px solid #c7b997;border-radius:9px;width:100%;height:44px;margin-top:8px;font-size:13px;font-weight:800}.native-share:hover{background:#f4efe1}.share-control{grid-template-columns:minmax(0,1fr) 108px;gap:8px;display:grid}.share-control:focus-within{border-radius:10px;box-shadow:0 0 0 3px #13866c29}.share-control input,.share-control button{border:1px solid #c7b997;border-radius:9px;height:44px;font-size:13px}.share-control input{color:#4d5a56;background:#fff;min-width:0;padding:0 12px}.share-control button{color:#fff;cursor:pointer;background:#137660;font-weight:800;transition:transform .12s,background .12s}.share-control button:hover{background:#0e8a6d}.share-control button:active{transform:scale(.97)}.copy-error{color:#b33f30;margin:9px 0 -5px;font-size:13px}.start-countdown{color:#715d2e;margin:-12px 0 20px;font-size:13px;font-weight:750}.waiting-actions{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:20px;display:flex}.leave-table,.watch-table{color:#52635e;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:44px;font-size:13px;font-weight:700;text-decoration:underline}.leave-table:hover,.watch-table:hover{color:#17342e}.overlay .title{color:#9b681e;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:900}.overlay .winner{color:#17342e;letter-spacing:-.04em;text-wrap:balance;margin-top:12px;font-size:clamp(32px,7vw,48px);font-weight:900}.table-result{z-index:13;overscroll-behavior:contain;color:#fff7dd;text-align:center;text-shadow:0 3px 12px #001412b8;width:min(520px,100% - 160px);max-height:100%;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.table-result .winner{letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(30px,6vw,48px);font-weight:900}.join-decision-message{color:#314e46;text-wrap:balance;max-width:390px;margin:18px auto 0;font-size:20px;font-weight:750;line-height:1.45}.game-over-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px;display:flex}.table-result-actions{z-index:15;flex-wrap:wrap;flex:none;margin:0}.table.finished-table{--card-width:var(--reveal-card-width);--card-height:var(--reveal-card-height);--selected-card-offset:0px}.finished-table .table-arena{grid-template-rows:auto minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.table.finished-table .opponent{grid-template-rows:auto var(--reveal-card-height);width:auto;position:static}.finished-table .opponent-bot2{grid-area:1/1}.finished-table .opponent-bot1{grid-area:1/2}.finished-table .opponent-play,.finished-table .played-you-stack,.finished-table .pass-you{display:none}.finished-table .table-result{grid-area:2/1/3/-1;justify-self:center;width:min(640px,100%);min-height:0;max-height:none;padding:4px;position:relative;inset:auto;transform:none}.restart-btn,.new-table-btn{cursor:pointer;border-radius:12px;min-height:50px;padding:0 22px;font-size:15px;font-weight:850}.restart-btn{color:#fff;background:#137660;border:1px solid #0d735c}.restart-btn:hover{background:#0e8a6d}.new-table-btn{color:#23443c;background:#fff;border:1px solid #9eb2ac}.new-table-btn:hover{background:#f4f8f6;border-color:#5f8178}.restart-btn:disabled,.new-table-btn:disabled{cursor:wait;opacity:.55}@keyframes lobby-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes card-fan-float{50%{transform:translateY(-4px)rotate(1deg)}}@keyframes waiting-enter{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@media (width<=767px){.lobby-page{padding:env(safe-area-inset-top) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.lobby-header{flex-wrap:wrap;min-height:82px;padding:16px 0}.lobby-header nav{flex-wrap:wrap;gap:8px 16px}.lobby-content{border-radius:20px;margin-top:24px;padding:24px 18px}.lobby-options{grid-template-columns:minmax(0,1fr)}.lobby-options>.lobby-option{padding:18px}.lobby-quick{flex-direction:column;align-items:stretch;gap:14px;padding:18px}.lobby-quick .quick-play{flex-basis:auto}.player-name{margin-top:24px}.segments{gap:6px}.segments button{border-radius:11px;min-height:72px}.lobby-card-fan{display:none}.page{padding:0}.table{--card-width:clamp(76px, 20.5vw, 88px);--card-height:clamp(111px, 30vw, 128px);--hand-step:clamp(30px, 8.5vw, 38px);--play-step:clamp(17px, 4.65vw, 20px);--table-card-width:60px;--table-card-height:87px;--back-width:42px;--back-height:61px;--reveal-card-width:48px;--reveal-card-height:70px;--reveal-step:clamp(7px, 2vw, 9px);--selected-card-offset:-13px;--table-inset:8px;border-width:5px;border-radius:0;width:100%;height:100svh}.table:before{width:72%;height:30%;top:43%}.table-toolbar{--toolbar-bottom:8px;padding-top:max(8px, env(safe-area-inset-top));padding-right:max(8px, env(safe-area-inset-right));padding-bottom:8px;padding-left:max(8px, env(safe-area-inset-left))}.player-zone{padding-bottom:max(8px, env(safe-area-inset-bottom));padding-right:max(8px, env(safe-area-inset-right));padding-left:max(8px, env(safe-area-inset-left))}.language-toggle button{min-width:42px;min-height:32px}.table-brand{top:43%}.opponent{row-gap:6px;width:calc(50% - 6px)}.folded-stack{width:calc(var(--card-width) + 21px)}.seat-avatar{display:none}.player-info{gap:6px;max-width:calc(50% - 8px);padding:5px 9px}.seat-name{font-size:12px}.seat-count,.seat-waiting,.seat-quit{font-size:10px}.low-card-alert{padding:5px 10px;font-size:12px;top:42px}.pass{padding:5px 10px;font-size:12px}.hint-stack{top:42px}.hint{padding:6px 10px;font-size:12px}.hint.small{font-size:11px}.button{border-radius:11px;min-width:116px;min-height:44px;font-size:16px}.game-buttons{gap:6px}.game-buttons .button{min-width:86px}.table-result{width:calc(100% - 24px)}.quit-game-btn{min-width:86px;padding:0 10px;font-size:10px}.table-actions button{padding:0 10px;font-size:10px}.table-presence{max-width:100%;font-size:10px}.waiting-room,.overlay{border-radius:18px;width:calc(100% - 24px);padding:26px 18px}.waiting-room h1{font-size:30px}.share-control{grid-template-columns:minmax(0,1fr) 90px}}@media (height<=600px) and (aspect-ratio>=4/3){.page{min-height:100svh;padding:0}.table{--card-width:clamp(58px, 16.5svh, 68px);--card-height:clamp(85px, 24svh, 99px);--hand-step:30px;--play-step:clamp(12px, 2vw, 18px);--table-card-width:clamp(36px, 11.5svh, 48px);--table-card-height:clamp(52px, 16.7svh, 70px);--back-height:0px;--reveal-card-width:44px;--reveal-card-height:64px;--reveal-step:clamp(7px, 1.7vw, 12px);--selected-card-offset:-10px;--table-inset:8px;border-width:4px;border-radius:0;width:100%;height:100svh;min-height:0}.table:before{width:50%;height:48%;top:45%}.table-toolbar{--toolbar-bottom:6px;padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left))}.table-arena{min-height:0;margin-right:max(8px, env(safe-area-inset-right));margin-left:max(8px, env(safe-area-inset-left))}.player-zone{padding:4px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.hand-zone,.spectator-hand{grid-area:1/1}.player-controls{flex-direction:column;grid-area:1/2;align-items:stretch;gap:6px;max-width:240px}.opponent{grid-template-rows:auto var(--table-card-height);row-gap:4px;width:43%}.opponent .folded-stack:not(.revealed-stack),.seat-avatar{display:none}.player-info{padding:5px 9px}.player-info-you{align-self:flex-end;max-width:100%}.hint-stack{top:0}.low-card-alert{font-size:12px;top:40px}.button{min-height:44px;font-size:14px}.quit-game-btn{min-width:92px}.waiting-room,.overlay{width:min(430px,100% - 80px);max-height:calc(100% - 16px);padding:18px 22px}.waiting-room h1{font-size:28px}.seat-progress{margin-top:10px}.seat-dots{margin:8px 0 13px}.game-over-actions{margin-top:18px}.table-result-actions{margin-top:0}.finished-table .table-arena{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(220px,1.6fr) minmax(0,1fr)}.finished-table .opponent{align-content:start}.finished-table .opponent-bot1{grid-area:1/3}.finished-table .table-result{grid-area:1/2}.finished-table .table-result .winner{font-size:clamp(22px,3vw,32px)}}@media (height<=480px) and (width>=480px){.share-dialog{width:min(600px,100%);padding:16px 20px}.share-dialog .share-invite{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 16px;margin-top:12px;display:grid}.share-dialog .share-qr{grid-area:1/1/5}.share-dialog .share-qr svg{width:132px;height:132px}.share-dialog .share-scan-hint,.share-dialog .native-share,.share-dialog .copy-error{margin:0}.share-dialog .share-invite>:not(.share-qr){grid-column:2}}@media (prefers-reduced-motion:reduce){.lobby-content,.waiting-room,.overlay,.lobby-card-fan,.low-card-alert{animation:none}.card,.player-info,.lobby-primary,.lobby-secondary,.button,.table-actions button,.table-share-controls button,.hand-scroll-button,.share-control button{transition:none}}
