/* Club iframe chrome is a measured grid, so the child really gets the remaining height. */
#playDialog.play-dialog[open]{box-sizing:border-box;display:grid;grid-template-rows:auto auto minmax(0,1fr);height:98dvh;max-height:100dvh;width:99vw;max-width:100%;gap:0;padding:4px;overflow:hidden}
#playDialog.play-dialog .dialog-heading{height:auto;min-height:31px;margin:0;padding:2px 7px}
#playDialog #playStatus{margin:1px 8px;font-size:11px}
#playDialog #gameFrame{display:block;height:100%;min-height:0;max-height:100%;width:100%;border:0}
@media(max-height:600px){#playDialog #playStatus{height:0;overflow:hidden;margin:0}#playDialog.play-dialog{padding:2px}#playDialog.play-dialog .dialog-heading{min-height:23px;padding:0 5px}#playDialog .dialog-heading button{min-height:21px;padding:2px 5px}}
body #gameDialog.desk-fixed[open]{box-sizing:border-box;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;margin:0;padding:4px;overflow:hidden;display:flex;flex-direction:column;gap:2px}
body #gameDialog.desk-fixed>.dialog-top{flex:none;min-height:0;height:27px;margin:0;padding:1px 7px}
body #gameDialog.desk-fixed>.dialog-top button{height:23px;min-height:0;width:24px;font-size:17px}
body #gameDialog.desk-fixed #gameRoomContent{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:3px;flex:1;min-height:0;max-height:100%;overflow:hidden;padding:0}
.desk-viewport{position:relative;overflow:auto;min-height:0;max-height:100%;overscroll-behavior:contain}
body #gameDialog .desk-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;padding:7px 10px max(7px,env(safe-area-inset-bottom));border:1px solid #a58a53;border-radius:6px;background:linear-gradient(115deg,#172b1e,#17170f);color:#ffedbd;z-index:10}
body #gameDialog .desk-situation{flex:1 1 175px;min-width:0}
body #gameDialog .desk-situation>strong{font:700 clamp(13px,2dvh,20px)/1.15 Arial}
body #gameDialog .desk-situation #roomStatus{position:static;min-height:0;margin:0;padding:0;border:0;background:none;color:#eedcaf;font:500 clamp(11px,1.7dvh,15px)/1.17 Arial;text-align:left}
body #gameDialog .desk-moves{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;min-width:0;gap:5px}
body #gameDialog .desk-moves label{font:700 10px/1.1 Arial;color:#efd8a4;margin:0;text-align:left}
body #gameDialog .desk-moves :is(button,input,select){width:auto;min-height:36px;height:auto;max-width:100%;padding:5px 11px;line-height:1.1;margin:0;font-size:15px;white-space:normal;background:#201f15;border:1px solid #ad9056;border-radius:5px;color:#ffeabd}
body #gameDialog .desk-moves :is(input,select){display:block;max-width:100px}body #gameDialog .desk-moves button:disabled{opacity:.55}
body #gameDialog .desk-moves button:is(.gold-button,[data-room-action=start-game],[data-blackjack-action=wager]){background:#e6c37c;color:#241b10}
body #gameDialog .desk-viewport [hidden]{display:none!important}
/* The club Hold'em and Omaha surfaces previously grew past the iframe. */
body[data-isn-room] #gameDialog.desk-fixed.desk-poker #gameRoomContent .desk-viewport{overflow:hidden}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .desk-viewport>.room-layout{display:block;position:relative;width:100%;height:100%;margin:0;min-height:0}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout>.table-stage{container-type:size;isolation:isolate;width:100%;height:100%;min-height:0;max-height:100%;margin:0!important;padding:0!important;position:relative;overflow:hidden;--rail-top:33cqh;--rail-bottom:15cqh}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .opponent-seats{position:absolute;inset:3% 6% auto;height:31%;display:flex;align-items:end;gap:1%;margin:0}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .opponent-seat{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:0;height:100%;min-width:0;max-height:none;padding:0}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .opponent-seat:is(:first-child,:last-child){transform:translateY(5%)}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .opponent-seat .seated-figure{width:100%;height:calc(100% - 17px);flex:1;min-height:0}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .opponent-seat .seated-figure :is(img,svg){width:100%;height:100%!important;object-fit:contain;object-position:center bottom}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .opponent-seat>strong{font:600 clamp(9px,1.9cqh,17px)/1.1 Georgia;padding:1px 5px}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .table-center{position:absolute;inset:40% 16% auto;width:auto;max-width:none;min-height:0;height:auto;margin:0;padding:0;background:none;border:0}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-card-row{box-sizing:border-box;gap:2%;margin:0;padding:0;min-height:0;justify-content:space-evenly}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-card-row :is(.playing-card,.card-back){width:min(6cqw,11cqh,75px);height:auto;min-width:0;aspect-ratio:5/7;margin:0;animation:none}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .card-group{row-gap:2px;column-gap:2px}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .table-brand{top:auto;bottom:4%;margin:0;font-size:clamp(8px,1.7cqh,16px)}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .seated-controls{position:absolute;z-index:7;top:0;right:0;max-width:40%;margin:0;padding:0;border:0;background:none}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .table-action-panels:has(.turn-prompt[hidden]){display:none}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .table-rail{margin:0;padding:1px 4px;min-height:0}.desk-fixed.desk-poker .table-rail>span{display:none}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .club-player-badge{position:absolute;bottom:1%;left:1%;z-index:4;margin:0;padding:1px 4px;background:#14231bc9}
body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips{position:absolute;inset:auto 3% 10%;display:flex;justify-content:space-between;align-items:end;width:auto;height:auto;padding:0;margin:0;pointer-events:none;z-index:2;transform:none!important}
body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips .table-betting-chip{--chip-size:clamp(65px,min(16vw,33cqh),244px);container-type:inline-size;box-sizing:border-box;width:var(--chip-size);min-width:var(--chip-size);height:var(--chip-size);padding:0;aspect-ratio:1;border-width:clamp(3px,.6vw,8px)}
body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips .table-betting-chip strong{font:800 min(34cqw,var(--amount-fit,34cqw))/1 Arial;margin:2px 0;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips .table-betting-chip :is(span,small){font:700 clamp(8px,9cqw,19px)/1.05 Arial;letter-spacing:.025em;color:#fff1c9}
body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips .table-betting-chip span{width:85%;max-width:90%}
@media(max-width:650px) and (orientation:portrait){
 body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips{inset:auto 3% 9%}
 body[data-isn-room] #gameDialog.desk-poker .table-stage .near-rail-chips .table-betting-chip{--chip-size:clamp(75px,min(25vw,24cqh),122px)}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .table-center{inset:37% 2% auto}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-card-row :is(.playing-card,.card-back){width:clamp(19px,7.6cqw,42px)}
 body #gameDialog .desk-dock{gap:3px;padding:4px}.desk-moves{width:100%}
 body #gameDialog .desk-moves{justify-content:center;gap:3px}
 body #gameDialog .desk-moves :is(button,input,select){min-height:30px;font-size:12px;padding:3px 6px}
}
@media(max-height:500px){
 body #gameDialog .desk-dock{padding:3px 5px}.desk-dock .room-control-hint{display:none}
 body #gameDialog .desk-moves :is(button,input,select){min-height:25px;font-size:11px;padding:3px 6px}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .opponent-seats{inset:2% 7% auto;height:33%}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-card-row :is(.playing-card,.card-back){width:min(5.5cqw,12cqh)}
}

/* Large poker action dock: the table yields height before any controls do. */
body #gameDialog.desk-poker .desk-dock{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:12px;min-height:104px;box-sizing:border-box}
body #gameDialog.desk-poker .desk-situation{flex:1 1 290px}
body #gameDialog.desk-poker .desk-situation>strong{display:block;font:800 clamp(22px,2.5vw,32px)/1.15 Arial;margin-bottom:5px}
body #gameDialog.desk-poker .desk-next-step{display:block;font:600 clamp(17px,1.6vw,23px)/1.25 Arial;color:#fff0c8;max-width:54ch}
body #gameDialog.desk-poker .desk-situation #roomStatus{font-size:14px;line-height:1.25;margin-top:5px;color:#cfbf99}
body #gameDialog.desk-poker .desk-moves{gap:8px;justify-content:flex-end;align-items:end;flex:0 1 auto}
body #gameDialog.desk-poker .desk-moves label{font-size:12px;line-height:1.25}
body #gameDialog.desk-poker .desk-moves :is(button,input,select){min-height:56px;font-size:22px;padding:12px 20px;min-width:106px;border-radius:8px;font-weight:700}
body #gameDialog.desk-poker .desk-moves :is(input,select){max-width:140px;min-width:110px;width:110px}
body #gameDialog.desk-poker .desk-moves button[data-betting-action]:not(:disabled){background:linear-gradient(#f2dca0,#c49c4d);border-color:#f5d998;color:#20190d}
body #gameDialog.desk-poker .desk-moves button[data-betting-action=fold]{background:#261e16;color:#f4deb2}
body #gameDialog.desk-poker .desk-moves button[data-room-action=start-game]{min-width:225px;background:linear-gradient(#ffe9a9,#d1aa59);font-size:24px}
body #gameDialog.desk-poker .desk-moves button:focus-visible{outline:3px solid #fff6cb;outline-offset:3px}
body #gameDialog.desk-poker .desk-moves button:disabled{opacity:.45}
/* Public poker uses the same roomy typography in its existing fitted dock. */
body.public-card-room[data-isn-room] #gameDialog.poker-fit .room-layout,
body.public-card-room[data-isn-room] #gameDialog.poker-fit:has(.seat-speech) .room-layout{grid-template-rows:minmax(0,1fr) 180px}
body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>strong{font-size:28px;line-height:1.1}
body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>span{font-size:20px;line-height:1.25}
body.public-card-room[data-isn-room] #gameDialog.poker-fit :is(.turn-prompt-actions,.poker-footer-controls) button{min-height:54px;font-size:21px;padding:10px 19px;border-radius:8px}
body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-wager input{height:54px;font-size:22px;max-width:120px}
@media(max-width:1050px){
 body #gameDialog.desk-poker .desk-dock{gap:8px;padding:9px;min-height:96px}
 body #gameDialog.desk-poker .desk-moves :is(button,input,select){min-height:48px;font-size:19px;padding:8px 13px;min-width:88px}
 body #gameDialog.desk-poker .desk-situation>strong{font-size:23px}
 body #gameDialog.desk-poker .desk-next-step{font-size:18px}
}
@media(max-width:650px) and (min-height:501px){
 body #gameDialog.desk-poker .desk-dock{display:block;padding:8px;min-height:0}
 body #gameDialog.desk-poker .desk-situation>strong{font-size:23px;margin-bottom:3px}
 body #gameDialog.desk-poker .desk-next-step{font-size:17px;line-height:1.2}
 body #gameDialog.desk-poker .desk-situation #roomStatus{display:none}
 body #gameDialog.desk-poker .desk-moves{display:flex;gap:6px;margin-top:8px;align-items:end;justify-content:stretch;width:100%}
 body #gameDialog.desk-poker .desk-moves>label{flex:1 0 100%}
 body #gameDialog.desk-poker .desk-moves :is(input,select){min-height:44px;width:100%;max-width:none}
 body #gameDialog.desk-poker .desk-moves button{flex:1 1 24%;min-width:0;min-height:48px;font-size:17px;padding:8px 5px}
 body #gameDialog.desk-poker .desk-moves button[data-room-action=start-game]{min-width:0;flex-basis:62%;font-size:20px}
 body #gameDialog.desk-poker .desk-moves button[data-room-action=pause-save]{flex-basis:100%;min-height:42px;font-size:16px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .room-layout,
 body.public-card-room[data-isn-room] #gameDialog.poker-fit:has(.seat-speech) .room-layout{grid-template-rows:minmax(0,1fr) 220px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>strong{font-size:22px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>span{font-size:16px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit :is(.turn-prompt-actions,.poker-footer-controls) button{min-height:46px;font-size:16px;padding:7px 9px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-wager input{height:46px;font-size:19px;max-width:85px}
}
@media(max-height:500px){
 body #gameDialog.desk-poker .desk-dock{padding:5px 8px;gap:6px;min-height:0;flex-wrap:nowrap}
 body #gameDialog.desk-poker .desk-situation{flex:1 1 24%}
 body #gameDialog.desk-poker .desk-situation>strong{font-size:18px;margin-bottom:3px}
 body #gameDialog.desk-poker .desk-next-step{font-size:14px;line-height:1.15}
 body #gameDialog.desk-poker .desk-situation #roomStatus{display:none}
 body #gameDialog.desk-poker .desk-moves{flex:0 1 69%;gap:4px}
 body #gameDialog.desk-poker .desk-moves label{font-size:10px;flex:0 0 76px}
 body #gameDialog.desk-poker .desk-moves :is(button,input,select){min-height:40px;min-width:0;padding:6px 8px;font-size:16px}
 body #gameDialog.desk-poker .desk-moves input{width:76px;max-width:76px}
 body #gameDialog.desk-poker .desk-moves button[data-room-action=start-game]{min-width:150px;font-size:18px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .room-layout,
 body.public-card-room[data-isn-room] #gameDialog.poker-fit:has(.seat-speech) .room-layout{grid-template-rows:minmax(0,1fr) 126px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>strong{font-size:18px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-copy>span{font-size:14px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit :is(.turn-prompt-actions,.poker-footer-controls) button{min-height:38px;font-size:16px;padding:5px 10px}
 body.public-card-room[data-isn-room] #gameDialog.poker-fit .turn-prompt-wager input{height:38px;font-size:18px}
}

@media(max-width:650px) and (min-height:501px){body.public-card-room[data-isn-room] #gameDialog.poker-fit:has(.seat-speech) .poker-footer-controls button{min-height:46px}}

/* Live poker positions and stack totals — shared across public, VIP and private. */
#gameDialog.desk-poker .poker-position{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
#gameDialog.desk-poker .poker-position:empty{display:none}
#gameDialog.desk-poker .poker-position b{font:700 clamp(10px,1.5cqh,16px)/1.2 Arial,sans-serif;padding:4px 7px;border:1px solid #fff0bc;border-radius:12px;background:#edca74;color:#211a0b}
#gameDialog.desk-poker .opponent-seat>.poker-position{position:absolute;top:26%;left:0;transform:none;z-index:5}
#gameDialog.desk-poker .opponent-seat:has(.poker-position b)>.seat-chip{display:none}
body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack{display:block;flex:none;margin:2px 0 0;padding:2px 7px;background:#102a20f5;border:1px solid #c5a45e;border-radius:4px;color:#f5dfad;font:12px/1.1 Arial,sans-serif;white-space:nowrap}
body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack b{font-size:clamp(15px,2.7cqh,21px);color:#fff3ce}
#gameDialog.desk-poker .seat-last-action{font:600 clamp(9px,1.6cqh,13px)/1.1 Arial,sans-serif;color:#fff1c6;text-shadow:0 1px 2px #000;margin-top:2px;white-space:nowrap}
#gameDialog.desk-poker .your-chip-total{font:700 clamp(13px,2.2cqh,21px)/1.2 Arial,sans-serif;color:#fff0bc;white-space:nowrap}
body[data-isn-room] #gameDialog.desk-poker .poker-balance{font-size:clamp(13px,1.8cqh,18px);font-weight:700}
body[data-isn-room] #gameDialog.desk-poker .club-player-badge{gap:8px;border:1px solid #b89850;border-radius:5px;padding:4px 8px}
@media(max-width:650px){
 #gameDialog.desk-poker .poker-position b{font-size:9px;padding:2px 3px}
 body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack{font-size:8px;padding:2px 3px}
 body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack b{font-size:12px}
 #gameDialog.desk-poker .seat-last-action{font-size:8px;white-space:normal;text-align:center}
 body[data-isn-room] #gameDialog.desk-poker .club-player-badge{gap:4px;padding:2px 4px;max-width:96%;flex-wrap:wrap}
}
@media(max-height:400px){
 body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack{font-size:8px;padding:1px 3px}
 body[data-isn-room] #gameDialog.desk-poker .opponent-seat>.seat-stack b{font-size:11px}
 #gameDialog.desk-poker .seat-last-action{font-size:8px}
 #gameDialog.desk-poker .poker-position b{font-size:9px;padding:1px 3px}
}

/* Reserve the labels below the portraits instead of shrinking the people. */
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .opponent-seats{height:calc(31% + 38px)}
@media(max-width:650px){
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .opponent-seats{height:calc(33% + 22px);padding-top:26px!important}
 #gameDialog.desk-poker .opponent-seat>.poker-position{top:3px;left:0}
 body[data-isn-room] #gameDialog.desk-poker .seat-last-action{display:none}
}
@media(max-height:400px) and (min-width:651px){
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .opponent-seats{height:calc(31% + 20px);padding-top:16px!important}
 body[data-isn-room] #gameDialog.desk-poker .seat-last-action{display:none}
}

@media(max-width:650px){
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .table-center{top:46%}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .desk-next-step{display:none}
 body[data-isn-room] #gameDialog.desk-fixed.desk-poker .desk-situation #roomStatus{font-size:14px}
}

body[data-isn-room] #gameDialog.desk-fixed.desk-poker .seated-controls{top:auto;bottom:1%;right:1%;max-width:40%}
body[data-isn-room] #gameDialog.desk-fixed.desk-poker .seated-controls .table-options-body{top:auto;bottom:100%;max-height:65dvh;overflow:auto}
@media(max-height:400px) and (min-width:651px){body[data-isn-room] #gameDialog.desk-fixed.desk-poker .room-layout .table-center{top:46%}}

body.public-card-room[data-isn-room] #gameDialog.poker-fit .opponent-seats.isn-seated-group{height:calc(37% + 14px)}
body.public-card-room[data-isn-room] #gameDialog.poker-fit .poker-balance{font-size:15px;font-weight:700}
@media(max-width:650px){body.public-card-room[data-isn-room] #gameDialog.poker-fit .poker-balance{font-size:12px}}
