/* One final, scoped table layer. Cards and betting never depend on the room art. */
.seat .nameplate.has-portrait{position:relative;padding-left:34px}
.seat-portrait{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:28px;height:28px;object-fit:cover;border-radius:50%;border:1px solid #dfc58e}
.rival-portrait{width:64px;height:64px;flex:none;object-fit:cover;border-radius:50%;border:2px solid var(--rival)}
.opponent img.avatar{object-fit:cover;border-radius:50%}
@media(min-width:601px) and (max-height:650px){
 body[data-screen=table] #table[data-phase=ready] .board-area .welcome{max-width:155px}
 body[data-screen=table] #table[data-phase=ready] .board-area .welcome h2{font-size:20px}
 body[data-screen=table] #table[data-phase=ready] .board-area .welcome p{display:none}
}
body[data-screen=table] #table[data-phase=ready] .hole{visibility:hidden}
body[data-screen=table] #table[data-phase=ready] .room-playfield .board-area{top:32%;transform:translateX(-50%)}
body[data-screen=table] #table[data-phase=ready] .welcome-stars{display:none}
body[data-screen=table] #table[data-phase=ready] .welcome{width:max-content;max-width:210px;margin-inline:auto}
body[data-screen=table] #table[data-phase=ready] .welcome h2{font-size:26px;line-height:1.05;margin:0 0 10px}
body[data-screen=table] #table[data-phase=ready] .welcome p{font-size:12px;margin:7px auto 0;max-width:220px;line-height:1.35}
body[data-screen=table] #table[data-phase=ready] .welcome button{min-height:44px;padding:8px 18px;font-size:16px}
@media(max-width:600px){
 body[data-screen=table] .seat .nameplate.has-portrait{padding-left:23px}
 body[data-screen=table] .seat-portrait{width:20px;height:20px;left:1px}
 body[data-screen=table] .nameplate.has-portrait .name{font-size:10px;white-space:nowrap}
 body[data-screen=table] .nameplate.has-portrait strong{font-size:11px}
 body[data-screen=table] #table[data-phase=ready] .room-playfield .board-area{top:30%}
 body[data-screen=table] #table[data-phase=ready] .welcome h2{font-size:22px}
 body[data-screen=table] #table[data-phase=ready] .welcome p{max-width:170px}
}
.card.playing-card{padding:0;background:#fffdf5;color:#172b38;overflow:hidden;border:1px solid #d2d7d3}
.card.playing-card.red{color:#b02132}
.card.playing-card::after{display:none!important;content:none}
.playing-card .card-index{position:absolute;left:3px;top:3px;font:bold 14px/.9 Arial,sans-serif;text-align:center;letter-spacing:-1px;z-index:1}
.playing-card .card-index i{display:block;font:normal 12px/1 Georgia,serif;letter-spacing:0}
.playing-card .card-index.bottom{top:auto;left:auto;right:3px;bottom:3px;transform:rotate(180deg)}
.playing-card .pips{position:absolute;inset:11px 10px}
.playing-card .pip{position:absolute;font:normal 9px/1 Georgia,serif;transform:translate(-50%,-50%);font-style:normal}
.playing-card .pip.inverted{transform:translate(-50%,-50%) rotate(180deg)}
.playing-card .court{position:absolute;inset:12px 12px;border:1px solid currentColor;background:linear-gradient(135deg,#e6bd5940,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center}
.playing-card .court b{font:normal 12px/.9 Georgia,serif}
.playing-card .court i{font:normal 8px/1 Georgia,serif}
.playing-card .court .inverted{transform:rotate(180deg)}
.playing-card.mini .card-index{font-size:10px;left:2px;top:2px}
.playing-card.mini .card-index i{font-size:9px}
.playing-card.mini .card-index.bottom{right:2px;bottom:2px;top:auto;left:auto}
.playing-card.mini .pips{inset:7px 7px}
.playing-card.mini .pip{font-size:5px}
.playing-card.mini .court{inset:8px}
.playing-card.mini .court b{font-size:8px}
.playing-card.mini .court i{font-size:5px}
body[data-screen=table]{background-image:linear-gradient(#071020bb,#071020d9),var(--room-art);background-size:cover;background-position:center;background-attachment:fixed}
body[data-screen=table] .header{background:#15243a;color:#f8f0dd}
body[data-screen=table] .header .icon-btn,body[data-screen=table] .header .brand{color:#f8f0dd}
body[data-screen=table] .stage{--scene-height:0px;background-image:linear-gradient(#08132522,#08132544),var(--room-art);background-size:cover;background-position:center;overflow:hidden}
body[data-screen=table] .stage::before{display:none}
body[data-screen=table] .room-playfield{inset:0}
body[data-screen=table] .felt{background-color:#153352e8}
body[data-screen=table] .seat .hole{margin-bottom:4px}
body[data-screen=table] .seat-0 .card{transform:none}
body[data-screen=table] .seat.folded .hole{visibility:visible;opacity:1}
.folded-state{align-self:flex-end;font-size:10px;line-height:16px;padding:0 5px;color:#cbd3df;background:#17243b;border-radius:3px}
.seat-bet{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;min-height:20px;white-space:nowrap;color:#fff5d7;font-size:12px;line-height:18px;background:#081222ed;border:1px solid #cab67b70;border-radius:12px;padding:0 7px;z-index:4;font-variant-numeric:tabular-nums}
.bet-chips{position:relative;width:17px;height:17px;display:inline-block;flex:none}
.bet-chips i{position:absolute;width:16px;height:10px;border:2px dashed #fff2d5;border-radius:50%;background:#bd3a43;box-shadow:0 1px 1px #000;left:0;bottom:0}
.bet-chips i:nth-child(2){bottom:3px}.bet-chips i:nth-child(3){bottom:6px}
body[data-screen=table] .seat-action{display:none}
body[data-screen=table] .pot{width:max-content;max-width:100%;display:flex;justify-content:center;align-items:center;margin-inline:auto;gap:6px}
body[data-screen=table] .pot strong{margin-left:0}
body[data-screen=table] .pot .chip{margin-right:0}
body[data-screen=table] .community{width:max-content;margin-inline:auto}
.table-action{flex:none;min-height:28px;padding:5px 10px;background:#132339;color:#f4e2b1;border-top:1px solid #40516b;font-size:12px;line-height:18px}
.bet-step{min-width:48px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--raised);font-size:14px;font-weight:700;white-space:nowrap}
body[data-screen=table] .raise-options{padding-left:0;gap:6px}
body[data-screen=table] .raise-options input{touch-action:none;cursor:ew-resize;min-height:44px}
.fold-review{font-size:13px;line-height:1.5;padding:4px 8px;border:1px solid var(--line);border-radius:5px}
.fold-review summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--text);font-weight:600}
.fold-review summary::before{content:"+";margin-right:8px}.fold-review[open] summary::before{content:"−"}
.fold-review p{color:var(--muted);padding:0 0 8px;max-width:720px}
body[data-screen=table] #table .room-playfield .seat-3{top:14%}
body[data-screen=table] #table .room-playfield .seat-2,body[data-screen=table] #table .room-playfield .seat-4{top:27%}
@media(min-width:601px) and (min-height:651px){
 body[data-screen=table] .stage{min-height:300px}
 body[data-screen=table] .room-playfield .seat-3{top:14%}
 body[data-screen=table] .room-playfield .seat-2,body[data-screen=table] .room-playfield .seat-4{top:27%}
 body[data-screen=table] .room-playfield .board-area{top:38%}
 body[data-screen=table] .room-playfield .seat-0{top:82%}
 body[data-screen=table] .seat-0 .hole{height:80px}
 body[data-screen=table] .seat-0 .card{width:55px;height:78px}
 body[data-screen=table] .community .card{width:48px;height:68px}
}
@media(max-width:600px){
 body[data-screen=table] main{padding:0 4px}
 body[data-screen=table] .event-strip{display:none}
 body[data-screen=table] .game{height:calc(100svh - 48px);min-height:516px}
 body[data-screen=table] .game-toolbar{height:36px;min-height:36px;padding-inline:8px}
 body[data-screen=table] .table-rivals{display:none}
 body[data-screen=table] .game-toolbar>div{gap:8px}
 body[data-screen=table] #table-mode{color:var(--text)}
 body[data-screen=table] .position-strip{height:28px;min-height:28px}
 body[data-screen=table] .stage{min-height:218px}
 body[data-screen=table] .action-panel{min-height:160px;padding:4px 6px;gap:0}
 body[data-screen=table] .turn-copy{display:none}
 body[data-screen=table] .actions button{min-height:48px}
 body[data-screen=table] .raise-options{display:grid;grid-template-columns:48px minmax(40px,1fr) 48px;gap:2px 6px;padding-top:2px}
 body[data-screen=table] .raise-options input{width:100%;min-width:40px;margin:0}
 body[data-screen=table] .raise-options label{display:none}
 body[data-screen=table] .presets{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
 body[data-screen=table] .presets button{width:100%}
 body[data-screen=table] .table-action{height:28px;min-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body[data-screen=table] .room-playfield .seat{width:68px;margin:0}
 body[data-screen=table] .room-playfield .seat-3{top:12%;left:50%}
 body[data-screen=table] .room-playfield .seat-2{top:25%;left:12%}
 body[data-screen=table] .room-playfield .seat-4{top:25%;left:88%}
 body[data-screen=table] .room-playfield .seat-1{top:72%;left:12%}
 body[data-screen=table] .room-playfield .seat-5{top:72%;left:88%}
 body[data-screen=table] .seat:not(.seat-0) .hole{height:24px;margin:0 0 2px}
 body[data-screen=table] .seat:not(.seat-0) .card{width:22px;height:28px}
 body[data-screen=table] .nameplate{min-height:34px;padding:2px}
 body[data-screen=table] .nameplate .name,body[data-screen=table] .nameplate strong{font-size:12px;line-height:14px}
 body[data-screen=table] .room-playfield .seat-0{left:50%;top:auto;bottom:7px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;width:174px}
 body[data-screen=table] .room-playfield .seat-0 .hole{height:62px;margin:0;gap:4px}
 body[data-screen=table] .room-playfield .seat-0 .card{width:44px;height:62px}
 body[data-screen=table] .seat-0 .nameplate{width:76px;flex:none;transform:translateY(-10px)}
 body[data-screen=table] .seat-0 .seat-bet{left:auto;right:0;top:auto;bottom:0;transform:none}
 body[data-screen=table] #table .room-playfield .board-area{top:39%;width:100%;transform:translateX(-50%)}
 body[data-screen=table] .community{gap:4px}
 body[data-screen=table] .room-playfield .community .card{width:39px;height:56px}
 body[data-screen=table] .pot{margin:0 auto 5px;min-height:22px;width:142px;display:flex;justify-content:center;gap:6px}
 body[data-screen=table] .pot-label{white-space:nowrap;font-size:11px}
 body[data-screen=table] .pot strong{font-size:20px}
 body[data-screen=table] .seat-bet{font-size:12px}
 body[data-screen=table] .seat-0 .dealer{left:-43px;right:auto;top:20px}
 body[data-screen=table] #table .seat:not(.seat-0) .dealer{width:44px;height:44px;min-height:44px;top:0;right:-38px;left:auto;font-size:12px;background:transparent;border:0;box-shadow:none;isolation:isolate}
 body[data-screen=table] #table .seat-4 .dealer,body[data-screen=table] #table .seat-5 .dealer{left:-38px;right:auto}
 body[data-screen=table] .seat:not(.seat-0) .dealer small{display:none}
 body[data-screen=table] .seat:not(.seat-0) .dealer span{font-size:12px}
 body[data-screen=table] #table .seat:not(.seat-0) .dealer::before{content:"";position:absolute;inset:8px;border:2px solid #a28e5b;border-radius:50%;background:#fff5d7;z-index:-1}
 body[data-screen=table] .game-foot button{font-size:12px}
 body[data-screen=table] .game:has(.hand-story:not([hidden])) .stage{height:340px}
}
@media(max-width:600px) and (max-height:700px){
 body[data-screen=table] .seat:not(.seat-0) .hole{display:none}
 body[data-screen=table] .room-playfield .seat-3{top:13%}
 body[data-screen=table] #table .room-playfield .seat-3{top:13%}
 body[data-screen=table] #table .room-playfield .board-area{top:35%}
 body[data-screen=table] .room-playfield .community .card{width:36px;height:50px}
 body[data-screen=table] .room-playfield .seat-0{width:164px;gap:4px}
 body[data-screen=table] .room-playfield .seat-0 .hole{height:54px}
 body[data-screen=table] .room-playfield .seat-0 .card{width:40px;height:54px}
 body[data-screen=table] .playing-card .pips{inset:9px 10px}
 body[data-screen=table] .playing-card .pip{font-size:8px}
 body[data-screen=table] .playing-card.mini .pip{font-size:5px}
 body[data-screen=table] .playing-card .card-index{font-size:12px}
 body[data-screen=table] .playing-card .card-index i{font-size:10px}
 body[data-screen=table] .stage:is([data-phase=finished],[data-phase=revealing]) .seat:not(.seat-0) .hole{display:flex;height:34px}
 body[data-screen=table] .stage:is([data-phase=finished],[data-phase=revealing]) .seat:not(.seat-0) .card{width:26px;height:34px}
 body[data-screen=table] .stage:is([data-phase=finished],[data-phase=revealing]) .community .card{height:50px}
}
@media(min-width:601px) and (max-height:650px){
 body[data-screen=table] .event-strip{display:none}
 body[data-screen=table] .game{height:calc(100svh - 48px);min-height:278px;grid-template-rows:36px 28px minmax(132px,1fr) 28px 44px}
 body[data-screen=table] .game-toolbar{min-height:36px;height:36px}
 body[data-screen=table] .table-rivals{display:none}
 body[data-screen=table] .position-strip{min-height:28px;height:28px}
 body[data-screen=table] .stage{grid-row:3/6}
 body[data-screen=table] .table-action{grid-column:2;grid-row:4;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body[data-screen=table] .game-foot{grid-row:5}
 body[data-screen=table] .raise-options{display:grid;grid-template-columns:44px minmax(40px,1fr) 44px;gap:2px 4px}
 body[data-screen=table] .raise-options input{width:100%}
 body[data-screen=table] .presets{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}
 body[data-screen=table] .bet-step{min-width:44px}
 body[data-screen=table] .turn-copy{display:none}
 body[data-screen=table] #table .room-playfield .seat-3{top:10%}
 body[data-screen=table] #table .room-playfield .board-area{top:30%}
 body[data-screen=table] .room-playfield .seat-0{top:79%}
 body[data-screen=table] .seat-2 .seat-bet{left:38%}
 body[data-screen=table] .seat-4 .seat-bet{left:62%}
 body[data-screen=table] .seat-0 .seat-bet{left:calc(100% + 4px);top:auto;bottom:0;transform:none}
 body[data-screen=table] .community .card{width:35px;height:49px}
 body[data-screen=table] .seat-0 .card{width:36px;height:50px}
 body[data-screen=table] .seat-0 .hole{height:50px}
 body[data-screen=table] .playing-card .card-index{font-size:11px}
 body[data-screen=table] .playing-card .card-index i{font-size:9px}
 body[data-screen=table] .playing-card .pips{inset:8px 10px}
 body[data-screen=table] .playing-card .pip{font-size:8px}
 body[data-screen=table] .playing-card.mini .pip{font-size:5px}
}
@media(min-width:601px) and (min-height:651px) and (max-height:800px){
 body[data-screen=table] #table .room-playfield .board-area{top:32%;transform:translateX(-50%)}
}
@media(prefers-reduced-motion:no-preference){.seat-bet{animation:bet-arrive .25s ease-out}@keyframes bet-arrive{from{opacity:.3;margin-top:-7px}to{opacity:1;margin-top:0}}}
