/* Positions come from the actual camera-projected 3D seats. */
.game-route #main-content .table-arena[data-seats-mapped=true] .opponent{width:var(--seat-label-width,112px)!important;max-width:var(--seat-label-width,112px)!important;min-height:26px!important;padding:3px 4px!important;gap:4px!important;justify-content:center!important}
.game-route #main-content .table-arena[data-seats-mapped=true] .opponent strong{font-size:var(--seat-name-size,14px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%!important;line-height:1.25}
.game-route #main-content .table-arena[data-seats-mapped=true][data-crowded=true] .opponent .profile-avatar,.game-route #main-content .table-arena[data-seats-mapped=true][data-crowded=true] .opponent .robot-emblem{display:none!important}
.game-route #main-content .table-arena[data-seats-mapped=true] .opponent .profile-avatar{width:24px;height:24px}
.game-route #main-content .table-arena[data-seats-mapped=true] .opponent .small{display:none!important}
.ludo-back{flex-shrink:0}.connection-state{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:12px}.connection-state:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--success)}.connection-state[data-state=offline]:before{background:var(--gold)}
.update-status{display:grid;gap:16px;max-width:680px}.update-status h2{font-size:20px}.update-status progress{width:100%;accent-color:var(--gold)}.update-status .row{flex-wrap:wrap}.update-status p{max-width:62ch}.update-status small{color:var(--muted)}

.game-route #main-content .table-arena[data-seats-mapped=true] .opponent>.profile-avatar,.game-route #main-content .table-arena[data-seats-mapped=true] .opponent>.robot-emblem{width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px!important;font-size:9px!important}
.game-route #main-content .table-arena[data-seats-mapped=true] .opponent strong{flex:1 1 auto!important;min-width:0!important}
.ludo-shell .topbar:has(.ludo-back){display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:8px!important}
.ludo-shell .topbar:has(.ludo-back) .ludo-menu-toggle{display:none!important}
.ludo-shell .topbar:has(.ludo-back) .ludo-page-name{flex:1 1 auto!important;min-width:0}
.ludo-shell .topbar:has(.ludo-back) .ludo-top-actions{flex:0 0 auto;margin-left:auto!important}
.connection-state+.text-link,.update-status .btn{justify-self:start}

.game-route #main-content .table-arena[data-seats-mapped=true][data-crowded=true] .opponent strong{white-space:normal!important;text-overflow:clip!important;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.game-route #main-content .table-arena[data-seats-mapped=true][data-crowded=true] .opponent{min-height:28px!important}

/* Public hand sizes stay separate from private card faces. */
.player-card-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:21px;height:21px;padding:0 4px;border:1px solid #ffd16b88;border-radius:6px;background:#132547;color:#ffe1a0;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.opponent .player-card-count{position:absolute;inset-inline-end:-6px;bottom:-8px;box-shadow:0 2px 5px #06122780}
.participant-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.participant-actions [data-friend-slot]:empty{display:none}.participant-name,.table-player-name{font:inherit;color:inherit;background:transparent;border:0;text-align:start;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.participant-name{font-weight:700;cursor:pointer}.participant-name:hover,.table-player-name:hover{text-decoration:underline;text-underline-offset:3px}.member>span{min-width:0}.member .participant-name{display:block;white-space:normal;overflow-wrap:anywhere}.member:has(.participant-actions){flex-wrap:wrap}.member>.member-identity{flex:1 1 80px;min-width:0}.member>.profile-avatar,.member>.robot-emblem{flex:0 0 40px;width:40px;height:40px;min-width:40px;max-width:40px;aspect-ratio:1}.member>.pill{flex:0 0 auto}.participant-dialog-actions [data-friend-slot] .icon-button{width:48px;height:48px}.table-player-name{cursor:pointer;white-space:inherit;line-height:inherit}
