/* Keto integration. The original table, cards, scenery and effects stay intact. */
/* This compact badge has no legacy .user-avatar-wrap; never size its image to 100% of the header. */
#screen-lobby .lobby-header{flex:0 0 auto;gap:16px;box-sizing:border-box}
#screen-lobby .user-profile-badge{min-width:0;max-width:240px;flex:0 1 auto;cursor:default}
#screen-lobby .user-profile-badge>.user-avatar-img{width:36px;height:36px;max-width:36px;flex:0 0 36px;border-radius:50%;object-fit:cover;background:#293038}
#screen-lobby .user-profile-badge strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
#screen-lobby .lobby-brand{flex:0 0 auto}
#screen-lobby .lobby-header .audio-controls{margin-left:auto;flex:0 0 auto}
@media(max-width:600px){#screen-lobby .lobby-header{gap:8px;padding:10px 12px}#screen-lobby .lobby-header .audio-label{display:none}#screen-lobby .user-profile-badge{max-width:140px;padding-right:10px}#screen-lobby .user-profile-badge>.user-avatar-img{width:30px;height:30px;max-width:30px;flex-basis:30px}}
[hidden]{display:none!important}.keto-room-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:14px;color:var(--text-primary);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:12px;padding:16px;margin-bottom:10px;font:inherit;cursor:pointer}.keto-room-row small{display:block;margin-top:5px;color:var(--text-muted)}.keto-player-slot{display:flex;gap:12px;align-items:center;padding:18px;border:1px solid var(--border-glass);border-radius:14px}.keto-player-slot img{width:54px;height:54px;object-fit:cover;border-radius:50%}.keto-rank-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-glass)}.keto-rank-row strong{flex:1}.keto-rank-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.mode-dialog label{display:flex;gap:12px;align-items:center;margin:16px 0}.mode-dialog select,.keto-rank-filters select{padding:10px;background:#151c30;color:var(--text-primary);border:1px solid var(--border-glass);border-radius:8px;max-width:100%}.mode-dialog table{width:100%;border-collapse:collapse}.mode-dialog td,.mode-dialog th{padding:10px;text-align:left;border-bottom:1px solid var(--border-glass)}.mode-dialog{max-width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto}.keto-uno-status{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10000;max-width:90vw;padding:12px 18px;border-radius:12px;background:#182039;color:#fff;box-shadow:0 8px 35px #0007;font-size:14px;pointer-events:none}.player-hand-container>.uno-card{position:absolute;left:50%;bottom:8px;transform:translateX(calc(-50% + var(--fan-x))) rotate(var(--fan-rotation));transform-origin:50% 100%;transition:transform .2s,filter .2s}.player-hand-container>.uno-card:not(.unplayable):hover,.player-hand-container>.uno-card:focus-visible{transform:translateX(calc(-50% + var(--fan-x))) translateY(-24px) rotate(var(--fan-rotation));z-index:150!important}.player-hand-container{position:relative;width:100%;height:190px}.table-brand-bar #table-exit{flex-shrink:0}.table-brand-bar img{max-width:65px}.table-brand-bar{padding-top:max(10px,env(safe-area-inset-top));gap:10px}.mode-dialog::backdrop{background:#040714b8;backdrop-filter:blur(6px)}.screen-view{padding-bottom:max(20px,env(safe-area-inset-bottom))}.mode-dialog,.rooms-scroll-list{scrollbar-width:thin;scrollbar-color:#ffffff35 transparent}.mode-dialog::-webkit-scrollbar,.rooms-scroll-list::-webkit-scrollbar{width:5px}.mode-dialog::-webkit-scrollbar-thumb,.rooms-scroll-list::-webkit-scrollbar-thumb{background:#ffffff35;border-radius:5px}button:disabled{cursor:default;opacity:.45}#hand-caption{pointer-events:none}#keto-pass{margin-top:8px}.table-brand-bar [data-audio-controls]{display:none}.uno-card{touch-action:manipulation}@media(max-width:600px){.table-brand-bar #table-exit{font-size:11px;padding:8px}.table-brand-bar img{max-width:45px}.player-hand-container{height:145px}.player-hand-container>.uno-card{width:70px;height:105px}.waiting-controls{flex-wrap:wrap}.mode-dialog{padding:18px}.lobby-intro h1{font-size:28px}.keto-player-slot{padding:10px}}@media(prefers-reduced-motion:reduce){.player-hand-container>.uno-card{transition:none}}

.screen-view:not(.active){display:none!important}.screen-view.active{visibility:visible;opacity:1}.btn-declare-uno,.btn-declare-uno.active{right:24px;bottom:20px;width:104px;height:58px;transform:none}.opponent-seat.active-turn::after{content:attr(data-playing-label)}.discard-pile-container::after{content:attr(data-discard-label)}#screen-entry{align-items:center;justify-content:center}.login-logo{max-width:160px}#screen-lobby{overflow:auto;scrollbar-width:thin}@media(max-width:600px){.btn-declare-uno,.btn-declare-uno.active{right:12px;bottom:14px;width:72px;height:46px}.player-hand-viewport{left:80px;right:88px}.local-player-hud{max-width:130px;left:10px;bottom:2px}.local-player-hud .hud-player-name{font-size:11px}}

/* Fan bounds include rotation, shadows and raised cards, on both sides. */
.player-hand-viewport{padding:20px 12px 12px;box-sizing:border-box;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.player-hand-viewport::-webkit-scrollbar{display:none}.table-brand-bar [data-audio-controls]{display:flex}.audio-controls{gap:6px}.btn-audio-toggle svg{width:16px;height:16px;flex:none}.btn-audio-toggle[aria-pressed=false]{opacity:.5}@media(max-width:600px){.player-hand-viewport{left:12px;right:12px;bottom:78px;height:192px;padding-top:20px;padding-bottom:12px}.player-hand-container{height:154px}.table-brand-bar [data-audio-controls] .audio-label{display:none}.btn-audio-toggle{padding:7px;height:32px}.lobby-header .audio-controls{margin-left:auto}.lobby-header{gap:10px}.user-profile-badge{min-width:0}.user-profile-badge strong{max-width:95px;overflow:hidden;text-overflow:ellipsis}}
