.button{text-decoration:none}.table-setup-options{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:24px 0}.table-setup-options label{display:grid;gap:9px;text-align:left;font-size:13px;color:var(--muted)}select{font:inherit;background:#1b3028;color:var(--ink);padding:12px 40px 12px 16px;border:1px solid #a6d1b366;border-radius:9px;min-width:240px}#table-setup-error{color:#ee9999}#table-setup-note{max-width:560px;margin:15px auto}.page-header{flex-wrap:wrap}#table-options{margin-left:auto}.game-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:32px}.play-area{min-width:0}.table-sidebar{padding-top:80px}.table-heading{flex-wrap:wrap}
/* Seats follow the same clockwise order as the betting, with you at six o'clock. */
.poker-table{position:relative;display:block;width:calc(100% - 64px);max-width:840px;height:auto;min-height:0;aspect-ratio:1;margin:52px auto 76px;padding:0;border-radius:50%;overflow:visible;isolation:isolate;background:radial-gradient(circle at 45% 40%,#2e684a,#20513b 57%,#173f2d);box-shadow:0 28px 55px #0006,inset 0 0 0 8px #4d3d2a,inset 0 0 0 10px #b8a16b80,inset 0 0 0 18px #192c21,inset 0 0 0 20px #b8a16b38,inset 0 0 40px 22px #0005}.poker-table .table-grain{inset:20px;border-radius:50%}.poker-table .table-rail{inset:25px;border-radius:50%;border:1px solid #d7c58d39}.table-opponents{position:absolute;inset:0;display:block;width:100%;pointer-events:none;z-index:2}.opponent-mini{position:absolute;transform:translate(-50%,-50%);width:19%;max-width:158px;min-width:0;padding:10px;border-radius:16px;background:linear-gradient(145deg,#172b25f5,#0c1c18f5);border:1px solid #8ea79152;box-shadow:0 6px 14px #0005;text-align:left;pointer-events:auto;transition:border-color .2s,opacity .2s,box-shadow .2s}.opponent-mini::before{content:"";position:absolute;inset:-5px;border:3px solid #23352cc9;border-radius:21px;z-index:-1}.opponent-mini.is-active{border-color:var(--gold);box-shadow:0 0 0 2px #dbbc7b38,0 7px 18px #0006}.opponent-mini.is-folded{opacity:.65}.opponent-mini.is-out{opacity:.38}.opponent-mini h3{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 7px}.mini-info{display:flex;align-items:center;justify-content:space-between;gap:5px}.mini-cards{display:flex;gap:3px}.mini-cards .card{width:30px;height:43px;flex-shrink:0}.mini-cards .corner{font-size:11px;top:2px;left:3px}.mini-cards .corner em{font-size:8px}.mini-cards .bottom{display:none}.mini-cards .pip{font-size:21px}.mini-cards .back-medallion{width:20px;height:20px;font-size:12px}.mini-stack{font-size:12px;color:#f3e4bc}.mini-note{font-size:9px;color:var(--muted);min-height:22px;line-height:1.25;margin:7px 0 0}.mini-chips{height:23px;margin-top:3px;overflow:hidden;display:flex;align-items:flex-end;gap:2px}.mini-chips .chip-pile{transform:scale(.75);transform-origin:bottom left;margin-right:-4px}
.poker-table .board-zone{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:58%;margin:0;gap:14px;z-index:1}.board-zone .community-cards{width:100%;gap:5px}.board-zone .community-cards .card{width:calc((100% - 20px)/5);height:auto;aspect-ratio:5/7;flex:0 0 calc((100% - 20px)/5);max-width:65px}.board-zone .community-cards .pip{font-size:clamp(18px,2.5vw,32px)}.board-zone .street-progress{gap:4px;flex-wrap:wrap;justify-content:center}.board-zone .street-progress span{font-size:8px}.board-zone .pot-display{white-space:nowrap;background:#112f22ce;border:1px solid #b7c78b2b;padding:9px 16px;border-radius:30px;box-shadow:0 3px 8px #0002}.board-zone .pot-display strong{font-size:22px}
.poker-table .player-seat{position:absolute;left:50%;top:93%;transform:translate(-50%,-50%);display:flex;width:max-content;max-width:44%;align-items:center;gap:12px;margin:0;padding:12px 16px;border:1px solid #98b59a66;border-radius:20px;background:linear-gradient(145deg,#183126f5,#0d2019fa);box-shadow:0 9px 24px #0006;z-index:3}.player-seat .player-cards{gap:5px}.player-seat .player-cards .card{width:48px;height:68px}.player-seat .player-cards .pip{font-size:27px}.player-seat .avatar{display:none}.player-seat .seat-info{gap:0}.player-seat .player-name{font-size:11px}.player-seat .stack strong{font-size:14px}.player-seat .stack>span:last-child{display:none}.player-seat .player-note{font-size:9px}.player-seat .chip-stacks{height:25px;min-width:55px}.player-seat .corner{font-size:14px}.player-seat .corner em{font-size:10px}.action-panel{padding-top:5px}#table-left-message{max-width:500px;margin:auto}#match-result-detail{white-space:pre-line}#premium-access[hidden]{display:none!important}
@media(max-width:1100px){.game-layout{grid-template-columns:1fr}.table-sidebar{display:none}.app{padding:20px}.poker-table{max-width:760px}}
@media(max-width:600px){.app{padding:16px 10px}.page-header{margin-bottom:16px}.poker-table{width:calc(100% - 30px);margin:44px auto 66px;box-shadow:0 20px 35px #0005,inset 0 0 0 5px #4d3d2a,inset 0 0 0 7px #b8a16b80,inset 0 0 0 13px #192c21,inset 0 0 25px 16px #0004}.poker-table .table-rail{inset:17px}.poker-table .table-grain{inset:14px}.opponent-mini{width:19%;padding:6px 4px;border-radius:12px;text-align:center}.opponent-mini::before{inset:-3px;border-width:2px;border-radius:15px}.opponent-mini h3{font-size:10px;margin:0 0 4px}.mini-info{flex-direction:column;gap:3px}.mini-cards{gap:2px}.mini-cards .card{width:22px;height:31px}.mini-cards .corner{font-size:8px;left:2px;top:1px}.mini-cards .corner em{font-size:6px}.mini-cards .pip{font-size:15px}.mini-cards .back-medallion{width:14px;height:14px;font-size:9px}.mini-stack{font-size:10px}.mini-note{font-size:8px;min-height:19px;margin:4px 0 0}.mini-chips{display:none}.poker-table .board-zone{width:58%;gap:8px}.board-zone .community-cards{gap:3px}.board-zone .community-cards .card{width:calc((100% - 12px)/5);flex-basis:calc((100% - 12px)/5)}.board-zone .community-cards .corner{font-size:10px;left:3px;top:3px}.board-zone .community-cards .corner em{font-size:7px}.board-zone .community-cards .pip{font-size:18px}.board-zone .empty-label{font-size:6px}.board-zone .pot-display{font-size:10px;padding:6px 10px}.board-zone .pot-display strong{font-size:16px}.board-zone .street-progress span{font-size:6px}.board-zone .street-progress i{width:5px}.board-zone .street-progress{gap:3px}.poker-table .player-seat{width:112px;max-width:36%;padding:7px 8px;flex-direction:column;gap:5px;text-align:center;border-radius:14px}.player-seat .player-cards .card{width:34px;height:48px}.player-seat .player-cards .pip{font-size:21px}.player-seat .corner{font-size:10px;left:3px;top:3px}.player-seat .corner em{font-size:7px}.player-seat .player-name,.player-seat .stack{justify-content:center}.player-seat .player-name{font-size:10px;margin-bottom:2px}.player-seat .stack strong{font-size:12px}.player-seat .player-note{font-size:8px;margin-top:3px;min-height:9px}.player-seat .chip-stacks{display:none}.table-heading>div{gap:6px}.table-heading>div:last-child{justify-content:flex-start}.practice-label{display:none}.table-left{padding:40px 12px}#table-options{gap:6px;justify-content:center;margin:auto}#table-options .button{padding:9px;font-size:11px}.table-setup-options label,.table-setup-options select{width:100%}.table-setup-options{gap:15px}.table-setup-options select{min-width:0}.action-buttons{flex-wrap:wrap}.action{min-width:0}}
@media(max-width:390px){.opponent-mini{width:20%;padding:5px 3px}.opponent-mini h3{font-size:9px}.mini-cards .card{width:18px;height:26px}.mini-cards .back-medallion{width:12px;height:12px;font-size:8px}.mini-cards .corner{font-size:7px}.mini-cards .pip{font-size:12px}.mini-note{font-size:7px}.mini-stack{font-size:9px}.poker-table .player-seat{padding:6px}.board-zone .street-progress{display:none}}
/* Keep the whole game inside the available browser viewport. */
body:has(#table-play:not([hidden])){overflow:hidden;min-height:0}
.app:has(#table-play:not([hidden])){height:100dvh;max-width:1680px;padding:12px 24px;display:flex;flex-direction:column;min-height:0}
.app:has(#table-play:not([hidden])) .page-header{flex:none;gap:12px;margin-bottom:6px}
.app:has(#table-play:not([hidden])) .brand{gap:10px}
.app:has(#table-play:not([hidden])) .brand-icon{width:32px;height:38px;font-size:12px;padding:5px}
.app:has(#table-play:not([hidden])) h1{font-size:23px;letter-spacing:-1px}
.app:has(#table-play:not([hidden])) .brand .eyebrow{font-size:8px;margin-bottom:3px}
.app:has(#table-play:not([hidden])) #table-options{flex-wrap:wrap;gap:6px}
.app:has(#table-play:not([hidden])) #table-options .button{min-height:32px;padding:7px 10px;font-size:11px}
.app:has(#table-play:not([hidden])) .practice-label{display:none}
.app:has(#table-play:not([hidden])) .table-heading{flex:none;padding:7px 0;margin:0;font-size:10px;gap:8px}
.app:has(#table-play:not([hidden]))>footer{display:none}
.app:has(#table-play:not([hidden])) .game-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:minmax(0,1fr);gap:24px}
.app:has(#table-play:not([hidden])) .play-area{height:100%;min-height:0;min-width:0}
.table-stage{height:100%;width:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.table-stage .poker-table{width:var(--fit-diameter,60dvh);height:var(--fit-diameter,60dvh);max-width:none;min-height:0;flex:none;margin:0;--fit-scale:1}
.app:has(#table-play:not([hidden])) .table-sidebar{display:flex;min-height:0;height:100%;padding:0;flex-direction:column;justify-content:center;gap:16px}
.app:has(#table-play:not([hidden])) .table-sidebar .hand-panel{padding-bottom:12px;border-bottom:1px solid var(--line)}
.app:has(#table-play:not([hidden])) .hand-panel h2{font-size:21px;margin:5px 0}
.app:has(#table-play:not([hidden])) .hand-panel .hand-meter{margin-top:10px}
.app:has(#table-play:not([hidden])) .action-panel{padding:0;margin:0;flex:none;min-width:0}
.app:has(#table-play:not([hidden])) .turn-heading{flex-wrap:wrap;gap:2px 8px;margin-bottom:8px}
.app:has(#table-play:not([hidden])) .turn-heading p{font-size:12px;line-height:1.4;margin:0}
.app:has(#table-play:not([hidden])) #table-action-error:empty{display:none}
.app:has(#table-play:not([hidden])) .decision-controls{gap:7px;padding:7px 8px;margin-bottom:10px;flex-wrap:wrap}
.app:has(#table-play:not([hidden])) .decision-controls>span{font-size:10px;min-width:72px}
.app:has(#table-play:not([hidden])) .decision-bar{min-width:40px}
.app:has(#table-play:not([hidden])) #time-bank{font-size:10px;padding:6px 8px;min-height:28px}
.app:has(#table-play:not([hidden])) .betting-controls{display:flex;flex-direction:column;gap:12px}
.app:has(#table-play:not([hidden])) .raise-controls{display:grid;grid-template-columns:1fr 85px;gap:7px 10px}
.app:has(#table-play:not([hidden])) .raise-controls>input[type=range],.app:has(#table-play:not([hidden])) .bet-big-blinds,.app:has(#table-play:not([hidden])) .bet-presets{grid-column:1/-1;grid-row:auto}
.app:has(#table-play:not([hidden])) .action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.app:has(#table-play:not([hidden])) .action{min-height:54px;font-size:12px;gap:4px;flex-direction:column}
.app:has(#table-play:not([hidden])) .hand-complete{padding:10px;max-height:100px;overflow:auto}
.table-stage .opponent-mini{padding:calc(9px * var(--fit-scale));border-radius:calc(16px * var(--fit-scale));max-width:none}
.table-stage .opponent-mini h3{font-size:clamp(8px,calc(12px * var(--fit-scale)),12px);margin-bottom:calc(6px * var(--fit-scale))}
.table-stage .mini-info{gap:calc(5px * var(--fit-scale))}
.table-stage .mini-cards{gap:calc(3px * var(--fit-scale))}
.table-stage .mini-cards .card{width:calc(30px * var(--fit-scale));height:calc(43px * var(--fit-scale))}
.table-stage .mini-cards .corner{font-size:clamp(7px,calc(11px * var(--fit-scale)),11px);left:2px;top:2px}
.table-stage .mini-cards .corner em{font-size:clamp(5px,calc(8px * var(--fit-scale)),8px)}
.table-stage .mini-cards .pip{font-size:calc(21px * var(--fit-scale))}
.table-stage .mini-cards .back-medallion{width:calc(20px * var(--fit-scale));height:calc(20px * var(--fit-scale));font-size:calc(12px * var(--fit-scale))}
.table-stage .mini-stack{font-size:clamp(8px,calc(12px * var(--fit-scale)),12px)}
.table-stage .mini-note{font-size:clamp(7px,calc(9px * var(--fit-scale)),9px);line-height:1.2;min-height:calc(20px * var(--fit-scale));margin-top:calc(5px * var(--fit-scale))}
.table-stage .mini-chips{height:calc(23px * var(--fit-scale));margin-top:2px}
.table-stage .poker-table[data-compact="true"] .mini-info{flex-direction:column;gap:2px}
.table-stage .poker-table[data-compact="true"] .mini-chips{display:none}
.table-stage .poker-table .player-seat{padding:calc(10px * var(--fit-scale));gap:calc(10px * var(--fit-scale));border-radius:14px}
.table-stage .player-seat .player-cards .card{width:calc(48px * var(--fit-scale));height:calc(68px * var(--fit-scale))}
.table-stage .player-seat .corner{font-size:clamp(8px,calc(14px * var(--fit-scale)),14px);left:3px;top:3px}
.table-stage .player-seat .corner em{font-size:clamp(6px,calc(10px * var(--fit-scale)),10px)}
.table-stage .player-seat .player-cards .pip{font-size:calc(27px * var(--fit-scale))}
.table-stage .player-seat .player-name{font-size:clamp(8px,calc(11px * var(--fit-scale)),11px)}
.table-stage .player-seat .stack strong{font-size:clamp(10px,calc(14px * var(--fit-scale)),14px)}
.table-stage .player-seat .player-note{font-size:clamp(7px,calc(9px * var(--fit-scale)),9px);min-height:0;margin-top:3px}
.table-stage .poker-table[data-compact="true"] .player-seat{width:calc(145px * var(--fit-scale));max-width:38%;flex-direction:column;gap:4px;text-align:center}
.table-stage .poker-table[data-compact="true"] .player-seat .player-name,.table-stage .poker-table[data-compact="true"] .player-seat .stack{justify-content:center}
.table-stage .poker-table[data-compact="true"] .player-seat .chip-stacks{display:none}
.table-stage .board-zone .pot-display{padding:calc(8px * var(--fit-scale)) calc(14px * var(--fit-scale));font-size:clamp(9px,calc(12px * var(--fit-scale)),12px)}
.table-stage .board-zone .pot-display strong{font-size:clamp(14px,calc(22px * var(--fit-scale)),22px)}
.table-stage .board-zone{gap:calc(12px * var(--fit-scale))}
@media(max-width:900px) and (min-height:520px){
 .app:has(#table-play:not([hidden])){padding:8px 12px}
 .app:has(#table-play:not([hidden])) .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}
 .app:has(#table-play:not([hidden])) .table-sidebar{display:block;height:auto}
 .app:has(#table-play:not([hidden])) .table-sidebar .hand-panel{display:none}
 .app:has(#table-play:not([hidden])) .action-panel{min-height:136px}
 .app:has(#table-play:not([hidden])) .betting-controls{display:grid;grid-template-columns:minmax(155px,.8fr) 1.4fr;gap:12px}
 .app:has(#table-play:not([hidden])) .action-buttons{grid-template-columns:repeat(4,1fr);gap:5px}
 .app:has(#table-play:not([hidden])) .action{min-height:49px;font-size:11px}
 .app:has(#table-play:not([hidden])) .raise-controls{grid-template-columns:1fr 75px;gap:4px 8px}
 .app:has(#table-play:not([hidden])) .bet-presets{gap:4px}
 .app:has(#table-play:not([hidden])) .bet-presets button{padding:4px 7px;font-size:9px}
 .app:has(#table-play:not([hidden])) .decision-controls{margin-bottom:6px;padding:5px 8px}
}
@media(max-width:520px) and (min-height:520px){
 .app:has(#table-play:not([hidden])){padding:6px 8px}
 .app:has(#table-play:not([hidden])) .page-header{gap:5px;margin-bottom:4px}
 .app:has(#table-play:not([hidden])) h1{font-size:18px}
 .app:has(#table-play:not([hidden])) .brand-icon{display:none}
 .app:has(#table-play:not([hidden])) #table-options{gap:4px}
 .app:has(#table-play:not([hidden])) #table-options .button{font-size:9px;min-height:27px;padding:6px 7px}
 .app:has(#table-play:not([hidden])) .table-heading{font-size:9px;padding:5px 0}
 .app:has(#table-play:not([hidden])) .blind-next{display:none}
 .app:has(#table-play:not([hidden])) .action-panel{min-height:162px}
 .app:has(#table-play:not([hidden])) .betting-controls{grid-template-columns:1fr;gap:5px}
 .app:has(#table-play:not([hidden])) .raise-controls{grid-template-columns:40px 65px 1fr auto;gap:4px 6px;align-items:center}
 .app:has(#table-play:not([hidden])) .raise-controls>input[type=range]{grid-column:auto;grid-row:1;min-width:40px}
 .app:has(#table-play:not([hidden])) .bet-presets{grid-column:auto;grid-row:1;gap:3px}
 .app:has(#table-play:not([hidden])) .bet-big-blinds{grid-row:2;font-size:9px;line-height:1.2}
 .app:has(#table-play:not([hidden])) .action{min-height:42px;font-size:11px}
 .app:has(#table-play:not([hidden])) .turn-heading{margin-bottom:5px}
}
@media(max-height:519px){
 .app:has(#table-play:not([hidden])){padding:5px 14px}
 .app:has(#table-play:not([hidden])) .game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}
 .app:has(#table-play:not([hidden])) .page-header{margin-bottom:2px}
 .app:has(#table-play:not([hidden])) h1{font-size:18px}
 .app:has(#table-play:not([hidden])) .brand-icon,.app:has(#table-play:not([hidden])) .brand .eyebrow{display:none}
 .app:has(#table-play:not([hidden])) #table-options .button{font-size:9px;padding:5px 7px;min-height:25px}
 .app:has(#table-play:not([hidden])) .table-heading{padding:4px 0;font-size:9px}
 .app:has(#table-play:not([hidden])) .hand-panel{display:none!important}
 .app:has(#table-play:not([hidden])) .table-sidebar{gap:0}
 .app:has(#table-play:not([hidden])) .betting-controls{gap:6px}
 .app:has(#table-play:not([hidden])) .action-buttons{gap:5px}
 .app:has(#table-play:not([hidden])) .action{min-height:39px;font-size:10px;gap:2px}
}
