body.has-expanded-game { overflow: hidden; }
.game-expanded-dialog {
  position: fixed; inset: 0; box-sizing: border-box; width: 100%; max-width: none;
  height: 100vh; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0;
  padding: 0 max(8px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  overflow: auto; overscroll-behavior: contain; background: #061b46; color: #fff3cb;
  -webkit-overflow-scrolling: touch;
}
.game-expanded-dialog::backdrop { background: #061b46; }
.game-view-toolbar {
  position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; width: 100%; padding: max(6px, env(safe-area-inset-top)) 4px 6px;
  background: #061b46; color: #d5e8ed; font: 700 12px/1.3 'Trebuchet MS', Arial, sans-serif;
}
.game-view-exit, .game-native-exit {
  min-height: 44px; padding: 9px 14px; border: 1px solid #62869c; border-radius: 9px;
  background: #123b5c; color: #fff3cb; font: 700 12px/1.3 'Trebuchet MS', Arial, sans-serif; cursor: pointer;
}
.game-view-exit:focus-visible, .game-native-exit:focus-visible { outline: 3px solid #ffdf65; outline-offset: 2px; }
.game-native-exit { position: fixed; z-index: 100; top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); }
.game-expanded-dialog > .game-expanded-content { display: block; width: min(100%, 620px); max-width: 620px; min-width: 0; margin: 8px auto; overflow: hidden; }
.game-expanded-dialog > .game-column { width: min(100%, 430px); max-width: 430px; }
.game-expanded-dialog .booth-wrap, .game-expanded-dialog .stage-wrap { max-height: none; }
/* Short landscape windows keep a useful game width; the overlay scrolls rather
   than compressing the bottle table to a few pixels or hiding the exit control. */
.game-card.game-native-fullscreen { width: 100%; height: 100%; padding: 60px 12px 16px; overflow: auto; display: block; background: #061b46; }
.game-card.game-native-fullscreen > :not(.game-native-exit) { width: min(100%, 620px); min-width: 0; margin-left: auto; margin-right: auto; }
.game-card.game-native-fullscreen .booth-wrap, .game-card.game-native-fullscreen .stage-wrap { max-height: none; }
.game-column.game-native-fullscreen { width: 100%; max-width: none; padding: 60px 12px 16px; overflow: auto; background: #061b46; }
.game-column.game-native-fullscreen > :not(.game-native-exit) { width: min(100%, 430px); margin-left: auto; margin-right: auto; }
