/* v119: the active table and actions share one viewport; lobby keeps its layout. */
body.playing{height:100dvh;overflow:hidden}
body.playing .topbar{height:52px;padding:0 16px}
body.playing .preview-badge,body.playing .brand small,body.playing .chip-icon{display:none}
body.playing .brand{font-size:15px}body.playing .wallet{padding:4px 8px}
body.playing main{height:calc(100dvh - 52px);padding:0 12px 4px;max-width:1200px}
body.playing .page-footer,body.playing .sidebar{display:none}
body.playing #play-area{height:100%;display:flex;flex-direction:column}
body.playing .room-heading{height:42px;flex:none;padding:2px 0}
body.playing .room-heading .eyebrow{display:none}
body.playing .room-heading h1{font-size:19px;margin:0}
body.playing .room-heading .quiet{min-height:36px;padding:4px 12px}
body.playing .game-layout{display:block;flex:1;min-height:0}
body.playing .game-main{height:100%;display:flex;flex-direction:column}
body.playing .dealer-strip{height:44px;flex:none;padding:4px 12px 4px 60px}
body.playing .dealer-strip img{width:43px;height:43px;left:8px}
body.playing .dealer-strip strong{height:20px;font-size:17px}
body.playing .dealer-strip strong span{display:inline;font-size:6px;margin-left:8px}
body.playing .dealer-strip p{height:15px;margin:0;font-size:10px;line-height:15px}
/* Sofia sits behind the rail; her portrait stays separate from player seats. */
body.playing .dealer-strip{height:92px;padding:10px 12px;align-items:center;overflow:visible;background:radial-gradient(ellipse at 50% 100%,#476c6055,transparent 55%),linear-gradient(110deg,#172238,#30202e);border-bottom:5px solid #b28c54}
body.playing .dealer-strip img{left:50%;bottom:0;top:auto;transform:translateX(-50%);width:76px;height:92px;object-fit:cover;object-position:50% 0%;border-radius:48% 48% 0 0;mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
body.playing .dealer-strip>div:first-of-type{max-width:calc(50% - 66px)}
body.playing .dealer-strip strong span{display:block;margin:2px 0}
body.playing .dealer-strip p{height:auto;max-height:30px;overflow:hidden;line-height:13px}
body.playing .table-room{flex:1;height:auto;min-height:0;max-height:none}
body.playing .table-surface{inset:30px 22px;border-width:8px}
body.playing .seat{width:108px;height:114px;z-index:5}
body.playing .seat.hero{height:120px;top:81%!important}
body.playing .seat .avatar{width:30px;height:30px;font-size:17px;margin-bottom:2px}
body.playing .nameplate{height:43px;padding:2px 5px;gap:0}
body.playing .seat-name{font-size:10px;line-height:13px;height:13px}
body.playing .bot-label{height:9px;line-height:9px;font-size:6px}
body.playing .stack{height:15px;line-height:15px;margin:0;font-size:11px}
body.playing .hole-cards{height:26px;margin-top:3px}
body.playing .hole-cards .card{width:19px;height:26px;font-size:10px;padding:1px}
body.playing .hole-cards .card .suit{font-size:11px}
body.playing .hero .hole-cards{height:32px}
body.playing .hero .hole-cards .card{width:24px;height:32px;font-size:12px}
body.playing .seat-action{font-size:8px;margin-top:1px;height:10px;line-height:10px}
body.playing .markers{right:14px;top:8px}
body.playing .community{top:45%;gap:4px}
body.playing .community .card{width:31px;height:43px;font-size:14px}
body.playing .community .suit{font-size:17px}
body.playing .pot{top:38%}body.playing .pot:before{display:none}
body.playing .pot strong{font-size:20px;margin-top:1px}
body.playing .status{flex:none;height:24px;min-height:24px;padding:2px;font-size:11px}
body.playing .action-zone{flex:none;height:132px}
body.playing .controls{margin:0;padding:7px 10px}
body.playing .bet-tools{grid-template-columns:64px 1fr;gap:2px 10px}
body.playing .bet-tools output{font-size:15px;margin:0}
body.playing .bet-tools input{min-height:24px}
body.playing .presets{margin:0 0 5px;gap:5px}
body.playing .presets button{min-height:30px;font-size:11px}
body.playing .action-buttons button{min-height:42px;padding:6px;font-size:13px}
body.playing .hand-summary{max-height:132px}
body.playing .result{padding:6px 8px;max-height:64px;overflow:auto;margin:0}
body.playing .table-footer{height:22px;flex:none;padding:0;font-size:7px}
body.playing .table-footer button{min-height:22px;font-size:9px}
.poker-reaction-bubble{top:8px;left:50%;font-size:34px;background:#18223cf2;border:1px solid #e4c794;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;z-index:20}
.progress-line{display:flex;gap:8px;align-items:center;color:#e4c794;font-size:12px;margin:12px 0}.progress-line small{color:#b2b9cb}
/* Keep folded cards opaque: the rail must never bleed through a player's hand. */
body.playing .seat.folded{opacity:1}
body.playing .seat.folded .nameplate{filter:saturate(.35)}
body.playing .seat.folded .seat-action{color:#ffcfbc;font-weight:bold}
body.playing .seat.hero{top:auto!important;bottom:38px;transform:translateX(-50%);z-index:7}
body.playing #table-effects{z-index:9}
.dealer-hand{position:absolute;left:50%;top:0;width:72px;height:68px;transform:translateX(-50%);filter:drop-shadow(0 3px 4px #0008)}
.dealing-pending{visibility:hidden!important}
@media(max-width:640px){
 body.playing main{padding:0 5px max(3px,env(safe-area-inset-bottom))}
 body.playing .topbar{padding:0 8px}.playing .table-surface{inset:26px 9px}
 body.playing .seat{width:76px;height:108px}body.playing .seat.hero{height:116px}
 body.playing .markers{right:0;top:5px}body.playing .marker{height:14px;min-width:14px;font-size:6px}
 body.playing .community .card{width:26px;height:37px;font-size:13px}
 body.playing .seat-name{font-size:9px}body.playing .felt-brand{font-size:12px}
}
@media(max-height:620px){
 body.playing .dealer-strip{display:none}body.playing .topbar{height:42px}
 body.playing main{height:calc(100dvh - 42px)}body.playing .room-heading{height:32px}
 body.playing .seat{height:88px}body.playing .seat.hero{height:92px}
 body.playing .seat .avatar{width:22px;height:22px;font-size:13px}
 body.playing .nameplate{height:34px}.playing .bot-label{display:none}
 body.playing .seat-action{display:none}
}
@media(max-height:700px){body.playing .dealer-strip{display:flex;height:56px}body.playing .dealer-strip img{width:76px;height:56px}}

.empty-seat .hole-cards,.empty-seat .stack,.empty-seat .bot-label,.empty-seat .seat-action{visibility:hidden}.empty-seat{opacity:.45}body.playing [data-capacity="10"] .seat{width:88px} @media(max-width:640px){body.playing [data-capacity="10"] .seat{width:58px;height:86px}body.playing [data-capacity="10"] .seat-name{font-size:8px}body.playing [data-capacity="10"] .nameplate{padding:3px;height:36px}body.playing [data-capacity="10"] .hole-cards .card{width:19px;height:28px;font-size:10px}}
body.playing .dealer-strip{height:124px}
body.playing .dealer-strip img{height:124px;width:110px;object-fit:contain;object-position:center bottom;border-radius:0;mask-image:linear-gradient(#000 90%,transparent)}
@media(max-height:700px){body.playing .dealer-strip{height:82px}body.playing .dealer-strip img{height:82px;width:74px}}

/* Reserve a bottom row for the local player instead of stacking their
   portrait into the community-card row on narrow/short displays. */
body.playing .table-room{min-height:300px}
body.playing .community{top:52%;z-index:6}
body.playing .pot{top:calc(52% - 48px)}
body.playing .seat.hero,
body.playing [data-capacity="10"] .seat.hero{
 bottom:12px;width:230px;height:64px;display:grid;
 grid-template-columns:30px minmax(0,1fr) 56px;
 grid-template-rows:43px 14px;gap:3px 6px;align-items:center;
}
body.playing .hero .avatar{grid-column:1;grid-row:1;margin:0}
body.playing .hero .nameplate{grid-column:2;grid-row:1;width:100%;min-width:0}
body.playing .hero .hole-cards{grid-column:3;grid-row:1;margin:0;height:36px}
body.playing .hero .hole-cards .card{width:25px;height:36px;font-size:13px}
body.playing .hero .markers{right:auto;left:7px;top:43px}
body.playing .hero .seat-action{grid-column:2 / 4;grid-row:2;margin:0}
body.playing .table-surface{bottom:40px}
@media(max-width:640px){
 body.playing .dealer-strip{height:72px}
 body.playing .dealer-strip img{height:72px;width:66px}
 body.playing .community{gap:3px}
 body.playing .community .card{width:25px;height:36px}
 body.playing .top-actions{gap:5px}
 body.playing .brand{font-size:12px;letter-spacing:.5px;gap:4px}
 body.playing .brand-mark{font-size:22px}
 body.playing .wallet b{font-size:14px}
}
@media(max-height:650px){
 body.playing{height:auto;min-height:100dvh;overflow:auto}
 body.playing main{height:auto;min-height:calc(100dvh - 42px)}
 body.playing .dealer-strip{display:none}
 body.playing .table-room{height:300px;flex:none}
 body.playing .controls{position:static}
}
.reward-shortcut{border:1px solid #c8ab6370;background:#243d38;color:#f1d49a;border-radius:8px;min-height:36px;padding:4px 8px;font-size:11px;white-space:nowrap}
@media(max-width:640px){.reward-shortcut{font-size:9px;padding:3px 5px}.topbar .brand small{display:none}}
