/* Poker only. One set of geometry rules, independent from Uno/Truco/Domino. */
.table-page.poker{--portrait:clamp(40px,9dvh,80px);--seat-width:clamp(128px,14vw,196px);--pocket-w:clamp(32px,7dvh,58px);--pocket-h:clamp(46px,10dvh,83px);--hud:clamp(80px,11dvh,108px);position:fixed;inset:0;width:100%;max-width:none;height:100dvh;box-sizing:border-box;padding:6px max(10px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:0;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#173c51,#080f20 85%)}
.table-page.poker .table-header{position:relative;inset:auto;display:flex;justify-content:center;align-items:center;gap:12px;height:36px;min-height:36px;flex:0 0 36px;margin:0;padding:0;background:none;border:0}.table-page.poker .table-header .logo{width:100px;height:34px}.table-page.poker .table-header b{font-size:13px}.table-page.poker .table-header>span{font-size:10px}
.table-page.poker .arena{position:relative;inset:auto;flex:1;min-height:0;margin:3px 0 0;overflow:visible}.table-page.poker .felt{position:absolute;inset:0 .6%;border:8px solid #11253a;border-radius:48%;clip-path:none;background:radial-gradient(ellipse at 50% 35%,#1d7286,#0b405d 80%);box-shadow:0 0 0 2px #4c9bb0,inset 0 0 35px #001b2766}.table-page.poker .watermark{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:34%;height:auto;max-height:40%;opacity:.13}
.table-page.poker .table-center,.table-page.poker .poker-center{position:absolute;inset:0;width:100%;height:100%;display:block;transform:none;pointer-events:none}.table-page.poker .table-dealer{position:absolute;left:50%;top:0;transform:translateX(-50%);width:clamp(84px,25dvh,230px);max-width:24%;height:27%;margin:0;padding:0;background:none;border:0;z-index:3;pointer-events:auto}.table-page.poker .table-dealer img{width:100%;height:100%;object-fit:contain;object-position:bottom}
.table-page.poker .poker-center>.community{position:absolute;left:50%;top:48%!important;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;gap:clamp(5px,.6vw,9px)!important;width:max-content;height:auto;margin:0}.table-page.poker .community .card-slot{display:none}.table-page.poker .community .playing-card{width:clamp(38px,10dvh,90px);height:clamp(54px,14.28dvh,129px);flex:0 0 auto;padding:0;margin:0;border:0;border-radius:6px;overflow:hidden;background:none;transform:none;box-shadow:0 3px 8px #001a2866}
.table-page.poker .poker-center>.pot{position:absolute;left:50%;top:69%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;width:max-content;min-width:0;margin:0;padding:0;background:none;border:0}.table-page.poker .pot>b{font-size:clamp(9px,1.7dvh,16px);color:#ffe7ad;white-space:nowrap;background:#092b40ec;border:1px solid #55879b;border-radius:8px;padding:4px 9px}.table-page.poker .pot .chip-stack{display:none}
.table-page.poker .seat,.table-page.poker .seat-0{position:absolute;left:var(--x);top:var(--y);bottom:auto;transform:translate(-50%,-50%);display:grid;grid-template-columns:var(--portrait) minmax(0,1fr);grid-template-rows:auto;align-items:center;width:var(--seat-width);max-width:none;gap:0;z-index:5;pointer-events:none}
.table-page.poker .seat .avatar-ring,.table-page.poker .seat-0 .avatar-ring{position:relative;inset:auto;grid-column:1;grid-row:1;width:var(--portrait);height:var(--portrait);min-width:0;min-height:0;order:0;padding:2px;border:1px solid #6599ac;background:#0c2239;z-index:2}.table-page.poker .seat .nameplate,.table-page.poker .seat-0 .nameplate{grid-column:2;grid-row:1;box-sizing:border-box;width:100%;max-width:100%;min-height:36px;padding:4px 6px;margin:0;border:1px solid #4d879c;border-left:0;border-radius:0 9px 9px 0;background:#0b263aee;text-align:left;overflow:visible}
.table-page.poker .nameplate>b{display:block;max-width:100%;margin:0;font-size:clamp(9px,1.65dvh,15px);line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-page.poker .nameplate>small{display:block;margin-top:3px;max-height:2.4em;font-size:clamp(8px,1.3dvh,12px);line-height:1.2;white-space:normal;overflow:hidden;color:#c4dce6;font-variant-numeric:tabular-nums}
.table-page.poker .seat .opponent-cards{position:absolute;left:calc(var(--portrait) + 4px);right:auto;top:auto;bottom:calc(100% + 5px);width:max-content;height:clamp(28px,5.5dvh,48px);display:flex;align-items:center;gap:5px;transform:none;opacity:1}.table-page.poker .seat .opponent-cards i{position:static;display:block;flex:0 0 auto;width:clamp(20px,3.85dvh,34px);height:clamp(28px,5.5dvh,48px);margin:0;transform:none;background:none;border:0}.table-page.poker .opponent-cards img{width:100%;height:100%;object-fit:contain}
.table-page.poker.poker-showing-cards .seat .opponent-cards{height:var(--pocket-h);visibility:visible;opacity:1}.table-page.poker.poker-showing-cards .seat .opponent-cards i{width:var(--pocket-w);height:var(--pocket-h);opacity:1}
.table-page.poker .seat-0>.my-hand{position:absolute;left:auto;right:calc(100% + 10px);top:50%;bottom:auto;transform:translateY(-50%);width:max-content;height:auto;padding:0;display:flex;align-items:center;justify-content:center;gap:7px;z-index:3}.table-page.poker .seat-0>.my-hand .playing-card,.table-page.poker .seat-0>.my-hand .playing-card+.playing-card{width:clamp(36px,9dvh,72px);height:clamp(51px,12.85dvh,103px);margin:0;padding:0;border:0;min-width:0;min-height:0;border-radius:6px;background:none;overflow:hidden;transform:none;opacity:1;box-shadow:0 3px 8px #00172966}
.table-page.poker .poker-card-face{display:block;width:100%;height:100%;max-width:none;overflow:hidden;pointer-events:none}.table-page.poker .playing-card>svg{position:static;transform:none}.table-page.poker .playing-card>svg text{letter-spacing:0}
.table-page.poker:has(.seat-3) .seat-1{left:9%;top:50%}.table-page.poker .seat-4{left:91%;top:50%}.table-page.poker .seat-0{top:88%}.table-page.poker .seat-5{top:88%}.table-page.poker .seat[style*="--y:22%"]{top:28%}
.table-page.poker:has(.seat-5) .seat-0,.table-page.poker:has(.seat-5) .seat-2{left:28%}.table-page.poker:has(.seat-5) .seat-3,.table-page.poker:has(.seat-5) .seat-5{left:72%}.table-page.poker:has(.seat-5) .seat-0>.my-hand{left:calc(var(--portrait) + 4px);right:auto;top:auto;bottom:calc(100% + 5px);transform:none}
.table-page.poker .seat .seat-bet{position:absolute;left:50%;right:auto;top:calc(100% + 5px);bottom:auto!important;transform:translateX(-50%);width:max-content;max-width:100px;display:flex;align-items:center;gap:4px}.table-page.poker .seat-bet .chip{width:18px;height:18px;font-size:9px;flex-shrink:0}.table-page.poker .bet-totals{display:flex;align-items:baseline;gap:4px;padding:3px 5px;border-radius:6px;background:#08273edc;white-space:nowrap;line-height:1.1}.table-page.poker .bet-totals>b{color:#fff0bd;font-size:clamp(10px,1.6dvh,14px);font-variant-numeric:tabular-nums}.table-page.poker .bet-totals>small{font-size:8px;color:#bfd6e1}.table-page.poker .seat-0 .seat-bet{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.table-page.poker .seat-5 .seat-bet{left:-8px;top:50%;transform:translate(-100%,-50%)}
.table-page.poker .seat-0 .dealer-button{position:absolute;left:auto;right:-22px;top:calc(100% + 3px);width:19px;height:19px;font-size:11px;z-index:2}.table-page.poker .hand-panel{position:relative;inset:auto;flex:0 0 var(--hud);height:var(--hud);min-height:var(--hud);margin:3px 0 0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;box-shadow:none;z-index:8;pointer-events:none}.table-page.poker .turn-info{width:25%;max-width:25%;flex:0 0 25%;padding:0;pointer-events:auto}.table-page.poker .turn-info>b{font-size:clamp(11px,1.8dvh,16px)}.table-page.poker .turn-info>small{font-size:clamp(8px,1.3dvh,12px)}
.table-page.poker .hand-panel .controls{position:static;inset:auto;width:42%;max-width:500px;flex:0 0 42%;display:block;margin:0;padding:0;border:0;background:none;box-shadow:none;pointer-events:auto}.table-page.poker .controls:empty{display:none}.table-page.poker .controls button{min-width:0;min-height:36px;padding:7px 8px;font-size:clamp(9px,1.4dvh,13px);border-radius:10px}.table-page.poker .poker-action-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.table-page.poker .poker-action-buttons button{min-height:44px;font-weight:750}
.table-page.poker .poker-inline-bet{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin:0;padding:6px 8px;background:#0a2032;border:1px solid #385b73;border-radius:10px}.table-page.poker .poker-bet-value label{font-size:10px}.table-page.poker .poker-bet-value input{width:65px;font-size:12px}.table-page.poker .poker-bet-value small{font-size:8px}.table-page.poker .poker-bet-presets{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.table-page.poker .poker-bet-presets button{min-height:22px;padding:3px;font-size:10px}.table-page.poker .poker-bet-slider{display:flex;align-items:center;gap:5px}.table-page.poker .poker-bet-slider input{min-width:0;width:100%;padding:0}.table-page.poker .poker-bet-slider button{width:25px;min-height:25px;padding:0;font-size:18px}.table-page.poker .poker-bet-confirm{grid-column:1/-1;display:flex;gap:4px}.table-page.poker .poker-bet-confirm button{flex:1;font-size:10px;min-height:32px;padding:5px}
.table-page.poker .chip-legend{position:relative;inset:auto;width:56%;max-width:56%;align-self:flex-start;height:22px;min-height:22px;flex:0 0 22px;display:flex;justify-content:center;gap:8px;margin:0;padding:0;font-size:11px;pointer-events:none}.table-page.poker .chip-legend small{display:none}.table-page.poker .game-status{display:none}.table-page.poker .poker-action-bubble{position:absolute;left:0;top:-13px;bottom:auto;transform:none;max-width:var(--portrait);padding:2px 3px;border:1px solid #6b9db0;border-radius:5px;background:#12364c;color:#e9fbff;font-size:8px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-page.poker .dealer-thanks{position:absolute;left:50%;top:25%;transform:translateX(-50%);z-index:15;font-size:11px}.table-page.poker .poker-hand-winner .avatar-ring{border:2px solid #ffe38c;box-shadow:0 0 14px #ffdb6555}.table-page.poker .poker-hand-winner .nameplate{border-color:#d9bd73}.poker .coach-made{outline:2px solid #ffd670;outline-offset:2px;box-shadow:0 0 9px #ffd67055}
@media(max-height:520px){.table-page.poker{padding-top:max(4px,env(safe-area-inset-top));--hud:80px}.table-page.poker .table-header{height:28px;min-height:28px;flex-basis:28px;gap:8px}.table-page.poker .table-header .logo{width:74px;height:27px}.table-page.poker .table-header>b{font-size:10px}.table-page.poker .table-header>span{display:none}.table-page.poker .felt{border-width:6px}.table-page.poker .chip-legend{position:absolute;right:10px;top:4px;left:auto;width:105px;max-width:105px;min-height:0;height:25px;font-size:0;justify-content:flex-end}.table-page.poker .chip-legend .chip{display:none}.table-page.poker .poker-wallet{font-size:9px;padding:0;border:0}.table-page.poker .poker-wallet img{width:17px;height:17px}.table-page.poker .community .playing-card{width:clamp(36px,10dvh,50px);height:clamp(51px,14.28dvh,72px)}.table-page.poker .controls button{font-size:9px;min-height:32px;padding:5px 4px}.table-page.poker .poker-action-buttons button{min-height:42px}.table-page.poker .poker-bet-value label{font-size:8px}.table-page.poker .poker-bet-value input{font-size:10px;width:48px}.table-page.poker .poker-bet-presets button{font-size:8px;min-height:19px;padding:2px}.table-page.poker .poker-bet-confirm button{font-size:8px;min-height:25px;padding:3px}.table-page.poker .poker-bet-slider button{width:20px;min-height:20px}.table-page.poker .poker-inline-bet{gap:4px 5px;padding:5px}.table-page.poker .table-dealer{height:27%}}
@media(max-height:350px){.table-page.poker{--pocket-w:30px;--pocket-h:43px}.table-page.poker .community .playing-card{width:32px;height:46px}.table-page.poker .seat-0>.my-hand .playing-card,.table-page.poker .seat-0>.my-hand .playing-card+.playing-card{width:34px;height:49px}}

/* Tempo na placa de nome/saldo, conforme a marcação laranja. */
.table-page.poker .nameplate{position:relative}
.poker-turn-clock{position:absolute;inset:-2px;pointer-events:none;--turn-progress:100;z-index:3}
.poker-turn-clock>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.poker-turn-clock rect{fill:none;stroke:#ffb34f;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--turn-progress));transition:stroke-dashoffset .2s linear}
.table-page.poker .poker-turn-clock>[data-turn-seconds]{position:absolute;right:5px;top:4px;display:block;padding:2px 4px;border-radius:5px;background:#402b15;color:#ffdc9d;font-size:11px!important;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}
.table-page.poker .nameplate:has(.poker-turn-clock)>b,.table-page.poker .nameplate:has(.poker-turn-clock)>small{max-width:calc(100% - 28px)}
.poker-turn-clock.urgent rect{stroke:#ff7154}.table-page.poker .poker-turn-clock.urgent>[data-turn-seconds]{color:#ffd4bc;background:#5a2820}
.table-page.poker .seat.turn .nameplate{background:#163347;border-color:#735c38}
.table-page.poker .poker-hand-coach{position:absolute;top:calc(100% + 5px);left:0;width:100%;text-align:center;pointer-events:none;color:#ffe0a2}
.poker-hand-coach>b{font-size:clamp(8px,1.3dvh,12px);display:block;line-height:1.2;white-space:nowrap}.poker-hand-strength{display:flex;gap:2px;max-width:100px;margin:3px auto 0}.poker-hand-strength i{height:3px;flex:1;background:#355263;border-radius:1px}.poker-hand-strength i.filled{background:var(--hand-color,#ffd073)}
.table-page.poker .seat-0 .seat-bet{left:calc(100% + 8px);top:50%;transform:translateY(-50%);max-width:110px}
.poker-seat-award{position:absolute;left:var(--portrait);top:calc(100% + 4px);width:calc(100% - var(--portrait));display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;color:#ffe18d;pointer-events:none}
.poker-seat-award>b{font-size:clamp(8px,1.3dvh,12px);white-space:nowrap}.poker-seat-award>small{font-size:clamp(10px,1.6dvh,14px);font-weight:800;font-variant-numeric:tabular-nums}
.table-page.poker.poker-showing-cards .hand-panel .turn-info{visibility:hidden}
.table-page.poker .poker-center>.pot>[data-poker-result-clock]{display:block;color:#a9cdd9;font-size:clamp(8px,1.2dvh,11px);white-space:nowrap}
.table-page.poker .poker-preactions{display:flex;flex-direction:column;gap:6px;color:#bcd3e2}.poker-preactions>small{font-size:10px;letter-spacing:.3px}.poker-preactions>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.table-page.poker .poker-preactions button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:5px 4px;white-space:normal;line-height:1.1;border:1px solid #4c6b86;border-radius:9px;background:#122b40;color:#c8dce8;font-size:11px;touch-action:manipulation}
.poker-preactions button i{width:10px;height:10px;flex-shrink:0;border:1px solid #84a1b5;border-radius:3px}.table-page.poker .poker-preactions button.selected{border-color:#f3bd61;background:#3f3524;color:#fff0c6}.poker-preactions button.selected i{background:#ffd06b;border-color:#ffd06b;box-shadow:inset 0 0 0 2px #3f3524}.poker-preactions>span{font-size:9px;line-height:1.2}.table-page.poker .controls:has(.poker-preactions){background:none;border:0;box-shadow:none;padding:0}
@media(max-height:520px){.table-page.poker .poker-turn-clock>[data-turn-seconds]{font-size:9px!important;top:3px;right:3px}.table-page.poker .nameplate:has(.poker-turn-clock)>b,.table-page.poker .nameplate:has(.poker-turn-clock)>small{max-width:calc(100% - 23px)}.table-page.poker .poker-preactions button{font-size:8px;min-height:38px;gap:3px;padding:4px 2px}.poker-preactions>small,.poker-preactions>span{font-size:8px}.poker-preactions button i{width:8px;height:8px}.poker-preactions>div{gap:4px}}
@media(prefers-reduced-motion:reduce){.poker-turn-clock rect{transition:none}}

/* Selection is communicated by the full button, never a checkbox. */
.table-page.poker .poker-preactions button{min-height:42px;border-radius:10px;font-weight:700;border-color:#52738f;background:linear-gradient(160deg,#1c354e,#10263d);color:#deedf6;box-shadow:inset 0 1px 0 #ffffff12;transition:background .15s,border-color .15s,color .15s}
.table-page.poker .poker-preactions button.selected{border-color:#72e1da;background:linear-gradient(135deg,#11616c,#234c80);color:#fff;box-shadow:inset 0 1px 0 #ffffff25,0 2px 8px #0003}
.table-page.poker .poker-preactions [data-preaction=fold].selected{border-color:#f2a0be;background:linear-gradient(135deg,#863958,#502e4c)}
.table-page.poker .poker-preactions [data-preaction=call-any].selected{border-color:#d5abff;background:linear-gradient(135deg,#60459b,#314f85)}
.table-page.poker .poker-preactions button:focus-visible{outline:3px solid #ffe59c;outline-offset:2px}
.table-page.poker .poker-turn-clock rect{stroke-width:3;transition:stroke-dashoffset .22s linear;filter:drop-shadow(0 0 2px #ffc16c55)}
.table-page.poker .seat.turn .avatar-ring{border:2px solid #ffd48c;box-shadow:0 0 15px #ffc46b60}
.table-page.poker .seat.turn .nameplate{background:#1a3a4b}.table-page.poker .seat.turn .nameplate>b{color:#ffe8ba;max-width:100%}.table-page.poker .nameplate:has(.poker-turn-clock)>small{max-width:100%}
@media(prefers-reduced-motion:reduce){.table-page.poker .poker-preactions button{transition:none}.table-page.poker .poker-turn-clock rect{transition:none}}
.table-page.poker .table-header>*{flex:0 0 auto;margin:0}.table-page.poker .table-header .leave-room{margin:0;padding:5px 10px;min-height:28px;display:inline-flex;align-items:center;gap:5px;font-size:11px}.table-page.poker .table-header>button:not(.leave-room){margin:0;width:28px;min-width:28px;height:28px;min-height:28px;padding:3px;border-radius:8px;font-size:12px}@media(max-height:520px){.table-page.poker .table-header .leave-room{font-size:10px}}

.table-page.poker .turn-info .poker-hand-coach{position:static;width:auto;text-align:left;margin-top:4px;padding:0;color:#f1dfb1}
.table-page.poker .turn-info .poker-hand-coach>b{font-size:clamp(10px,1.8dvh,14px);text-align:left}.table-page.poker .turn-info .poker-hand-strength{margin:4px 0;max-width:110px}
.table-page.poker .poker-unrevealed{background:url('/cards/back.svg?brand=flipstars4') center/100% 100% no-repeat!important;outline:0!important;box-shadow:none!important}.table-page.poker .poker-unrevealed>svg{visibility:hidden}
.table-page.poker.poker-revealing .coach-made,.table-page.poker.poker-dealing .coach-made{outline:0;box-shadow:none}
.table-page.poker.poker-revealing .poker-hand-coach,.table-page.poker.poker-dealing .poker-hand-coach{visibility:hidden}
@media(max-height:380px){.table-page.poker:has(.seat-3) .seat-1,.table-page.poker .seat-4{top:39%}}

.table-page.poker.poker-revealing .poker-seat-award{visibility:hidden}
.table-page.poker.poker-revealing .poker-hand-winner .avatar-ring{border-color:#6599ac;box-shadow:none}
.table-page.poker.poker-revealing .poker-hand-winner .nameplate{border-color:#4d879c}

@media(max-height:520px){.table-page.poker:has(.seat-5) .seat-0>.my-hand{left:auto;right:calc(100% + 9px);top:50%;bottom:auto;transform:translateY(-50%);gap:5px}}

.table-page.poker.poker-showing-cards .hand-panel .turn-info{visibility:visible}
.poker-award-coin{position:fixed;z-index:70;width:26px;height:26px;pointer-events:none;filter:drop-shadow(0 3px 4px #0007)}
.poker-award-coin img{width:100%;height:100%;object-fit:contain}

/* Fixed four-action layout: fold, check/call, chosen raise and all-in. */
.table-page.poker .poker-fixed-bet{padding:8px;gap:8px;box-shadow:0 4px 12px #0003}
.table-page.poker .poker-fixed-bet .poker-bet-confirm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.table-page.poker .poker-fixed-bet .poker-bet-confirm button{min-height:40px;font-size:11px;line-height:1.15;padding:6px 4px;border-radius:11px}
.table-page.poker .poker-fixed-bet .poker-raise-confirm{border-color:#51bcc9;background:linear-gradient(135deg,#175a70,#254b74);color:#f1fcff;font-weight:700}
.table-page.poker .poker-fixed-bet .poker-all-in{font-weight:800;letter-spacing:.3px}
.table-page.poker .poker-fixed-bet .poker-bet-slider{gap:7px}.table-page.poker .poker-fixed-bet .poker-bet-slider input{accent-color:#20d5dc}
@media(max-height:520px){.table-page.poker .poker-fixed-bet{gap:5px;padding:5px}.table-page.poker .poker-fixed-bet .poker-bet-confirm{gap:4px}.table-page.poker .poker-fixed-bet .poker-bet-confirm button{font-size:9px;min-height:35px;padding:4px 2px}.table-page.poker .poker-fixed-bet .poker-bet-value label{font-size:9px}.table-page.poker .poker-fixed-bet .poker-bet-value input{width:48px}}
