/* Native command surface beside the user-approved orbital station video. */
#menu-scene { position: fixed; inset: 0; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 75% 36%, #18303e, #03080f 68%); }
#menu-scene[hidden] { display: none; }
.menu-scene-art, .menu-scene-video { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 66% 50%; }
#menu-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #030910e8, #0309109e 34%, #03091012 65%), linear-gradient(0deg, #02060ddb, transparent 40%); }
#menu-scene:not(.main-menu)::after { background: #030910ba; }
.menu-scene-video { visibility: hidden; }
#menu-scene.is-moving .menu-scene-video { visibility: visible; }
#menu-scene.art-missing > .menu-scene-art { visibility: hidden; }
#menu::before { content: none; }
#menu > .scanlines { display: none; }
#menu { align-items: flex-start; background: none; }
#menu .menu-inner { position: relative; z-index: 1; width: min(560px, 48%); margin-left: clamp(28px, 5vw, 100px); margin-right: 0; padding: 40px 0; align-items: flex-start; text-align: left; gap: 24px; }
#menu .title-block { text-align: left; }
#menu .game-title { max-width: 530px; font-size: clamp(52px, 6.1vw, 90px); line-height: .98; letter-spacing: -.025em; color: #f1f7fa; background: none; -webkit-text-fill-color: currentColor; text-shadow: 0 3px 26px #02081088; }
#menu .game-title::before, #menu .game-title::after { display: none; }
#menu .subtitle { justify-content: flex-start; color: #b9cbd8; font-size: 13px; letter-spacing: .25em; margin-top: 20px; }
#menu .subtitle::before, #menu .subtitle::after { display: none; }
#menu .menu-primary, #menu .next-target, #menu .menu-secondary { width: min(400px, 100%); }
#menu .menu-primary .mbtn { text-align: left; padding-left: 22px; min-height: 58px; font-size: 15px; letter-spacing: .18em; border-color: #5da6b2; background: #163540cc; }
#menu .menu-primary .mbtn::after { content: "↗"; position: static; border: 0; width: auto; height: auto; float: right; font-size: 21px; }
#menu .next-target { background: #07101cb0; border: 0; border-left: 2px solid #9d8252; padding: 12px 16px; }
#menu .next-target .nt-foot { display: none; }
#menu .menu-secondary { gap: 2px 16px; }
#menu .menu-secondary .mbtn { border: 0; border-bottom: 1px solid #8ca4b527; background: transparent; backdrop-filter: none; text-align: left; padding: 12px 0; font-size: 13px; color: #cad9e2; }
#menu .menu-secondary .mbtn::before, #menu .menu-secondary .mbtn::after { display: none; }
#menu .menu-secondary .mbtn:hover { color: #fff; background: #b8dcea0c; }
#menu .mbtn:focus-visible, #menu .next-target:focus-visible { outline: 2px solid #87e3ee; outline-offset: 4px; }
#menu .menu-footer { width: min(440px,100%); justify-content: flex-start; color: #9eb4c5; font-size: 12px; letter-spacing: .025em; }
@media (max-width: 960px) and (min-height: 601px) {
  #menu .menu-inner { width: min(470px, calc(100% - 64px)); margin-left: 32px; }
  #menu .game-title { font-size: clamp(52px, 8vw, 76px); }
  #menu-scene::after { background: linear-gradient(0deg, #030910f5 10%, #030910c7 55%, #03091015); }
  .menu-scene-art, .menu-scene-video { object-position: 72% 35%; }
}
@media (max-width: 600px) {
  #menu .menu-inner { width: calc(100% - 48px); margin: 0 24px; padding: max(22vh, 150px) 0 28px; gap: 20px; }
  #menu .game-title { font-size: clamp(48px, 13vw, 70px); }
  #menu .subtitle { font-size: 11px; letter-spacing: .2em; margin-top: 14px; }
  #menu .menu-secondary { gap: 2px 12px; }
  #menu .menu-secondary .mbtn { font-size: 12px; }
  .menu-scene-art, .menu-scene-video { height: 66%; object-position: 100% 30%; }
  #menu-scene::after { background: linear-gradient(0deg, #030910 34%, #030910d1 58%, #03091015 92%); }
}
@media (max-height: 600px) and (min-width: 601px) {
  #menu .menu-inner { width: min(460px, 56%); margin-left: 28px; padding: 24px 0; gap: 16px; }
  #menu .game-title { font-size: 48px; }
  #menu .subtitle { margin-top: 12px; font-size: 11px; }
  #menu .menu-secondary .mbtn { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #menu-scene .menu-scene-video { visibility: hidden !important; }
}
/* Keep focused and scrolled controls clear of the viewport edge. */
#menu button { scroll-margin-block: 12px; }
#menu .menu-footer { text-align: left; }
