/* C2: reserve a real footer row; only menu content scrolls beneath it. */
#lock-overlay > .panel.entry-menu {
  display: flex; flex-direction: column; box-sizing: border-box;
  max-height: calc(100dvh - 32px); min-height: 0; overflow: hidden;
}
.entry-menu-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 4px 12px; }
.entry-menu .menu-play-sticky { position: static; flex: 0 0 auto; margin: 0; padding: 10px 4px 0; }
#boot-status {
  position: fixed; z-index: 22000; top: max(8px, env(safe-area-inset-top)); left: 50%;
  transform: translateX(-50%); max-width: calc(100vw - 32px); box-sizing: border-box;
  padding: 10px 18px; border: 1px solid #8ecaff; border-radius: 6px;
  color: #e8f2ff; background: #081321f2; font: 600 14px/1.4 system-ui; pointer-events: none;
}
#boot-status[hidden] { display: none; }
#boot-status[data-phase="warning"], #boot-status[data-phase="error"] { border-color: #ffc173; color: #ffe2b5; }
#touch-ads[aria-pressed="true"] { background: #244f68; border-color: #bceaff; }
@media (max-width: 1023.98px) {
  #lock-overlay > .panel.entry-menu { max-height: 100%; height: 100%; padding-bottom: max(6px, env(safe-area-inset-bottom)); }
}
@media (max-height: 540px) and (min-aspect-ratio: 13/10) {
  .entry-menu-scroll { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 14px; align-content: start; }
  .entry-menu-scroll > * { grid-column: 1 / -1; min-width: 0; }
  .entry-menu-scroll > .title-brand, .entry-menu-scroll > .title-version,
  .entry-menu-scroll > h1 + p + p, .entry-menu-scroll .mode-hint { display: none; }
  .entry-menu-scroll > h1 { margin: 0; font-size: 22px; line-height: 1.1; }
  .entry-menu-scroll > .mode-select-row:has(#game-mode),
  .entry-menu-scroll > .mode-select-row:has(#map-select) { grid-column: auto; }
  .entry-menu-scroll > .mode-select-row { margin: 0; gap: 4px; }
  .entry-menu-scroll > .mode-select-row select { min-width: 0; max-width: 100%; width: 100%; min-height: 40px; padding: 6px; }
  .entry-menu .menu-play-sticky { padding-top: 6px; }
}

@media (max-height: 540px) and (min-aspect-ratio: 13/10) {
  .entry-menu-scroll > .entry-quality, .entry-menu-scroll > .mode-select-row:has(#mp-room) { grid-column: auto; }
  .entry-menu-scroll > .mode-select-row { padding: 8px 10px; }
  .entry-menu-scroll > .mode-select-row:has(#mp-room) { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .entry-menu-scroll > .mode-select-row:has(#mp-room) label { grid-column: 1 / -1; }
  .entry-menu-scroll #mp-room { width: 100%; min-width: 0; box-sizing: border-box; }
  .entry-menu-scroll #mp-join { min-width: 0; padding: 6px 8px; font-size: 12px; min-height: 40px; }
}

/* F1 already reserves the Play row; keep its grid and make the room row shrink. */
.flow-room .mode-select-row { grid-template-columns: minmax(0, 1fr) auto !important; }
.flow-room #mp-room { min-width: 0; }
.flow-room #mp-join { min-width: 0; min-height: 44px; }
