/* A single bar environment, with the authored scene preserved at 2048:1150. */
.table-stage.game-panel{position:relative;isolation:isolate;border:0;border-radius:0;box-shadow:none;background:#100d09;padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:0;align-items:center;min-height:560px}
.table-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 45% 30%,#3c2519,#100d09 80%)}
.table-stage>.seated-scene{grid-column:1;grid-row:1;margin:0!important;width:100%;height:auto;min-height:0;aspect-ratio:2048/1150;border:0;border-radius:0;box-shadow:none;align-self:center}
.table-stage>.table-hud{grid-column:2;grid-row:1;align-self:stretch;min-width:0;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;gap:12px;background:linear-gradient(90deg,#100d0900,#100d09db 22%);z-index:30}
.table-hud .panel-head{display:block;margin:0}.table-hud h1{font-size:clamp(20px,2.4vw,28px);line-height:1.12;margin:4px 0;overflow-wrap:anywhere}.table-hud .eyebrow{font-size:10px;margin:0 0 4px}.table-hud p{font-size:13px;line-height:1.4;margin:4px 0}
.table-hud .invite-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;margin:0;background:#100d0977;border:0}.table-hud .invite-box>span{font-size:10px}.table-hud .invite-box>strong{font-size:20px;letter-spacing:.12em}.table-hud .invite-box .button{width:100%;min-height:44px;padding:8px;font-size:12px}
.table-hud .lobby-steps{display:none}.table-hud .lobby-subtitle{display:none}.table-hud .lobby-action{display:block;margin:0}.table-hud .lobby-action>.button{width:100%;min-height:48px;padding:10px;font-size:15px}.table-hud .lobby-action p{font-size:11px}.table-hud .waiting{font-size:13px;padding:10px 0}
.table-hud #leaveButton{min-height:44px;padding:8px 0;font-size:12px}.table-hud .global-pause-control{margin:0;min-height:44px;padding:7px;font-size:12px;flex-shrink:0}.table-hud .drink-scene-heading{display:block;margin:0}.table-hud .drink-next{margin:0;font-size:12px}.table-stage .scene-caption{display:none}
.lobby-settings{min-width:0}.lobby-settings>summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;color:#ead1a4;font-size:12px}.lobby-settings>summary::before{content:'+';font-size:18px}.lobby-settings[open]>summary::before{content:'−'}.lobby-settings .drink-picker{margin:6px 0}.lobby-settings .drink-picker legend{font-size:13px}.lobby-settings .drink-options{gap:6px}.lobby-settings .drink-option{min-width:0;width:100%;padding:8px;gap:6px}.lobby-settings .drink-option strong{font-size:13px}.lobby-settings .drink-option small{font-size:11px}.lobby-settings .lobby-roster{display:grid;gap:6px;margin:8px 0;font-size:11px}
.screen-mode-toggle{position:fixed;z-index:1003;right:max(8px,env(safe-area-inset-right));top:max(6px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid #c6a76966;border-radius:10px;background:#100d09e8;color:#f5d89e;font-size:26px;cursor:pointer;touch-action:manipulation}
.table-orientation-note{position:fixed;top:max(6px,env(safe-area-inset-top));left:12px;right:60px;z-index:1002;display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0;padding:10px 12px;border-radius:10px;background:#332414;color:#ffe4b3;font:13px/1.4 system-ui}
.table-orientation-note button{flex-shrink:0;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;font-size:23px}
@media(orientation:landscape){.table-orientation-note{display:none}}
@media(orientation:portrait){
 body.table-immersive:has(.table-orientation-note) .app-shell{padding-top:80px}
 .table-stage.game-panel{display:flex;flex-direction:column;min-height:0}.table-stage>.seated-scene{flex:none;width:100%}.table-stage>.table-hud{width:100%;padding:16px;box-sizing:border-box;background:linear-gradient(#100d0900,#100d09);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.table-hud .lobby-action,.table-hud .lobby-settings{grid-column:1/-1}
}
/* True fullscreen and ordinary landscape browsers share the same layout. */
@media(orientation:landscape) and (max-height:650px) and (max-width:1400px){
 body.room-play{--table-dock:0px;--table-rail:210px;background:#100d09}
 body.room-play.has-player-strip{--table-dock:68px}
 body.room-play .topbar{display:none}
 body.room-play .app-shell{width:100%;max-width:none;margin:0;padding:0 0 var(--table-dock)}
 body.room-play .table-stage.game-panel{width:100%;min-height:0;height:calc(100dvh - var(--table-dock));box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) var(--table-rail);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);align-content:stretch;border-radius:0}
 body.room-play .table-stage>.seated-scene{grid-column:1!important;grid-row:1!important;width:min(100%,calc((100dvh - var(--table-dock) - env(safe-area-inset-top))*2048/1150));height:auto;aspect-ratio:2048/1150;min-height:0;justify-self:center;align-self:center;margin:0!important}
 body.room-play .table-stage>.table-hud{grid-column:2!important;grid-row:1!important;display:flex;overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start;padding:12px;gap:8px;min-height:0}
 body.table-immersive .table-hud{padding-top:54px!important}
 body.room-play .table-hud h1{font-size:20px}.table-hud .bar-zoom-controls.outside-camera{margin:0 0 0 auto}
 body.room-play .table-hud .panel-head{margin:0}.table-hud .panel-head>div>.eyebrow{display:none}
 body.room-play .table-hud .invite-box{padding:0;background:none}.table-hud .invite-box>span{display:none}
 body.room-play .table-hud .drink-scene-heading p{font-size:12px}
 body.room-play .player-strip{background:linear-gradient(#100d09aa,#100d09f5);border-top:0;box-shadow:none;backdrop-filter:none;gap:4px;padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}
 body.room-play .strip-player{flex:1 0 100px;max-width:180px;height:58px;background:#151710c9}.strip-player .rank-badge{flex-basis:42px;width:42px}
 body.room-play .table-composer{left:8px;right:calc(var(--table-rail) + env(safe-area-inset-right));transform:none;width:auto;max-width:620px;background:#100d09ed}
 body.table-immersive .question-panel,body.table-immersive .minigame-panel,body.table-immersive .friendly-vote-panel{padding-right:64px}
 body.table-immersive .character-intro-screen{min-height:100dvh}.table-immersive .intro-skip{right:64px}
}

@media(orientation:landscape) and (max-height:650px) and (max-width:1400px){
 .table-stage .table-hud .panel-head{display:flex;align-items:center;gap:6px}.table-hud .panel-head>div{flex:1;min-width:0}.table-hud .panel-head h1{font-size:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-hud #leaveButton{flex:0 0 44px;width:44px}
 .table-stage .table-hud .invite-box{flex-wrap:nowrap}.table-stage .table-hud .invite-box .button{width:auto;flex:1;min-width:0;padding:6px;font-size:11px}.table-hud .invite-box>strong{font-size:18px}
}
body.table-immersive .topbar{display:none}
body.table-immersive .app-shell{width:100%;max-width:none}

/* One image plane, never a duplicated bar behind a smaller copy. */
.table-stage.game-panel{--stage-height:560px;height:var(--stage-height)}
.table-stage>.table-world{grid-column:1!important;grid-row:1!important;position:relative;width:100%;height:var(--stage-height);min-width:0;overflow:hidden}
.table-world>.seated-scene{position:absolute;left:50%;top:0;transform:translateX(-50%);width:calc(var(--stage-height)*2048/1150);height:var(--stage-height);max-width:none;min-height:0;margin:0!important;aspect-ratio:2048/1150;border:0;border-radius:0;box-shadow:none}
.table-hud .lobby-action>.button{min-width:0;white-space:normal;gap:4px}
.table-stage .empty-seat{width:44px;min-width:44px;min-height:44px;--seat-scale:1!important}
@media(orientation:portrait){
 .table-stage.game-panel{height:auto}.table-stage>.table-world{height:auto;aspect-ratio:2048/1150;flex:none}
 .table-world>.seated-scene{position:relative;left:0;transform:none;width:100%;height:auto;aspect-ratio:2048/1150}
}
@media(orientation:landscape) and (max-height:650px) and (max-width:1400px){
 body.room-play .table-stage.game-panel{--stage-height:calc(100dvh - var(--table-dock) - env(safe-area-inset-top))}
}

.table-hud .global-pause-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.table-hud .global-pause-control>span{grid-column:1/-1;min-width:0;margin:0}
.table-hud .global-pause-control .button{min-width:0;min-height:44px;padding:8px;font-size:12px;white-space:normal}
.table-hud .global-pause-control .host-phase-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;width:100%}
.table-hud .host-phase-actions .button{width:100%}

/* Entrance stays lightweight: one video surface, no full-screen blur or second decoder. */
.character-intro-screen .intro-video-foreground{opacity:1;transition:none;object-fit:contain;background:#090604}
.intro-loading{position:absolute;z-index:3;left:16px;bottom:16px;max-width:calc(100% - 160px);margin:0;padding:8px 12px;background:#100d09e8;color:#f5d89e;font-size:13px;border-radius:8px}
.intro-retry{position:absolute;z-index:4;left:16px;top:max(16px,env(safe-area-inset-top));min-height:44px}
.intro-retry[hidden],.intro-loading[hidden]{display:none}
.character-intro-screen .intro-skip{min-height:44px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
.fixed-drink{margin:8px 0;color:#decba9;font-size:13px}

.character-intro-screen.intro-complete .intro-skip{left:50%;right:auto;transform:translateX(-50%);bottom:max(24px,env(safe-area-inset-bottom));min-width:220px;min-height:52px}
