#dev-splash {
  cursor: default;
  transition-duration: 0.3s;
}
#game #loading[hidden],
#game #loading-actions[hidden],
#game #loading-error[hidden],
#game #menu-background[hidden],
#game #world[hidden] {
  display: none !important;
}
#menu-background {
  position: fixed;
  inset: 0;
  background: #101923;
  pointer-events: none;
}
#menu-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#game:not([data-phase="playing"]) > header,
#game:not([data-phase="playing"]) > .mission,
#game:not([data-phase="playing"]) > .bottom-left,
#game:not([data-phase="playing"]) > .controls,
#game:not([data-phase="playing"]) > .mobile-hud,
#game:not([data-phase="playing"]) > .mobile-guidance,
#game:not([data-phase="playing"]) > .touch-controls,
#game:not([data-phase="playing"]) > .career-hud,
#game:not([data-phase="playing"]) > .contract-hud,
#game:not([data-phase="playing"]) > .world-label,
#game:not([data-phase="playing"]) > #event-feed,
#game:not([data-phase="playing"]) > #reward-toast,
#game:not([data-phase="playing"]) > #unload-panel {
  visibility: hidden;
}
#game #loading-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 20px;
}
#loading-actions button,
#orientation-menu {
  color: #f4f7fa;
  background: #ffffff10;
  border: 1px solid #ffffff60;
  padding: 12px 20px;
  min-height: 44px;
  font: inherit;
  cursor: pointer;
}
#loading-actions button:focus-visible,
#orientation-menu:focus-visible {
  outline: 2px solid #7fd1ff;
  outline-offset: 3px;
}
#game #loading-error {
  max-width: min(600px, 90vw);
  max-height: 20vh;
  overflow: auto;
  overflow-wrap: anywhere;
  color: #ffcfac;
  padding: 0 16px;
}
#game[data-phase="error"] .ld-line i {
  animation: none;
  width: 100%;
  background: #ffb36b;
}
#game.mobile #dialog {
  background: linear-gradient(90deg, #0b0f14ee, #0b0f14b0) !important;
}
@media (orientation: portrait) {
  #menu-background img {
    object-position: 65% center;
  }
  #game.mobile #dialog {
    padding: max(24px, env(safe-area-inset-top)) 18px 12px !important;
  }
  #game.mobile #dialog .home-layout {
    display: flex !important;
    flex-direction: column;
    gap: 18px !important;
  }
  #game.mobile #dialog .home-story {
    display: block !important;
  }
  #game.mobile #dialog .home-links .menu-button {
    min-height: 48px !important;
  }
  #game.mobile #dialog .vehicle-layout {
    grid-template-columns: 1fr !important;
  }
  #game.mobile #dialog .garage-xp {
    display: none;
  }
}
