/* Seat geometry is shared with dealing. Existing hand gesture styles are preserved. */
.phase5c .table-felt{position:relative;padding:6px!important}
.phase5c #players{position:relative;display:block;height:350px;margin:0;width:100%}
.phase5c #players>.player{position:absolute;left:var(--seat-x,50%);top:var(--seat-y,14%);transform:translate(-50%,-50%);width:140px;max-width:24%;min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);padding:5px;gap:5px;border-radius:14px;background:#103d38ed;z-index:2}
.phase5c #players .player-avatar{width:36px;height:36px}
.phase5c #players .player-details strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px}
.phase5c #players .player-details small{font-size:9px}
.phase5c #players .opponent-card-backs{display:none!important}
.phase5c #players .waiting-player{position:relative;top:100%;font-size:10px;margin:0}
.phase5c #players:has(.waiting-player){margin-bottom:50px}
.phase5c #room[data-phase=playing] #table{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:338px;min-height:0;padding:0;grid-template-columns:162px 162px;gap:5px 14px;z-index:3}
.phase5c #room[data-phase=playing] #table .pile-card{width:162px;min-height:150px;font-size:10px;padding:4px}
.phase5c #room[data-phase=playing] #table .pile-card .card-art{width:84px}
.phase5c #room[data-phase=playing] #table .game-action{min-height:38px;font-size:11px;padding:5px}
.phase5c #controls .ready-toggle[aria-pressed=false]{background:#177947;border-color:#8befad;color:white;box-shadow:0 2px 10px #0004}
.phase5c #controls .ready-toggle[aria-pressed=true]{background:#25483e;border-color:#9ebbae;color:white}
#status:not(:empty){position:sticky;top:5px;z-index:80;background:#173f35f5;border-radius:10px;padding:9px;font-size:13px}
.table-fx{position:fixed;inset:0;z-index:10020;pointer-events:none;perspective:800px;overflow:hidden}
.deal-card{position:absolute;width:46px;height:64px;border:2px solid #edcd82;border-radius:5px;background:repeating-linear-gradient(45deg,#103f32 0 5px,#245e46 5px 7px);box-shadow:0 8px 14px #001a1899;will-change:transform,opacity}
.winner-banner{position:absolute;left:50%;top:24%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:18px 25px;border:2px solid #edcd82;border-radius:20px;background:#104b38f5;color:#fff1c5;box-shadow:0 10px 50px #001c19aa;max-width:90vw;font-size:22px}
.winner-banner img{width:58px;height:58px;border-radius:50%}.winner-banner strong{overflow-wrap:anywhere}
.confetti{position:absolute;top:-20px;width:9px;height:14px;animation:rami-confetti 2.7s ease-in both}
@keyframes rami-confetti{to{transform:translate(var(--drift),105vh) rotate(640deg);opacity:0}}
@media(max-width:768px),(max-width:1024px) and (max-height:600px){
 .phase5c #players{height:330px}
 .phase5c #players>.player{width:80px;max-width:24%;grid-template-columns:24px minmax(0,1fr);gap:3px;padding:4px;border-radius:10px}
 .phase5c #players .player-avatar{width:24px;height:24px}
 .phase5c #players .player-details strong{font-size:9px}.phase5c #players .player-details small{font-size:8px}
 .phase5c #players .player-readiness{font-size:8px;padding:1px 2px;white-space:normal}
 .phase5c #room[data-phase=playing] #table{width:190px;grid-template-columns:90px 90px;gap:4px 10px}
 .phase5c #room[data-phase=playing] #table .pile-card{width:90px;min-height:116px;font-size:8px;padding:2px}
 .phase5c #room[data-phase=playing] #table .pile-card .card-art{width:64px}
 .phase5c #room[data-phase=playing] #table .game-action{font-size:10px;min-height:40px;padding:4px}
 .winner-banner{font-size:18px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.confetti,.deal-card{display:none}}
.phase5c #room[data-phase=playing] #players>.player[data-self=true]{display:grid}
