/* Selected Poker reference adapted to a portrait playfield. */
.poker-room{background:#070e17!important}.poker-room .pt-stage{background:#080f17;padding:0!important;container-type:size;container-name:poker-stage}
/* This portrait artwork must never inherit the old 1.85:1 landscape table.
   Fit the available stage height, including on desktop and short windows. */
.poker-room .poker-table{width:100%;max-width:500px!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;margin:0 auto;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
@media(min-width:640px){.poker-room .poker-table{width:min(100%,66.667cqh);max-width:none!important}}
.poker-room .poker-table{container-type:inline-size}
/* ClubGG reference: 5:7 faces, one upper index and a large lower suit.
   Scope the deck to poker; other games keep their existing card presentation. */
.poker-card-symbol{display:none}
.poker-room .card-face{container-type:inline-size;aspect-ratio:5/7;height:auto!important;min-height:0;border-radius:6px;background:#f5f5f2!important}
.poker-room .card-face[data-card-size="lg"]{width:clamp(40px,10.8cqw,78px)!important}
.poker-room .card-face[data-card-size="xl"]{width:clamp(46px,12.5cqw,88px)!important}
.poker-room .card-face[data-card-size="md"]{width:clamp(30px,9cqw,64px)!important}
.poker-room .card-face[data-card-size="sm"]{width:clamp(26px,7.5cqw,48px)!important}
.poker-room .card-face[data-card-size="xs"]{width:clamp(20px,5cqw,34px)!important}
.poker-room .poker-card-index--reverse{display:none}
.poker-room .poker-card-index>span:first-child{font-family:'Roboto Condensed','Arial Narrow',Arial,sans-serif!important;font-size:47cqw!important;font-weight:700!important;letter-spacing:-.025em!important}
.poker-room .poker-card-index svg{width:33cqw!important;height:33cqw!important;filter:none!important}
.poker-room .poker-card-symbol{display:flex;position:absolute;right:5%;bottom:6%;pointer-events:none}
.poker-room .poker-card-symbol svg{width:64cqw!important;height:64cqw!important;filter:none!important}
.poker-room .poker-revealed-hand .card-face{width:clamp(24px,6.4cqw,42px)!important}
/* Opponents keep one compact fan even when their cards turn face-up. */
.poker-room .poker-opponent-fan{--poker-fan-width:clamp(25px,7.2cqw,44px);display:flex!important;flex-wrap:nowrap;gap:0!important}
.poker-room .poker-opponent-fan .card-face,.poker-room .poker-opponent-fan .card-back{width:var(--poker-fan-width)!important;height:auto!important;aspect-ratio:5/7}
.poker-room .approved-poker-table{position:absolute;inset:0;overflow:hidden;pointer-events:none;transform:none!important;perspective:none!important}
.approved-poker-material{width:100%;height:100%;object-fit:fill;display:block;filter:none!important}
.poker-room .poker-player-info,.poker-room .poker-seat-info,.poker-room .poker-hero-info{background:#09121df2!important;border:1px solid #73808b!important;box-shadow:0 3px 8px #0009!important;border-radius:10px!important;color:#f7f5ee}
.poker-room .player-pod{border-color:#b59e71!important;box-shadow:0 0 0 2px #111d2a,0 3px 8px #0008!important}.poker-room .player-pod.active-glow{border-color:#32d8ee!important;box-shadow:0 0 16px #16cfeb66!important}
.poker-room .poker-action-dock{background:#09131f!important;border-top:1px solid #3a4a5a;box-shadow:0 -6px 20px #0004;padding-bottom:max(10px,env(safe-area-inset-bottom))}
/* Fixed rows exist during waiting, CHECK, CALL and showdown alike. Conditional
   React children may appear/disappear without taking height from the stage. */
.poker-room .poker-action-dock{box-sizing:border-box;display:grid;grid-template-rows:24px 52px 36px;gap:6px;flex:0 0 calc(133px + max(10px,env(safe-area-inset-bottom)));height:calc(133px + max(10px,env(safe-area-inset-bottom)));padding-top:8px;align-content:start}
.poker-room .poker-hand-status{grid-row:1;flex-wrap:nowrap;align-items:center;min-width:0;overflow:hidden}
.poker-room .poker-action-buttons{grid-row:2;width:100%;max-width:580px;margin:0 auto}
.poker-room .poker-action-buttons>div{max-width:none}
.poker-room .poker-action-meta{grid-row:3;width:100%;max-width:580px;margin:0 auto;min-width:0}
.poker-room .poker-action-dock>.poker-spectator-seat{grid-row:2;justify-self:center;margin:0}
.poker-room .poker-action-buttons>div>.grid>button{box-sizing:border-box;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 6px;line-height:1.1;text-align:center}
.poker-room .poker-action-label,.poker-room .poker-action-amount{display:block;line-height:1.1;margin:0;padding:0;white-space:nowrap}
.poker-room .poker-action-amount{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:0;opacity:.95}
.poker-room .poker-action-buttons button{border-radius:11px!important;border-width:1px!important;min-height:48px;font-size:15px;box-shadow:inset 0 1px 0 #ffffff26,0 4px 9px #0005!important}
.poker-room .poker-action-buttons .btn-fold{background:#981c29!important;border-color:#e54d56!important;color:white!important}.poker-room .poker-action-buttons .btn-check,.poker-room .poker-action-buttons .btn-call{background:#182839!important;border-color:#7e94ab!important;color:white!important}.poker-room .poker-action-buttons .btn-raise{background:#d6ad60!important;border-color:#ffe3a1!important;color:#241a0b!important}
.spin-cash-scene{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3dvh,32px);padding:24px 16px max(24px,env(safe-area-inset-bottom));overflow:auto;background:#070d16;color:#f7edda;font-family:Heebo,Arial,sans-serif}
.spin-cash-heading{text-align:center}.spin-cash-heading>span{color:#ae9566;font-size:11px;letter-spacing:4px;font-weight:700}.spin-cash-heading h1{font:600 clamp(29px,7vw,42px)/1.15 Georgia,serif;letter-spacing:2px;margin:9px 0;color:#f2d394}.spin-cash-heading p{font-size:13px;color:#aebac4;margin:9px 0 0}
.spin-cash-wheel-frame{position:relative;flex-shrink:0;width:min(90vw,410px,54dvh);aspect-ratio:1;filter:drop-shadow(0 16px 26px #000a)}
.spin-cash-rotor{position:absolute;inset:0;transition:transform 6.5s cubic-bezier(.13,.82,.16,1);will-change:transform}.spin-cash-rotor>img{width:100%;height:100%;border-radius:50%;display:block;pointer-events:none;user-select:none}
.spin-cash-pointer{position:absolute;top:-3%;left:50%;transform:translateX(-50%);font-size:clamp(32px,8vw,45px);line-height:1;color:#ffe1a0;text-shadow:0 2px 4px #000;z-index:4}
.spin-cash-label{position:absolute;width:18%;pointer-events:none;text-align:center;color:#f8f0df;transform:translate(-50%,-50%) rotate(var(--segment-angle))}
.spin-cash-label>strong,.spin-cash-label>small{display:block;text-shadow:0 2px 3px #000}.spin-cash-label>strong{font-size:clamp(15px,4vw,23px);font-weight:800}.spin-cash-label>small{font-size:clamp(9px,2.4vw,12px);margin-top:3px;color:#c7b98e}.spin-cash-label.is-winner{color:#fff5c2}
.spin-cash-result{width:min(86vw,340px);text-align:center;min-height:98px;padding:15px 24px;background:#111d28;border:1px solid #695c3f;border-radius:16px}.spin-cash-result>span{color:#b5a47e;font-size:11px;font-weight:700;letter-spacing:2px}.spin-cash-result>strong{display:block;font-size:clamp(30px,8vw,42px);color:#f5d48e;line-height:1.3;font-variant-numeric:tabular-nums}.spin-cash-result p{color:#a8b8c4;font-size:12px;margin:4px 0}
@media(prefers-reduced-motion:reduce){.spin-cash-rotor{transition-duration:.01ms}.spin-cash-wheel-frame{filter:none}}

/* A reserved centre lane prevents either board from entering a player's seat. */
.poker-room .poker-community{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:60%;display:flex;flex-direction:column;gap:14px;z-index:30;pointer-events:none}
.poker-room .poker-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:start;min-width:0}
.poker-room .poker-board-primary{order:0}.poker-room .poker-board-secondary{order:1}
.poker-room .poker-board .card-face{width:100%!important;max-width:none}
.poker-room .poker-board>div,.poker-room .poker-board>span{min-width:0;width:100%}
.poker-room .poker-board-secondary>span:first-child{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);width:auto}
.poker-room .poker-total-pot{bottom:calc(100% + 10px);top:auto;transform:translateX(-50%);white-space:nowrap;width:max-content;max-width:100%;padding:3px 12px}
.poker-room .poker-opponent-fan.is-hidden{--poker-fan-overlap:-0.8;--poker-fan-width:clamp(24px,6.8cqw,40px)}
.poker-room .poker-table-caption{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:100%;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;pointer-events:none;overflow:hidden}
.poker-room .poker-felt-wordmark{font-size:clamp(14px,3.7cqw,22px);line-height:1.1;letter-spacing:.12em;color:#e7e1cf99;text-shadow:0 1px 2px #0006}
.poker-room .poker-felt-logo{display:block;width:clamp(64px,23cqw,120px);height:24px;object-fit:contain;opacity:.65}
.poker-room .poker-felt-variant{font-size:clamp(10px,2.5cqw,12px);line-height:1.2;color:#d4dedbb3}
.poker-room .poker-table-heading{display:flex;align-items:center;gap:10px;box-sizing:border-box;flex:0 0 46px;height:46px;padding:4px 12px;background:#0b1520;border-bottom:1px solid #31414d;color:#eff3f5;z-index:45}
.poker-room .poker-heading-brand{font-size:12px;font-weight:800;letter-spacing:.08em;color:#d5b96f;flex-shrink:0}
.poker-room .poker-heading-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.poker-room .poker-heading-info strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poker-room .poker-heading-info span{font-size:11px;color:#c2d4de;white-space:nowrap}
.poker-room .poker-table-heading button{height:36px;padding:0 10px;flex-shrink:0;background:#1b2a39;border:1px solid #647382;border-radius:9px;font-size:12px;color:#f4f5f7;cursor:pointer}
.poker-room .poker-table-heading .poker-fullscreen-button{width:36px;padding:0;font-size:16px}
@media(max-width:380px){.poker-room .poker-table-heading{gap:6px;padding-inline:8px}.poker-room .poker-heading-brand{font-size:10px}.poker-room .poker-heading-info span{font-size:10px}}
.poker-info-overlay{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:20px;background:#030913c9}
.poker-info-dialog{width:min(100%,420px);max-height:85dvh;overflow:auto;background:#13202d;border:1px solid #6d7f8d;border-radius:20px;padding:22px;color:#edf2f6;box-shadow:0 20px 60px #0008}
.poker-info-dialog>button{float:right;width:36px;height:36px;border:1px solid #617180;border-radius:9px;background:#263746;color:#fff;cursor:pointer}
.poker-info-dialog h2{font-size:21px;font-weight:800;margin:0 40px 6px 0;overflow-wrap:anywhere}.poker-info-dialog p{color:#c1cfd7;font-size:14px}
.poker-info-dialog dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-top:20px;font-size:14px}.poker-info-dialog dt{color:#b4c5ce}.poker-info-dialog dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:700}
.poker-room .poker-hand-name{max-width:106px;overflow:hidden;text-overflow:ellipsis;font-size:9px}

.poker-room .poker-own-fan{--poker-fan-width:clamp(38px,11.5cqw,64px);--poker-fan-overlap:-0.44;gap:0!important;position:relative;z-index:20}
.poker-room .poker-own-fan .card-face{width:var(--poker-fan-width)!important}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan{position:absolute;top:0;margin-top:0;transform:none!important;z-index:20}
.poker-room .poker-player-info{position:relative;z-index:25}
.poker-room .poker-seat-hero .player-pod{margin-top:-24px}

.poker-room .player-pod.winner-glow{border-color:#ffe295!important;box-shadow:0 0 0 2px #f5c860,0 0 20px #eabd5570!important}
.poker-room .poker-seat-winner .poker-player-info{border-color:#f5c860!important;box-shadow:0 0 12px #eabd5540!important}
.poker-room .poker-seat-winner .poker-hand-name{color:#ffe8a8;border-color:#f5c860}
/* Club entry and reports share the quiet black/gold poker palette. */
body.poker-theme .club-surface{background:#101113!important}
body.poker-theme .cl-page>.max-w-2xl{max-width:1080px;width:100%}
body.poker-theme .cl-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.poker-theme .cl-card{background:#1c1e21;border-color:#3a3c40;padding:12px;border-radius:12px;box-shadow:0 4px 12px #0004}
body.poker-theme .cl-art{height:100px;background:#151719;border-color:#625437}
body.poker-theme .cl-name{font-size:16px;line-height:1.4;margin-top:10px}
body.poker-theme .cl-id{font-size:11px;margin-top:4px}
body.poker-theme .cl-stats{gap:6px;margin:10px 0}
body.poker-theme .cl-stat{font-size:12px;padding:7px 3px}
body.poker-theme .cl-cta{font-size:14px;min-height:44px;box-shadow:none}
body.poker-theme .cl-create-cap{font-size:12px}
body.poker-theme .cl-banner{max-height:170px}
body.poker-theme .club-admin{background:#101113!important;color:#edf0f3!important;--club-accent:#e8c879;--club-action:#8a641c}
body.poker-theme .club-admin :is(.glass-panel,.stat-tile,.club-player-card,.club-account-card,.club-report-details){background:#1c1e21!important;border-color:#3a3c40!important;color:#edf0f3!important;box-shadow:none!important}
body.poker-theme .club-admin :is(h1,h2,h3,h4,.text-white,.text-slate-100,.text-slate-200,.text-slate-300){color:#edf0f3!important}
body.poker-theme .club-admin :is(.text-slate-400,.text-slate-500,.text-slate-600){color:#abb2bd!important}
body.poker-theme .club-admin :is([class*="text-emerald-"],[class*="text-green-"],.club-positive){color:#69dca5!important}
body.poker-theme .club-admin :is([class*="text-rose-"],[class*="text-red-"],.club-negative){color:#ff8998!important}
body.poker-theme .club-admin :is([class*="text-amber-"],[class*="text-gold-"]){color:#efd18c!important}
body.poker-theme .club-admin :is([class*="text-purple-"],[class*="text-fuchsia-"]){color:#d0b3f4!important}
body.poker-theme .club-admin :is([class*="bg-slate-9"],[class*="bg-slate-8"]){background:#17191c!important;border-color:#3b3e44!important}
body.poker-theme .club-admin [class*="bg-gradient-"]{background-color:#24272c!important;border-color:#42464c!important}
body.poker-theme .club-admin button[class*="bg-gradient-"]{background:#80612b!important;color:white!important}
body.poker-theme .club-admin input:not([type="checkbox"]):not([type="range"]),body.poker-theme .club-admin select{background:#17191c!important;border-color:#4c5158!important;color:#edf0f3!important}
body.poker-theme .club-admin th{background:#25282d;color:#b6bec8!important}
body.poker-theme .club-admin td{border-color:#34383e!important}
body.poker-theme .club-admin :is(.admin-quick-nav,.club-admin-nav){background:#1c1e21;border-color:#3a3c40}
body.poker-theme .club-admin :is(.admin-quick-nav,.club-admin-nav) a{background:#292c31;color:#efcf88}
body.poker-theme .club-admin .accounting-entry{background:#29261e!important;border:1px solid #6e5c39!important}
body.poker-theme .club-admin :is(.club-account-identity small,.club-account-result small,.club-account-numbers small,.club-account-agent,.club-report-details>summary){color:#aeb7c2}
body.poker-theme .club-admin :is(.club-account-result,.club-account-agent){border-color:#3b3f46}
body.poker-theme .club-admin .club-avatar{background:#30343a;color:#efcf88}
body.poker-theme .club-admin .club-empty{background:#1c1e21;color:#abb2bd}
body.poker-theme .club-admin .club-pagination button{background:#25282d;color:#edf0f3;border-color:#4c5158}
body.poker-theme .club-account-dialog{background:#15171a;color:#edf0f3}
body.poker-theme .club-account-dialog :is(.club-profile-facts>div,.club-dialog-close){background:#25282d;border-color:#4c5158;color:#edf0f3}
body.poker-theme .club-account-dialog :is(.club-profile-facts dt,.club-explainer,.club-game-entry small){color:#b0b9c5}
body.poker-theme .club-account-dialog .club-eyebrow{color:#e8c879}
@media(min-width:700px){body.poker-theme .cl-deck{grid-template-columns:repeat(3,minmax(0,1fr))}body.poker-theme .cl-art{height:130px}}
@media(min-width:1050px){body.poker-theme .cl-deck{grid-template-columns:repeat(4,minmax(0,1fr))}}

.poker-room .poker-result-meta{display:flex;align-items:center;justify-content:center;gap:3px;grid-column:1/-1;max-width:110px;margin-top:3px}
.poker-room .poker-result-meta:empty{display:none}
.poker-room .poker-result-meta>div{margin:0;padding:2px 3px;font-size:9px;line-height:12px;white-space:nowrap}
@container poker-stage (max-height:520px){
 .poker-room .poker-community{gap:14px}
 .poker-room .poker-own-fan{--poker-fan-width:36px}
 .poker-room .poker-table-caption{height:30px;gap:1px;top:calc(100% + 6px)}
 .poker-room .poker-felt-logo{height:18px}
}

.poker-room .poker-board-secondary>span:first-child{right:auto;left:50%;top:-11px;transform:translateX(-50%);font-size:7px;line-height:8px;padding:0 3px}
.poker-room .card-back{border:1px solid var(--cbEdge,#eeefef);border-radius:4px;background:repeating-linear-gradient(45deg,var(--cbLine,#80848b) 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,var(--cbLine,#80848b) 0 1px,transparent 1px 4px),linear-gradient(160deg,var(--cbA,#ecedef),var(--cbC,#bdc0c4));box-shadow:0 2px 4px #0007,inset 0 0 0 2px #fff7}
.poker-room .card-back:after{display:none}.poker-room .card-back:before{inset:3px;border-radius:1px;border-color:#fffa}

/* Face-up opponents open enough to expose every upper-left rank and suit. */
.poker-room .poker-opponent-fan.poker-revealed-hand{--poker-fan-width:clamp(25px,7cqw,36px);--poker-fan-overlap:-0.42;top:-18px!important;translate:var(--poker-reveal-shift,0px) 0}
/* Supplied club reference: large square artwork, centred name/ID, swipeable
   cards on a phone. Preserve the entire uploaded logo without cropping it. */
body.poker-theme .cl-card{padding:18px;border-radius:24px}
body.poker-theme .cl-art{height:auto;aspect-ratio:1;border-radius:18px;flex-shrink:0}
body.poker-theme .cl-art img{object-fit:contain}
body.poker-theme .cl-art-letter{font-size:64px}
body.poker-theme .cl-name{font-size:22px;white-space:normal;line-height:1.2;min-height:1.2em;overflow-wrap:anywhere}
body.poker-theme .cl-id{font-size:13px;margin-top:7px}
body.poker-theme .cl-create-cap{font-size:16px;padding:0 14px;line-height:1.4}
body.poker-theme .cl-art-create>svg{width:64px!important;height:64px!important}
body.poker-theme .cl-card-create .cl-cta{margin-top:18px;min-height:48px}
body.poker-theme .cl-stats{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:stretch;margin:14px 0}
body.poker-theme .cl-balance{padding:8px!important}.cl-balance-label{letter-spacing:.04em}
body.poker-theme .cl-cta{min-height:44px;border-radius:12px;font-size:15px}
@media(min-width:700px){body.poker-theme .cl-deck{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0}}
@media(max-width:699px){
 body.poker-theme .cl-page{padding:16px 0!important}
 body.poker-theme .cl-page>.max-w-2xl>div:not(:has(>.cl-deck)){margin-left:16px;margin-right:16px}
 body.poker-theme .cl-deck{--club-card-width:min(64vw,330px);position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:calc((100% - var(--club-card-width))/2);padding:26px calc((100% - var(--club-card-width))/2) 16px;overscroll-behavior-x:contain}
 body.poker-theme .cl-card{flex:0 0 var(--club-card-width);min-width:0;scroll-snap-align:center;box-sizing:border-box;padding:16px;border-radius:24px}
 body.poker-theme .cl-name{font-size:20px}
 body.poker-theme .cl-art{border-radius:16px}
 body.poker-theme .cl-dots{display:flex!important;gap:6px;margin:0 0 24px;min-height:30px;flex-wrap:wrap;justify-content:center}
 body.poker-theme .cl-dots button{position:relative;min-height:30px;min-width:24px;width:24px;height:30px;background:transparent;border:0;color:transparent;font-size:0;box-shadow:none}
 body.poker-theme .cl-dot:after{content:'';position:absolute;width:6px;height:6px;border-radius:10px;background:#64748b;left:50%;top:50%;transform:translate(-50%,-50%)}
 body.poker-theme .cl-dot-on:after{width:18px;background:#e8c879}
 body.poker-theme .cl-dot-plus:after{content:'+';width:12px;height:12px;font-size:12px;line-height:12px;color:#0b1119;background:#e8c879}
 body.poker-theme .cl-banner{max-height:none;border-radius:14px;margin-top:12px}
}
.poker-room .poker-community.has-second-board .poker-table-caption{display:none}

/* Voluntary showdown reveal occupies the reserved dock, never shrinks the felt. */
.poker-room{position:relative}
.poker-room .poker-show-hand{position:absolute;z-index:70;bottom:calc(52px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);height:34px;white-space:nowrap}

/* Keep privileged runout cards in their own row, outside the seat area. */
.poker-room>.poker-god-runout{position:relative;flex:0 0 64px;height:64px;min-height:64px;overflow-x:auto;overflow-y:hidden;z-index:80}
.poker-room>.poker-god-runout .card-face{width:24px!important;height:34px!important;min-height:34px!important}
.poker-room:has(>.poker-god-runout) .poker-table-tools{top:118px!important}

/* A wide desktop has room for readable seats and a larger board. Phones keep
   the portrait field; the stage and action dock still have fixed boundaries. */
@media(min-width:900px) and (min-height:600px) and (min-aspect-ratio:13/10){
 .poker-room .poker-table{width:min(calc(100% - 48px),110cqh,1050px)}
 .poker-room .poker-player-info{min-width:104px;padding:5px 10px}
 .poker-room .poker-player-info>div:first-child{font-size:13px}
 .poker-room .poker-stack-amount{font-size:16px}
 .poker-room .poker-opponent-fan{--poker-fan-width:44px}
 .poker-room .poker-opponent-fan.is-hidden{--poker-fan-width:40px}
 .poker-room .poker-opponent-fan.poker-revealed-hand{--poker-fan-width:40px}
 .poker-room .poker-table-caption{height:42px}
 .poker-room .poker-felt-logo{height:30px}
 .poker-room .poker-heading-info strong{font-size:15px}
 .poker-room .poker-heading-info span{font-size:13px}
}

/* v276: selected 738 × 1600 ClubGG reference, with a matching under-rail LED.
   The entire image (felt + LED) uses one personal color filter. UI is unfiltered. */
.poker-room{background:#0b0d0c!important;font-family:Arial,Heebo,sans-serif}
.poker-room .pt-stage{position:absolute;inset:0;display:block;background:#0b0d0c;overflow:hidden}
.poker-room .poker-table{width:100%!important;max-width:600px!important;height:100%!important;position:relative;margin:0 auto;container-type:inline-size}
.poker-room .approved-poker-material{filter:var(--table-filter,none)!important;object-fit:fill}
.poker-room .poker-table-heading{position:relative;flex:0 0 46px;background:#080a09d9;border-color:#ffffff12;z-index:80}
.poker-room .poker-table-heading button{background:#202421;border-color:#555c56;border-radius:7px}
.poker-room .poker-table-tools{top:58px!important;z-index:90}
.poker-room .poker-action-dock{position:absolute;left:0;right:0;bottom:0;z-index:70;background:#0a0c0bd9!important;border:0;box-shadow:none}
.poker-room.is-spectating .poker-action-dock{background:transparent!important;grid-template-rows:0 42px 24px;gap:3px;height:82px;min-height:82px;flex-basis:82px;padding-top:4px}
.poker-room .poker-community{top:50%;width:60%;gap:8px}
.poker-room .poker-community.has-second-board{top:47%;width:60%}
.poker-room .poker-board{gap:3px}
.poker-room .poker-total-pot{bottom:calc(100% + 8px);background:#06180770!important;border-radius:22px;padding:4px 12px;min-width:74px}
.poker-room .poker-total-pot>.sm\:hidden{display:none}
.poker-room .poker-pot-amount{font-family:Arial,sans-serif;font-weight:700;color:#ebd755;font-size:clamp(14px,3.8cqw,22px)}
.poker-room .poker-table-caption{top:calc(100% + 12px);height:52px;gap:6px;opacity:.55}
.poker-room .poker-felt-logo{height:27px;width:100px}
.poker-room .poker-felt-variant{font-size:clamp(11px,2.7cqw,16px);color:#c7d6c5}
.poker-room .poker-seat{--gg-pod:clamp(46px,14.5cqw,88px)}
.poker-room .poker-seat .player-pod{width:var(--poker-pod-size,var(--gg-pod))!important;height:var(--poker-pod-size,var(--gg-pod))!important;border:1.5px solid #b1b6b4!important;background-color:#101511;box-shadow:0 1px 4px #0008!important}
.poker-room .poker-seat .player-pod.active-glow{border-color:#ffcc56!important;box-shadow:0 0 0 2px #ffca4780,0 0 12px #eec15c60!important}
.poker-room .poker-seat .poker-player-info{width:calc(var(--poker-pod-size,var(--gg-pod)) * 1.12)!important;min-width:0!important;margin-top:-2px!important;padding:1px 3px 2px!important;border:0!important;border-radius:2px!important;background:#111513f5!important;box-shadow:0 2px 3px #0008!important;overflow:hidden}
.poker-room .poker-seat .poker-player-info>div:first-child{font-family:Arial,Heebo,sans-serif!important;font-size:clamp(10px,2.65cqw,16px)!important;font-weight:400;line-height:1.15;color:#d7d9d8}
.poker-room .poker-seat .poker-stack-amount{font-family:Arial,sans-serif!important;font-size:clamp(12px,3.1cqw,18px)!important;font-weight:700!important;line-height:1.25;color:#55dcf1!important}
.poker-room .poker-seat .poker-seat-action{font-size:8px;min-height:12px;line-height:12px;margin-top:2px;padding:0 3px}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan{top:3px;--poker-fan-width:clamp(25px,7.8cqw,46px);transform:none!important}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan.poker-revealed-hand{--poker-fan-width:clamp(22px,6.3cqw,38px)}
.poker-room .poker-empty-seat{width:clamp(46px,14.5cqw,88px);height:clamp(46px,14.5cqw,88px);border-radius:50%;border:1px solid #b7bcb7;background:#070b09c9;color:#b9bdbb}
.poker-room .poker-empty-seat>div{width:100%;height:100%;display:flex;flex-direction:column;gap:2px;border:0;background:transparent;box-shadow:none;color:inherit;font-family:Arial,sans-serif;font-size:clamp(9px,2.6cqw,15px);font-weight:600}
.poker-room .poker-empty-seat i{font-size:clamp(15px,4cqw,22px)}
.poker-room .poker-seat-hero{bottom:calc(143px + max(10px,env(safe-area-inset-bottom)) + 5px)!important;z-index:45}
.poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:40px minmax(88px,1fr);column-gap:6px}
.poker-room .poker-seat-hero .player-pod{width:40px!important;height:40px!important;margin-top:0}
.poker-room .poker-seat-hero .poker-player-info{width:100%!important;min-width:88px!important;padding:3px 6px!important}
.poker-room .poker-own-fan{--poker-fan-width:clamp(34px,11cqw,64px);--poker-fan-overlap:-.48}
.poker-room>.poker-god-runout{z-index:100}
.poker-felt-choices{margin:0 0 16px;padding:0;border:0}
.poker-felt-choices legend{font-size:12px;font-weight:700;color:#e6e9e7;margin-bottom:8px}
.poker-felt-choices>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.poker-felt-choices button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:54px;padding:6px 3px;border:1px solid #536159;border-radius:7px;color:#e5e9e6;font-size:11px;background:#151d18}
.poker-felt-choices button>span{width:25px;height:13px;background:var(--swatch);border:1px solid #ffffff45;border-radius:3px}
.poker-felt-choices button[aria-pressed=true]{border:2px solid #e9cd81;padding:5px 2px;background:#303528}
.poker-felt-choices button:focus-visible{outline:2px solid #72dcdf;outline-offset:2px}
.poker-felt-choices small{display:block;margin-top:7px;font-size:10px;line-height:1.4;color:#a6b9ae}
@media(min-width:900px) and (min-height:600px){.poker-room .poker-table{width:min(100%,78cqh)!important;max-width:880px!important}}
@media(max-height:700px){.poker-room .poker-seat-hero{bottom:151px!important}.poker-room .poker-own-fan{--poker-fan-width:clamp(30px,9cqw,50px)}.poker-room .poker-table-caption{height:32px}}
.poker-room:has(>.poker-god-runout) .pt-stage{top:64px}

/* Quiet club LEDs: static paint, no animation or extra layout work. */
body.poker-theme .cl-card-member{position:relative;border-color:rgba(213,179,107,.25);box-shadow:0 5px 16px #0005,inset 0 -1px 0 rgba(213,179,107,.55),0 3px 9px rgba(213,179,107,.10)}
body.poker-theme .cl-card-member.cl-card-active,body.poker-theme .cl-card-member:focus-within{border-color:rgba(213,179,107,.65);box-shadow:0 6px 18px #0006,inset 0 0 0 1px rgba(213,179,107,.14),0 0 10px rgba(213,179,107,.14),0 4px 12px rgba(213,179,107,.13)}

/* v277 measured against 738x1600 source; positions anchor avatar centres. */
.poker-room .poker-seat:not(.poker-seat-hero){width:var(--poker-pod-size,var(--gg-pod));height:var(--poker-pod-size,var(--gg-pod))}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-player-info{position:relative;margin-top:calc(var(--poker-pod-size,var(--gg-pod)) * -.18)!important;flex-shrink:0;width:var(--poker-player-label-width)!important;padding:1px 2px!important}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-player-info>div:first-child{font-size:max(var(--poker-name-min,0px),calc(var(--poker-pod-size,var(--gg-pod)) * .18))!important;line-height:1.2}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-stack-amount{font-size:max(var(--poker-stack-min,0px),calc(var(--poker-pod-size,var(--gg-pod)) * .21))!important;line-height:1.22}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan{top:7px;--poker-fan-width:clamp(24px,6.8cqw,46px)}
.poker-room .poker-empty-seat{width:14.36cqw;height:14.36cqw;max-width:100px;max-height:100px;min-width:44px;min-height:44px}
.poker-room .poker-community:not(.has-second-board){top:46.25%;transform:translateX(-50%);width:60%}
.poker-room .poker-total-pot{bottom:calc(100% + 7px);min-width:20.3cqw;padding:3px 8px}
.poker-room .poker-total-pot>div:first-child{font-size:clamp(9px,2.2cqw,14px);font-weight:400}
.poker-room .poker-pot-amount{font-size:clamp(14px,3.8cqw,24px)}
.poker-room .poker-collected-pot{position:absolute;top:57.7%;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:3px;z-index:31;pointer-events:none}
.poker-room .poker-collected-pot>span{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:0 9px;border-radius:12px;background:#08270b8a;color:#fff;font:700 clamp(10px,2.7cqw,16px) Arial}
.poker-room .poker-table-caption{top:calc(100% + 19cqw);height:70px;justify-content:flex-start;gap:7px}
.poker-room .poker-felt-variant{font-size:clamp(11px,3cqw,18px)}
/* Fixed rail light remains visible behind the controls, with no animation. */
.poker-room.is-seated .poker-action-dock{background:transparent!important}
/* Full-height viewport: far rail ~17.5%, lower rail ~93% of the GG reference. */
.poker-room .approved-poker-material{transform:translateY(.4%) scaleY(.995);transform-origin:50% 0}
.poker-room .poker-felt-wordmark,.poker-room .poker-felt-logo{position:absolute;bottom:calc(100% + 60px)}

/* Opponent cards have a separate lane; never paint a hand over the face. */
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan{top:var(--poker-card-side-top,0px)!important;bottom:auto;left:auto;right:auto;translate:none!important;transform:none!important;--poker-fan-width:clamp(28px,8.2cqw,48px);--poker-fan-overlap:-.8}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan.poker-revealed-hand{--poker-fan-width:clamp(30px,min(8.8cqw,4.1cqh),46px);--poker-fan-overlap:-.66}
.poker-room .poker-seat[data-card-lane="left"] .poker-opponent-fan{left:calc(100% + 14px)}
.poker-room .poker-seat[data-card-lane="right"] .poker-opponent-fan{right:calc(100% + 14px)}
.poker-room .poker-seat[data-card-lane="top"] .poker-opponent-fan{top:calc(100% + 4px)!important;bottom:auto;left:calc(50% + var(--poker-card-shift));transform:translateX(-50%)!important}
.poker-room .poker-seat[data-card-lane="bottom"] .poker-opponent-fan{top:auto!important;bottom:calc(100% + 10px);left:calc(50% + var(--poker-card-shift));transform:translateX(-50%)!important}

.poker-room .poker-opponent-fan .poker-card-index{left:4%!important}
.poker-room .poker-opponent-fan .poker-card-index>span:first-child{font-size:40cqw!important}
.poker-room .poker-opponent-fan .poker-card-index svg{width:29cqw!important;height:29cqw!important}

.poker-room .poker-collected-pot{top:54.5%;transform:translateX(-50%) scale(.75);transform-origin:50% 0}
.poker-room .poker-table-caption{display:none}

/* A compact chip and amount share one line; labels cannot climb into avatars. */
.poker-room .poker-bet>div{display:flex;align-items:center;gap:3px;height:auto!important}
.poker-room .poker-bet>div>.absolute{position:static;transform:none;font-size:10px;line-height:14px;padding:1px 3px}
.poker-room .poker-bet>div>.flex>.relative:not(:first-child){display:none}
.poker-room .poker-collected-pot{top:42%;left:31%}

@media(max-height:720px){
 .poker-room .poker-action-dock{height:118px;grid-template-rows:18px 44px 24px;gap:4px;padding-top:6px}
 .poker-room .poker-action-buttons>div>.grid>button{height:44px;min-height:44px}
 .poker-room .poker-seat-hero{bottom:124px!important}
 .poker-room .poker-own-fan{--poker-fan-width:30px}
}

/* The player's hand stays in GG's lower-left corner, above the action dock. */
.poker-room{--poker-hero-bottom:158px}
.poker-room .poker-seat-hero{left:24px!important;right:16px;width:auto!important;height:76px;bottom:var(--poker-hero-bottom)!important;transform:none!important}
.poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{display:grid;grid-template-columns:minmax(0,1fr) 40px 82px;grid-template-rows:1fr;gap:6px;height:100%;align-items:end}
.poker-room .poker-seat-hero .poker-own-fan{grid-column:1;grid-row:1;justify-self:start;align-self:end;transform:none!important}
.poker-room .poker-seat-hero .player-pod{grid-column:2;grid-row:1;align-self:end}
.poker-room .poker-seat-hero .poker-player-info{grid-column:3;grid-row:1;min-width:0!important;width:82px!important;align-self:end;margin:0!important}
.poker-room .poker-seat-hero .poker-result-meta{position:absolute;bottom:calc(100% + 4px);left:0;max-width:none}
@media(max-height:720px){.poker-room{--poker-hero-bottom:124px}}

.poker-room .poker-community:not(.has-second-board){width:60%}
.poker-room .poker-own-fan{--poker-fan-width:clamp(34px,min(11cqw,5.5cqh),44px)}
@media(max-width:340px){.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan.poker-revealed-hand{--poker-fan-overlap:-.7}}
@media(max-height:720px){
 .poker-room .poker-own-fan{--poker-fan-width:30px}
 .poker-room .poker-seat[data-seat-row="top"] .poker-opponent-fan{top:0!important;transform:none!important;left:auto;right:auto}
 .poker-room .poker-seat[data-seat-row="top"][data-seat-side="left"] .poker-opponent-fan{left:calc(100% + 14px)}
 .poker-room .poker-seat[data-seat-row="top"][data-seat-side="right"] .poker-opponent-fan{right:calc(100% + 14px)}
}

/* Two runouts retain full-size faces in the shared centre lane. */
.poker-room .poker-community.has-second-board{top:44.5%;width:60%;transform:translate(-50%,-50%);gap:10px}
.poker-room .poker-community.has-second-board .poker-total-pot{left:-25%;top:50%;bottom:auto;transform:translate(-50%,-50%);min-width:0;max-width:none;padding:3px 5px}
.poker-room:has(.poker-community.has-second-board) .poker-collected-pot{left:85%;top:44%}

/* GOD uses the existing utility row; enabling it never shrinks the table. */
.poker-room:has(>.poker-god-runout) .pt-stage{top:0}
.poker-room>.poker-god-runout{position:absolute;top:46px;left:90px;right:8px;height:34px;min-height:34px;flex-basis:34px;gap:4px;padding:2px 4px;border:1px solid #a855f744;border-radius:7px;background:#281341e8;overflow:hidden}
.poker-room>.poker-god-runout .card-face{width:20px!important;height:28px!important;min-height:28px!important}
.poker-room>.poker-god-runout>span{font-size:8px}
.poker-room>.poker-god-runout>div{gap:2px}
.poker-room>.poker-god-runout>div>span{font-size:8px}
.poker-room .poker-table-tools,.poker-room:has(>.poker-god-runout) .poker-table-tools{top:48px!important}


/* The return action belongs to the local seat, never behind the header. */
.poker-room .poker-seat-hero .poker-return-to-game{position:absolute;right:0;bottom:48px;z-index:50;display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;min-width:122px;padding:6px 10px;border:1px solid #ffe3a1;border-radius:10px;background:#e9b33f;color:#211805;font:700 12px Arial,sans-serif;box-shadow:0 2px 7px #0008;cursor:pointer}
.poker-room .poker-return-to-game small{font-size:10px;font-variant-numeric:tabular-nums}
.poker-room .poker-return-to-game:focus-visible{outline:2px solid white;outline-offset:3px}

/* GG reference: branding and game details stay on the felt, below the board. */
.poker-room .poker-community{--caption-offset:20.75cqh}
.poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-community{--caption-offset:7.75cqh}
.poker-room .poker-community .poker-table-caption{display:flex;top:var(--caption-offset);height:auto;min-height:32px;gap:3px;overflow:visible;opacity:.55;z-index:-1}
.poker-room .poker-felt-wordmark,.poker-room .poker-felt-logo{position:absolute;bottom:auto;top:calc(3cqh - var(--caption-offset));font-size:clamp(22px,6.5cqw,40px);color:#c8dcc47a;letter-spacing:.04em;max-width:100%;height:auto}
.poker-room .poker-felt-logo{max-height:55px;object-fit:contain}
.poker-room .poker-felt-variant,.poker-room .poker-felt-stakes{font:400 clamp(10px,2.8cqw,16px)/1.25 Arial,sans-serif;color:#d4dedb}
.poker-room .poker-community.has-second-board .poker-table-caption{top:calc(100% + 16px)}
.poker-room .poker-community.has-second-board .poker-felt-wordmark,.poker-room .poker-community.has-second-board .poker-felt-logo{display:none}

/* Reserve the extra showdown line before the next opponent card lane. */

/* Turn messages sit on the lower felt, above the controls and inside the rail. */
.poker-room .poker-action-meta [role="status"]{position:absolute;left:50%;top:-12px;transform:translateX(-50%);width:calc(100% - 36px);max-width:560px;font-size:10px;line-height:12px;pointer-events:none}
@media(max-height:720px){.poker-room .poker-action-dock{padding-top:14px}.poker-room .poker-action-meta [role="status"]{top:-4px}}

/* The dealer indicator belongs to the nameplate, outside every card lane. */
.poker-room .poker-player-name{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0}
.poker-room .poker-player-name>.truncate{min-width:0}
.poker-room .poker-dealer-marker{display:inline-flex;align-items:center;justify-content:center;flex:0 0 11px;width:11px;height:11px;border-radius:50%;background:#f2cc71;color:#392600;font:bold 8px Arial,sans-serif}
@media(max-height:720px){
}
.poker-room .poker-collected-pot{left:34%}
.poker-room .poker-seat-hero .poker-result-meta{bottom:-44px;left:50%;transform:translateX(-50%)}

/* A readable SYNGA POKER mark shares the free felt area with the game details. */
.poker-room .poker-felt-wordmark,.poker-room .poker-felt-logo{top:auto;bottom:calc(100% + 4px)}
.poker-room .poker-community.has-second-board .poker-table-caption{top:calc(22.5cqh + 50%)}
.poker-room .poker-community.has-second-board .poker-felt-wordmark,.poker-room .poker-community.has-second-board .poker-felt-logo{display:block}
.poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-felt-wordmark,.poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-felt-logo{bottom:auto;top:calc(3cqh - var(--caption-offset))}
@media(max-height:720px){
 .poker-room .poker-community{--caption-offset:21.55cqh}
 .poker-room .poker-community.has-second-board .poker-table-caption{top:calc(23.3cqh + 50%)}
 .poker-room .poker-felt-wordmark{font-size:18px}
 .poker-room .poker-felt-logo{max-height:20px}
 .poker-room .poker-table-caption{gap:2px!important}
 .poker-room .poker-felt-variant,.poker-room .poker-felt-stakes{font-size:9px;line-height:11px}
}

/* GG local seat: avatar and nameplate are at the lower left, with its fan beside them. */
.poker-room .poker-seat-hero{left:30px!important;height:86px}
.poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:56px minmax(0,1fr);grid-template-rows:56px 30px;gap:0 12px;align-items:end}
.poker-room .poker-seat-hero .player-pod{grid-column:1;grid-row:1;width:56px!important;height:56px!important}
.poker-room .poker-seat-hero .poker-player-info{grid-column:1;grid-row:2;justify-self:center}
.poker-room .poker-seat-hero .poker-own-fan{grid-column:2;grid-row:1/3;align-self:center;justify-self:start}
.poker-room .poker-seat-hero .poker-return-to-game{left:72px;right:auto;bottom:16px}
.poker-room .poker-seat-hero .poker-result-meta{left:0;transform:none}
@media(max-height:720px){
 .poker-room .poker-seat-hero{height:68px}
 .poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:44px minmax(0,1fr);grid-template-rows:44px 24px}
 .poker-room .poker-seat-hero .player-pod{width:44px!important;height:44px!important}
 .poker-room .poker-seat-hero .poker-return-to-game{left:62px}
}

/* Keep the local avatar centre at the GG lower-left target (about 16%, 77%). */
.poker-room{--poker-hero-bottom:calc(23cqh - 62px)}
.poker-room .poker-seat-hero{height:94px}
.poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:64px minmax(0,1fr);grid-template-rows:64px 30px;gap:0 22px}
.poker-room .poker-seat-hero .player-pod{width:64px!important;height:64px!important}
.poker-room .poker-seat-hero .poker-player-info{width:76px!important}
.poker-room .poker-seat-hero .poker-return-to-game{left:82px}
.poker-room .poker-seat-hero .poker-result-meta{bottom:-12px;left:84px}
.poker-room .poker-action-meta [role="status"]{top:calc(133px + max(10px,env(safe-area-inset-bottom)) - 28cqh)}
.poker-room.is-spectating .poker-action-meta [role="status"]{top:calc(82px - 28cqh)}
.poker-room .poker-felt-logo{max-height:24px}
@media(max-height:720px){
 .poker-room{--poker-hero-bottom:calc(23cqh - 46px)}
 .poker-room .poker-seat-hero{height:68px}
 .poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:44px minmax(0,1fr);grid-template-rows:44px 24px;gap:0 26px}
 .poker-room .poker-seat-hero .player-pod{width:44px!important;height:44px!important}
 .poker-room .poker-seat-hero .poker-player-info{width:68px!important}
 .poker-room .poker-seat-hero .poker-return-to-game{left:62px}
 .poker-room .poker-action-meta [role="status"]{top:calc(118px - 27cqh)}
 .poker-room .poker-felt-logo{max-height:20px}
}
/* Transparent dock space must not intercept taps on adjacent private cards. */
.poker-room .poker-action-dock{pointer-events:none}
.poker-room .poker-action-dock>*{pointer-events:auto}
@media(max-height:720px){
 .poker-room .poker-action-meta [role="status"]{top:calc(118px - 28cqh)}
 .poker-room .poker-bet>div>.flex,.poker-room .poker-bet>div>.flex>.relative{height:14px!important}
 .poker-room .poker-bet .casino-chip:not(:last-child){display:none}
 .poker-room .poker-bet .casino-chip:last-child{bottom:0!important}
}

/* Measured from the supplied 738x1600 GG reference; units follow the table viewport. */
@media(min-height:721px){
 .poker-room{--poker-hero-size:clamp(44px,min(19.6477cqw,9.0625cqh),96px);--poker-hero-bottom:calc(23.125cqh - var(--poker-hero-size)/2 - 21.5px)}
 .poker-room .poker-seat-hero{left:calc(16.125cqw - var(--poker-hero-size)/2)!important;height:calc(var(--poker-hero-size) + 21.5px)}
 .poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{grid-template-columns:var(--poker-hero-size) minmax(0,1fr);grid-template-rows:var(--poker-hero-size) 21.5px}
 .poker-room .poker-seat-hero .player-pod{width:var(--poker-hero-size)!important;height:var(--poker-hero-size)!important}
 .poker-room .poker-seat-hero .poker-player-info{width:calc(var(--poker-hero-size)*1.1655)!important}
 .poker-room .poker-seat-hero .poker-return-to-game{left:calc(var(--poker-hero-size) + 18px)}
}
/* With no lower-row hands, the pot and details use the reference's central positions. */
.poker-room.is-spectating:not(:has(.poker-seat[data-seat-row="lower"] .poker-opponent-fan)) .poker-collected-pot{left:50%;top:57.7%}
.poker-room.is-spectating:not(:has(.poker-seat[data-seat-row="lower"] .poker-opponent-fan)) .poker-community:not(.has-second-board){--caption-offset:16.75cqh}
.poker-room.is-spectating:not(:has(.poker-seat[data-seat-row="lower"] .poker-opponent-fan)) .poker-felt-wordmark{top:calc(3cqh - var(--caption-offset));bottom:auto}

/* Names begin at the avatar's lower edge; an action badge grows downward. */
.poker-room .poker-seat-hero .poker-player-info{align-self:start;margin-top:calc(var(--poker-hero-size,64px)*-.18)!important}
@media(max-height:720px){.poker-room{--poker-hero-size:44px}}

@media(min-height:721px){.poker-room .poker-bet[data-bet-row="upper"]{translate:0 26px}}

@media(min-height:721px){
 .poker-room.is-seated .poker-table:not([data-seat-count="8"]):not([data-seat-count="9"]) .poker-community:not(.has-second-board){--caption-offset:21cqh}
 .poker-room.is-seated .poker-felt-wordmark{font-size:clamp(22px,min(6cqw,2.75cqh),40px)}
}

/* Two runouts start below the upper hands; branding stays in its felt slot. */
.poker-room .poker-community.has-second-board .poker-table-caption{display:flex}
@media(min-height:721px){
 .poker-room .poker-community.has-second-board{top:47.5%}
 .poker-room .poker-community.has-second-board .poker-table-caption{top:calc(19.75cqh + 50%)}
}

/* Compact club picker: reserve space for the complete bottom banner. */
body.poker-theme .cl-page:has(.cl-deck){padding:12px!important}
body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl{max-width:900px}
body.poker-theme .cl-page:has(.cl-deck) .cl-card{padding:10px;border-radius:16px}
body.poker-theme .cl-page:has(.cl-deck) .cl-art{height:clamp(90px,18dvh,150px);aspect-ratio:auto;border-radius:12px}
body.poker-theme .cl-page:has(.cl-deck) .cl-name{font-size:16px;line-height:19px;min-height:19px;margin-top:6px}
body.poker-theme .cl-page:has(.cl-deck) .cl-id{font-size:11px;line-height:14px;margin-top:3px}
body.poker-theme .cl-page:has(.cl-deck) .cl-stats{gap:4px;margin:6px 0}
body.poker-theme .cl-page:has(.cl-deck) .cl-stat{font-size:11px;padding:4px 2px}
body.poker-theme .cl-page:has(.cl-deck) .cl-balance{padding:5px!important;gap:2px}
body.poker-theme .cl-page:has(.cl-deck) .cl-balance-amount{font-size:15px;line-height:18px}
body.poker-theme .cl-page:has(.cl-deck) .cl-cta{min-height:44px;font-size:14px;border-radius:9px}
body.poker-theme .cl-page:has(.cl-deck) .cl-art-letter{font-size:42px}
body.poker-theme .cl-page:has(.cl-deck) .cl-art-create>svg{width:36px!important;height:36px!important}
body.poker-theme .cl-page:has(.cl-deck) .cl-create-cap{font-size:12px;line-height:16px;padding:0 6px}
body.poker-theme .cl-page:has(.cl-deck) .cl-card-create .cl-cta{margin-top:auto;min-height:44px}
body.poker-theme .cl-page:has(.cl-deck) .cl-banner{width:100%;max-width:500px;max-height:125px;margin:8px auto 0;background-size:contain;background-repeat:no-repeat;border-radius:12px}
@media(max-width:699px){
 body.poker-theme .cl-page:has(.cl-deck){padding:8px 0 max(8px,env(safe-area-inset-bottom))!important}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:not(:has(>.cl-deck)){margin-left:12px;margin-right:12px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child{margin-bottom:6px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>.mb-4{margin-bottom:4px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-deck{--club-card-width:clamp(144px,min(50vw,27dvh),200px);gap:14px;padding:8px calc((100% - var(--club-card-width))/2);align-items:stretch}
 body.poker-theme .cl-page:has(.cl-deck) .cl-art{height:auto;aspect-ratio:1}
 body.poker-theme .cl-page:has(.cl-deck) .cl-dots{margin:0;min-height:28px;gap:3px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-dots button{min-height:28px;height:28px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-banner{width:calc(100% - 24px);max-height:14dvh;margin:6px 12px 0}
 body.poker-theme .cl-page:has(.cl-deck) .cl-code-wrap{padding:6px 8px 8px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-code-title{font-size:10px;margin-bottom:5px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-box{width:36px;height:36px;font-size:18px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.mt-4{margin-top:4px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.mt-4>button{padding:5px 16px;min-height:32px;font-size:12px}
}
@media(max-width:699px) and (max-height:700px){
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.w-9{display:none}
 body.poker-theme .cl-page:has(.cl-deck) .logo-shine{font-size:20px;line-height:26px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>p{margin-top:2px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-card{padding:8px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-art{height:min(27vw,16dvh);aspect-ratio:auto}
 body.poker-theme .cl-page:has(.cl-deck) .cl-name{font-size:14px;line-height:17px;min-height:17px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-art-create{gap:4px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-art-create>svg{width:24px!important;height:24px!important}
 body.poker-theme .cl-page:has(.cl-deck) .cl-create-cap{font-size:11px;line-height:13px}
}

/* The product name is permanent; the live club name is the subtitle. */
.poker-room .poker-felt-club-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px/14px Arial,Heebo,sans-serif;color:#d4dedb}
.poker-room .poker-felt-details{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 6px;max-width:100%}
@media(max-height:720px){.poker-room .poker-felt-club-name{font-size:10px;line-height:12px}.poker-room .poker-felt-details{gap:0 4px}}
@media(max-width:699px) and (max-height:780px){
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.w-9{display:none}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center;text-align:start}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>h1{grid-column:1;grid-row:1;font-size:18px;letter-spacing:.1em}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>p:not(.hidden){grid-column:1;grid-row:2;margin:0;font-size:12px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>button{grid-column:2;grid-row:2;justify-self:end;margin:0;min-height:24px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.mt-4{grid-column:2;grid-row:1;margin:0}
}
@media(min-width:700px){
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;text-align:start;margin-bottom:8px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.w-9{display:none}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>h1{grid-column:1;grid-row:1;font-size:28px;line-height:36px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>p:not(.hidden){grid-column:1;grid-row:2;margin:0}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>p.hidden{grid-column:1/-1;grid-row:3;margin:0;font-size:10px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>button{grid-column:2;grid-row:2;justify-self:end;margin:0;min-height:24px}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.mt-4{grid-column:2;grid-row:1;margin:0}
 body.poker-theme .cl-page:has(.cl-deck)>.max-w-2xl>div:first-child>.mt-4>button{padding:6px 16px;min-height:36px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-deck{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0}
 body.poker-theme .cl-page:has(.cl-deck) .cl-card{flex:0 0 200px;min-width:0;scroll-snap-align:start}
 body.poker-theme .cl-page:has(.cl-deck) .cl-dots{display:flex!important;gap:6px;margin:0;min-height:28px}
 body.poker-theme .cl-page:has(.cl-deck) .cl-dots button{min-width:24px;min-height:24px}
}


/* GOD-only identity markers share the existing name row without moving stacks. */
.poker-room .poker-god-player-kind{display:inline-flex;align-items:center;justify-content:center;flex:0 0 13px;width:13px;height:13px;border-radius:3px;font-size:9px;line-height:1;background:#15333e;color:#99e5ff}
.poker-room .poker-god-player-kind.is-bot{background:#48361a;color:#ffda85}

/* Headerless table: utility controls live behind one small menu button. */
.poker-room .poker-table-tools,.poker-room:has(>.poker-god-runout) .poker-table-tools{top:calc(env(safe-area-inset-top,0px) + 8px)!important;left:max(8px,env(safe-area-inset-left));z-index:110}
.poker-room .poker-table-tools>div>button{width:40px;height:40px;border-radius:12px;background:#111b24e8;border:1px solid #71858c66;box-shadow:0 2px 9px #0005}
.poker-room>.poker-god-runout{top:calc(env(safe-area-inset-top,0px) + 10px);left:58px;right:8px}
.poker-menu-wait-count{position:absolute;right:-5px;top:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:#f1ce81;color:#152127;font:bold 10px/16px Arial,sans-serif;text-align:center;pointer-events:none}
/* The table menu is a translucent sheet; every rule stays inside its own UI. */
.poker-menu-overlay{isolation:isolate;color:#f4f8ff}
.poker-menu-overlay::before{content:"";position:absolute;inset:0;z-index:1;background:url("../brand/sapphire-shell.webp") center/cover no-repeat;opacity:.24;pointer-events:none}
.poker-menu-backdrop{z-index:0;background:#020712b8!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.poker-menu-brand{position:absolute;z-index:2;top:max(36px,calc(env(safe-area-inset-top,0px) + 5dvh));left:50%;width:clamp(118px,37vw,170px);transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 4px 18px #0095ff30)}
.poker-menu-brand img{display:block;width:64px;height:64px;margin-inline:auto;object-fit:contain}
.poker-menu-brand>span{display:block;margin-top:4px;text-align:center;color:#e8f7ff;font-size:19px;font-weight:900;line-height:1.2;letter-spacing:.07em;text-shadow:0 2px 5px #000b}
.poker-menu-panel{position:absolute;z-index:2;inset-inline:12px;bottom:max(18px,env(safe-area-inset-bottom,0px));width:auto;max-width:520px;margin-inline:auto;max-height:calc(100dvh - max(134px,calc(env(safe-area-inset-top,0px) + 112px)) - max(18px,env(safe-area-inset-bottom,0px)));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#55bfff70 transparent;padding:3px 3px 10px;scroll-padding-block:8px;animation-duration:.18s}
.poker-menu-heading{position:relative;display:flex;align-items:flex-start;gap:12px;margin:0 0 11px;padding:12px;border:1px solid #91c9f1b3;border-radius:14px;background:#041021eb;color:#f4f8ff;box-shadow:inset 0 1px 0 #d4efff33,0 0 14px #008cff17;overflow:hidden}
.poker-menu-heading>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.poker-menu-heading strong{font-size:clamp(21px,5.8vw,27px);font-weight:800;line-height:1.16;overflow-wrap:anywhere;letter-spacing:-.025em}
.poker-menu-heading span{font-size:clamp(13px,3.6vw,16px);font-weight:600;line-height:1.35;color:#b4c9ea}
.poker-menu-heading button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #8fceffbd;border-radius:11px;background:#10283de8;color:#f1f7ff;font-size:24px;line-height:1;box-shadow:inset 0 1px 0 #d5f3ff24,0 0 9px #229bff1f;cursor:pointer}
.poker-menu-status{margin:0 0 10px;text-align:center;color:#aec4e4;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.06em}
.poker-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch}
.poker-menu-grid>button,.poker-menu-tile,.poker-menu-volume{--menu-rgb:62,193,255;position:relative;display:flex;min-width:0;min-height:84px;aspect-ratio:auto;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 3px;border:1px solid rgba(var(--menu-rgb),.85);border-radius:13px;background:#030b17e8;color:#f5f7fc;box-shadow:inset 0 1px 0 #ffffff10,0 0 9px rgba(var(--menu-rgb),.13),0 5px 12px #0005;cursor:pointer;transition:filter .16s ease,box-shadow .16s ease}
.poker-menu-grid [data-menu-tone="cyan"]{--menu-rgb:43,207,255}
.poker-menu-grid [data-menu-tone="purple"]{--menu-rgb:193,85,255}
.poker-menu-grid [data-menu-tone="gold"]{--menu-rgb:246,195,86}
.poker-menu-grid [data-menu-tone="green"]{--menu-rgb:110,230,141}
.poker-menu-grid [data-menu-tone="orange"]{--menu-rgb:249,153,83}
.poker-menu-grid [data-menu-tone="pink"]{--menu-rgb:248,113,157}
.poker-menu-icon{display:block;flex:0 0 auto;width:48px;height:48px;line-height:1;pointer-events:none;background-image:url('../menu/premium-atlas-v312.webp');background-size:500% 400%;background-repeat:no-repeat;clip-path:inset(3%);filter:drop-shadow(0 2px 3px #0009)}
.poker-menu-icon[data-menu-icon="details"]{background-position:0 0}
.poker-menu-icon[data-menu-icon="history"]{background-position:25% 0}
.poker-menu-icon[data-menu-icon="look"]{background-position:50% 0}
.poker-menu-icon[data-menu-icon="sound"]{background-position:75% 0}
.poker-menu-icon[data-menu-icon="muted"]{background-position:100% 0}
.poker-menu-icon[data-menu-icon="sit-out"]{background-position:0 33.333333%}
.poker-menu-icon[data-menu-icon="chips"]{background-position:25% 33.333333%}
.poker-menu-icon[data-menu-icon="god"]{background-position:50% 33.333333%}
.poker-menu-icon[data-menu-icon="bot"]{background-position:75% 33.333333%}
.poker-menu-icon[data-menu-icon="bot-group"]{background-position:100% 33.333333%}
.poker-menu-icon[data-menu-icon="unstick"]{background-position:0 66.666667%}
.poker-menu-icon[data-menu-icon="settings"]{background-position:25% 66.666667%}
.poker-menu-icon[data-menu-icon="manage"]{background-position:50% 66.666667%}
.poker-menu-icon[data-menu-icon="leave"]{background-position:75% 66.666667%}
.poker-menu-icon[data-menu-icon="fa-expand"]{background-position:100% 66.666667%}
.poker-menu-icon[data-menu-icon="fa-compress"]{background-position:0 100%}
.poker-menu-icon[data-menu-icon="fa-angles-up"]{background-position:25% 100%}
.poker-menu-icon[data-menu-icon="fa-hand"]{background-position:50% 100%}
.poker-menu-icon[data-menu-icon="fa-plus"]{background-position:75% 100%}
.poker-menu-icon[data-menu-icon="fa-play"]{background-position:100% 100%}
.poker-menu-label{display:block;max-width:100%;font-size:clamp(11px,3.3vw,15px);font-weight:700;text-align:center;line-height:1.15;overflow-wrap:normal;text-wrap:balance;text-shadow:0 1px 2px #000b}
.poker-menu-grid>button:disabled{opacity:.43;cursor:not-allowed;filter:saturate(.55)}
.poker-menu-grid>button[aria-pressed="true"]{box-shadow:inset 0 0 14px rgba(var(--menu-rgb),.22),0 0 12px rgba(var(--menu-rgb),.3),0 5px 12px #0005}
.poker-menu-grid>button:focus-visible,.poker-menu-heading button:focus-visible,.poker-menu-volume:focus-within{outline:2px solid #e2f6ff;outline-offset:3px}
.poker-menu-volume{grid-column:span 2;align-items:stretch;justify-content:center;gap:3px;padding:8px 10px;cursor:default;font-size:clamp(13px,3.6vw,16px);font-weight:700;line-height:1.3}
.poker-menu-volume .poker-menu-label{text-align:start;font-size:inherit}
.poker-menu-volume strong,.poker-menu-volume output{color:#36c9ff;font-weight:800}
.poker-menu-volume input[type="range"]{display:block;width:100%;height:44px;min-height:44px;margin:0;padding:0;background:transparent;accent-color:#29c9ff;cursor:pointer;touch-action:pan-y}
.poker-menu-panel .poker-waitlist-status{margin-bottom:11px;padding:10px;border:1px solid #ad89da99;border-radius:12px;background:#11142be6;color:#e5ddf3}
@media(hover:hover){.poker-menu-grid>button:not(:disabled):hover,.poker-menu-heading button:hover{filter:brightness(1.17)}}
@media(max-width:350px){.poker-menu-panel{inset-inline:8px;padding-inline:2px}.poker-menu-grid{gap:7px}.poker-menu-label{font-size:11px}.poker-menu-heading{padding:10px}.poker-menu-volume{padding-inline:8px}}
@media(max-height:720px){.poker-menu-brand{display:none}.poker-menu-panel{max-height:calc(100dvh - max(14px,env(safe-area-inset-top,0px)) - max(14px,env(safe-area-inset-bottom,0px)));bottom:max(14px,env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.poker-menu-panel,.poker-menu-grid>button,.poker-menu-tile,.poker-menu-heading button{animation:none!important;transition:none!important}}

/* Spacious tables use the large player scale from the reference. A single
   factor grows the pod, its seat wrapper and its labels together. Dense tables
   and short two-runout tables retain the verified layout. The board stays at 60%. */
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)){--poker-opponent-scale:1.22;--poker-opponent-face:clamp(40px,11cqw,58px);--poker-player-panel-min:82px;--poker-name-min:12px;--poker-stack-min:14px;--poker-hero-face:clamp(42px,11.6cqw,70px)}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero) .poker-result-meta{width:max-content;max-width:110px;flex-wrap:nowrap;margin-top:1px}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero) .poker-result-meta>div{white-space:nowrap}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] .poker-result-meta{align-self:flex-start;position:relative;left:calc(4px - var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2);translate:none}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] .poker-result-meta{align-self:flex-end;position:relative;right:calc(4px - 100cqw + var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2);translate:none}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] .poker-player-info{translate:max(0px,calc(var(--poker-player-label-width) / 2 + 4px - var(--poker-seat-x))) 0}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] .poker-player-info{translate:min(0px,calc(100cqw - var(--poker-seat-x) - var(--poker-player-label-width) / 2 - 4px)) 0}
.poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat[data-seat-row="upper"]{top:27.5%!important;--poker-compact-moved:1}
@media(min-height:721px){
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board){--poker-opponent-scale:1.22;--poker-opponent-face:clamp(40px,11cqw,58px);--poker-player-panel-min:82px;--poker-name-min:12px;--poker-stack-min:14px;--poker-hero-face:clamp(42px,11.6cqw,70px)}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta{width:max-content;max-width:110px;flex-wrap:nowrap;margin-top:1px}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta>div{white-space:nowrap}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] .poker-result-meta{align-self:flex-start;position:relative;left:calc(4px - var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2);translate:none}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] .poker-result-meta{align-self:flex-end;position:relative;right:calc(4px - 100cqw + var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2);translate:none}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] .poker-player-info{translate:max(0px,calc(var(--poker-player-label-width) / 2 + 4px - var(--poker-seat-x))) 0}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] .poker-player-info{translate:min(0px,calc(100cqw - var(--poker-seat-x) - var(--poker-player-label-width) / 2 - 4px)) 0}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat[data-seat-row="upper"]{top:27.5%!important;--poker-compact-moved:1}
}
@media(max-height:720px){
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):not(:has(.has-second-board)) .poker-seat[data-seat-row="lower"]{top:56.5%!important;--poker-compact-moved:1}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta{margin-top:1px}
 .poker-room .poker-table:is([data-seat-count="2"],[data-seat-count="3"],[data-seat-count="4"],[data-seat-count="5"],[data-seat-count="6"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta>div{padding:0 2px}
}


/* GG reference fan: one curved overlapping row sits over the avatar. Keep
   full-size faces at every capacity; only the overlap changes with card count. */
.poker-room .poker-seat:not(.poker-seat-hero){--poker-pod-size:calc(var(--gg-pod) * var(--poker-opponent-scale,1));--poker-player-label-width:max(var(--poker-player-panel-min,68px),calc(var(--poker-pod-size) * 1.08));--poker-fan-width:var(--poker-opponent-face,clamp(34px,9cqw,48px));--poker-fan-step:.28;--poker-fan-overlap:calc(var(--poker-fan-step) - 1);--poker-fan-span:calc(var(--poker-fan-width) * (1 + (var(--poker-card-count,2) - 1) * var(--poker-fan-step)))}
.poker-room .poker-seat:not(.poker-seat-hero)[data-hole-count="2"]{--poker-fan-step:.62}
.poker-room .poker-seat:not(.poker-seat-hero)[data-hole-count="3"]{--poker-fan-step:.4}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan,
.poker-room .poker-seat:not(.poker-seat-hero) .poker-opponent-fan.poker-revealed-hand{--poker-fan-width:inherit;--poker-fan-overlap:inherit;position:absolute;top:calc(var(--poker-pod-size,var(--gg-pod)) * .72 - var(--poker-fan-width) * 1.4 - 5px)!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;translate:none!important;margin:0!important;z-index:20}
.poker-room .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] .poker-opponent-fan{left:max(50%,calc(var(--poker-fan-span) / 2 + 12px - var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2))!important}
.poker-room .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] .poker-opponent-fan{left:min(50%,calc(100cqw - var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2 - var(--poker-fan-span) / 2 - 12px))!important}
.poker-room .poker-seat-hero{--poker-fan-width:var(--poker-hero-face,clamp(40px,11cqw,66px));--poker-fan-step:.28;--poker-fan-overlap:calc(var(--poker-fan-step) - 1);--poker-fan-span:calc(var(--poker-fan-width) * (1 + (var(--poker-card-count,2) - 1) * var(--poker-fan-step)));left:max(18px,calc(var(--poker-fan-span) / 2 - var(--poker-hero-size,64px) / 2 + 18px))!important;right:auto;width:var(--poker-hero-size,64px)!important}
.poker-room .poker-seat-hero[data-hole-count="2"]{--poker-fan-step:.65}
.poker-room .poker-seat-hero[data-hole-count="3"]{--poker-fan-step:.4}
.poker-room .poker-seat-hero>.relative.flex.flex-col.items-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;height:auto}
.poker-room .poker-seat-hero .poker-own-fan{--poker-fan-width:inherit;--poker-fan-overlap:inherit;position:absolute;top:calc(var(--poker-hero-size,64px) * .72 - var(--poker-fan-width) * 1.4 - 7px);left:50%;right:auto;bottom:auto;transform:translateX(-50%)!important;align-self:auto;justify-self:auto;margin:0!important;z-index:20}
.poker-room .poker-hole-cards>span{line-height:0;flex-shrink:0}
/* Result labels stay in their owner's rail column, clear of both runouts. */
.poker-room .poker-seat:not(.poker-seat-hero) .poker-result-meta{width:68px;max-width:68px;flex-wrap:wrap;flex-shrink:0}
.poker-room .poker-seat:not(.poker-seat-hero) .poker-result-meta>div{max-width:100%;white-space:normal;overflow-wrap:normal}
.poker-room .poker-seat:not(.poker-seat-hero)[data-seat-side="left"] :is(.poker-player-info,.poker-result-meta){translate:-2px 0}
.poker-room .poker-seat:not(.poker-seat-hero)[data-seat-side="right"] :is(.poker-player-info,.poker-result-meta){translate:2px 0}
.poker-room .poker-seat-hero .player-pod{flex:none;align-self:center;margin:0}.poker-room .poker-seat-hero .poker-player-info{align-self:center;flex:none;z-index:25}.poker-room .poker-seat-hero .poker-result-meta{top:100%;bottom:auto;left:calc(100% + 8px);transform:none;width:max-content;max-width:110px}.poker-room .poker-seat-hero .poker-return-to-game{left:calc(100% + 12px);right:auto;bottom:0}


/* Extend the far rail upwards while retaining the lower rail's reference position. */
.poker-room .approved-poker-material{transform:translateY(-3%) scaleY(1.03);transform-origin:50% 0}

/* Keep the local seat above the short-phone action controls. */
@media(max-height:720px){
 .poker-room{--poker-hero-bottom:calc(23cqh - 42px)}
}

/* Pineapple discard keeps separate, easy-to-tap card targets. */
.poker-room .poker-seat-hero[data-cards-spread="true"][data-hole-count="3"]{--poker-fan-span:calc(var(--poker-fan-width) * 3 + 8px)}
.poker-room .poker-seat-hero[data-cards-spread="true"] .poker-own-fan{gap:4px!important}

/* The local bet is a child of its seat: it follows every responsive seat move. */
.poker-room .poker-seat-hero .poker-bet-hero{position:absolute;left:calc(100% + 28px);top:calc(var(--poker-hero-size,64px) * .9);transform:translate(-50%,-50%);z-index:35;width:max-content;pointer-events:none}

/* Reserve the centre lane below the board for branding and table information.
   The old 21cqh offset put the caption and turn text into the hero's card fan. */
.poker-room .poker-community .poker-table-caption,
.poker-room .poker-community.has-second-board .poker-table-caption{top:calc(100% + 20px);width:min(100%,48cqw);gap:3px;overflow:hidden}
.poker-room .poker-table-caption .poker-felt-wordmark,
.poker-room .poker-table-caption .poker-felt-logo{position:static!important;inset:auto!important;flex:none;max-width:100%;font-size:clamp(16px,4.5cqw,25px)!important}
.poker-room .poker-action-meta [role="status"]{position:static!important;inset:auto!important;transform:none!important;width:auto;max-width:100%;line-height:14px}
/* Keep waiting text inside the lower felt, clear of the iPhone home area.
   The action row keeps its own layout; a long/bidi name cannot expand it. */
.poker-room .poker-action-meta [role="status"]{min-width:0;overflow:hidden;text-overflow:ellipsis;unicode-bidi:plaintext}
.poker-room .poker-action-dock:not(:has(.poker-action-buttons)) .poker-action-meta [role="status"]{position:absolute!important;left:50%!important;bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 40px)!important;transform:translateX(-50%)!important;width:max-content;max-width:calc(100% - 120px);box-sizing:border-box;padding:6px 10px;border-radius:10px;background:#101e2de8;color:#e2e8f0;line-height:18px;z-index:1}

/* Keep the local hand, bet and strength together on the left at every capacity. */
.poker-room .poker-seat-hero .poker-hand-status{position:absolute;left:calc(100% + 10px);top:calc(var(--poker-hero-size,64px) * .9 + 17px);width:max-content;max-width:calc(70cqw - 24px);justify-content:flex-start;gap:4px;overflow:visible;pointer-events:none}
.poker-room .poker-seat-hero .poker-hand-status>span{font-size:10px;line-height:15px;padding:3px 6px;white-space:nowrap}

/* Keep long GOD-only winner labels readable inside their own nameplate. */
.poker-room .poker-player-info .poker-god-best-badge{white-space:normal}
.poker-room .poker-god-best-badge>span{min-width:0;line-height:1.15}

/* Reserve the GOD winner row above the action buttons. */
.poker-room .poker-seat-hero:has(.poker-god-best-badge){bottom:calc(var(--poker-hero-bottom) + 20px)!important}

.management-account-numbers{display:flex;flex-direction:column;gap:4px;min-width:0}
.management-account-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.management-account-line>strong{white-space:nowrap;font-size:inherit}
.account-numbers-compact .management-account-line{gap:5px}
.lobby-wallet:has(.account-numbers-compact){flex-wrap:wrap;max-width:100%}
.lobby-wallet .account-numbers-compact .club-member-balance>i{display:none}
.management-account-numbers small{font-size:11px;line-height:1.5;white-space:normal}
.management-cycle-summary{padding:18px;margin:0 0 18px;border:1px solid #475569;border-radius:18px;background:#0f172a}
.management-cycle-summary h3{font-size:16px;font-weight:800;margin-bottom:8px}
.management-cycle-summary p,.management-cycle-summary>small{color:#94a3b8;font-size:11px;margin-top:10px}
.management-cycle-summary button{margin:0 8px;text-decoration:underline}
.management-agent-totals{padding:10px 0;margin-bottom:8px;border-bottom:1px solid #334155}
.management-agent-totals>small{color:#94a3b8;font-size:11px}
.management-sort{max-width:100%;background:#0f172a;border:1px solid #334155;color:#fff;padding:8px 10px;border-radius:16px;font-size:12px}
.club-member-actions{flex-wrap:wrap}

/* Authorized GOD view gets legible hole cards and a larger future board. */
.poker-room.is-god-view>.poker-god-runout{height:76px;min-height:76px;padding:4px 6px;gap:8px;border-radius:10px;overflow:visible}
.poker-room.is-god-view>.poker-god-runout>span{position:absolute;top:3px;left:5px;font-size:8px;opacity:.7}
.poker-room.is-god-view>.poker-god-runout>div{display:flex;flex-direction:column;gap:3px}
.poker-room.is-god-view>.poker-god-runout>div>span{font-size:11px;line-height:13px}
.poker-room.is-god-view>.poker-god-runout .card-face{width:36px!important;height:50.4px!important;min-height:50.4px!important}
.poker-room .poker-god-future-card{position:relative;display:inline-flex;flex-shrink:0;pointer-events:none;outline:1px dashed #c7a5f899;outline-offset:1px;border-radius:6px}
.poker-room .poker-god-future-card .card-face{opacity:.52;filter:saturate(.7);box-shadow:none!important}
.poker-room .poker-god-future-card>small{position:absolute;bottom:2px;right:2px;padding:1px 3px;border-radius:3px;color:#eee2ff;background:#593a78;font:700 7px/10px Arial,sans-serif;letter-spacing:.04em}
@media(max-width:350px){.poker-room.is-god-view>.poker-god-runout{left:52px;right:4px;gap:5px;padding:4px}.poker-room.is-god-view>.poker-god-runout .card-face{width:33px!important;height:46.2px!important;min-height:46.2px!important}}

/* Blind inputs must not contribute their browser intrinsic width to the grid. */
.tournament-blind-editor,.tournament-blind-rows{min-width:0;max-width:100%;box-sizing:border-box}
.tournament-blind-editor select{min-width:0;max-width:100%;width:100%;text-overflow:ellipsis}
.tournament-blind-rows{max-height:58dvh;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.tournament-blind-header,.tournament-blind-row{display:grid;grid-template-columns:26px repeat(3,minmax(0,1fr)) minmax(38px,.7fr) 54px;gap:4px;align-items:center;min-width:0}
.tournament-blind-field{min-width:0;display:block;margin:0}
.tournament-blind-field>span{display:none}
.tournament-blind-field input{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box;padding:7px 2px!important}
@media(max-width:600px){
 .tournament-blind-header{display:none}
 .tournament-blind-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin-bottom:6px;border:1px solid #64748b55;border-radius:10px;background:#0f172a99}
 .tournament-blind-level{grid-column:1/-1;text-align:left;font-size:12px}
 .tournament-blind-level:before{content:'Level '}
 .tournament-blind-field>span{display:block;color:#b8c3d4;font-size:11px;margin-bottom:3px}
 .tournament-blind-field input{font-size:16px!important;min-height:36px}
 .tournament-blind-actions{grid-column:1/-1;justify-content:flex-end;gap:8px}
 .tournament-blind-actions button{min-width:36px;min-height:32px}
}

/* A community board owns a measured clear lane. Translation moves both boards,
   their pot label and caption together, leaving seats and card widths intact. */
.poker-room .poker-community{translate:0 var(--poker-board-shift,0px)}
.poker-room .poker-community[data-caption-obscured="true"] .poker-table-caption{visibility:hidden}
/* Short dense tables use spare space above the upper rail. The lower rail
   remains fixed so its labels never enter the private hero fan. Top GOD badges
   sit above their own fan, with a separate gutter for the utility menu. */
@media(max-height:720px){
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="top"]{top:14.5%!important}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="top"] .poker-player-info{overflow:visible}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="top"] .poker-god-best-badge{position:absolute;bottom:calc(100% + var(--poker-pod-size,var(--gg-pod)) * .1 + var(--poker-fan-width) * 1.4 + 11px);left:50%;transform:translateX(-50%);width:68px;max-width:68px;margin:0}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="top"][data-seat-side="left"] .poker-god-best-badge{left:max(50%,calc(122px - var(--poker-seat-x)))}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]):has(.has-second-board) .poker-seat[data-seat-row="upper"]{top:29.5%!important;--poker-compact-moved:1}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta{margin-top:1px}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]):has(.has-second-board) .poker-seat:not(.poker-seat-hero) .poker-result-meta>div{padding:0 2px}
 /* Top and lower result rows use the free horizontal rail space instead of
    adding a second line above the next player's cards. */
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat:not(.poker-seat-hero):is([data-seat-row="top"],[data-seat-row="lower"]) .poker-result-meta{width:max-content;max-width:110px;flex-wrap:nowrap;margin-top:1px}
 .poker-room .poker-table[data-seat-count="9"] .poker-seat:not(.poker-seat-hero)[data-seat-row="top"] .poker-result-meta{max-width:calc(28cqw - 6px)}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat:not(.poker-seat-hero):is([data-seat-row="top"],[data-seat-row="lower"]) .poker-result-meta>div{white-space:nowrap}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="lower"][data-seat-side="left"] .poker-result-meta{align-self:flex-start;position:relative;left:calc(5px - var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2)}
 .poker-room .poker-table:is([data-seat-count="8"],[data-seat-count="9"]) .poker-seat[data-seat-row="lower"][data-seat-side="right"] .poker-result-meta{align-self:flex-end;position:relative;right:calc(5px - 100cqw + var(--poker-seat-x) + var(--poker-pod-size,var(--gg-pod)) / 2)}
}
/* Both board runs share one pot header in the clear central lane. */
.poker-room .poker-community.has-second-board .poker-total-pot{left:50%;right:auto;top:auto;bottom:calc(100% + 7px);transform:translateX(-50%)}
.poker-room .poker-collected-pot>span{display:none}

/* Keep each bet beside its measured owner after responsive player scaling. */
.poker-room .poker-bet{transform:translate(calc(-50% + var(--poker-bet-clear-x,0px)),calc(-50% + var(--poker-bet-clear-y,0px)))!important}
