.startupScreen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  background: radial-gradient(ellipse at 50% 40%, #0b3929, #031b12 65%, #010c08);
  color: #e5d7b7;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  transition: opacity 300ms ease;
}
.startupScreen[hidden] { display: none; }
.startupLeaving { opacity: 0; pointer-events: none; }
.startupPoster {
  position: relative;
  width: min(100vw, calc(100vh * 941 / 1672));
  width: min(100vw, calc(100dvh * 941 / 1672));
  aspect-ratio: 941 / 1672;
  flex-shrink: 0;
}
.startupArtwork { display: block; width: 100%; height: 100%; object-fit: contain; }
.startupFooter {
  position: absolute;
  bottom: max(2.5%, env(safe-area-inset-bottom, 0px));
  left: 18%;
  right: 18%;
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}
.startupTrack {
  width: 100%;
  height: 2px;
  overflow: hidden;
  border-radius: 2px;
  background: rgba(229, 215, 183, 0.18);
}
.startupTrack > span {
  display: block;
  height: 100%;
  width: 38%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #e5d7b7 60%, #f4ebd5);
  animation: startupGlide 1.9s ease-in-out infinite;
}
.startupTrackReady > span { width: 100%; animation: none; background: #e5d7b7; }
.startupStatus { margin: 0; color: #d2c4a6; font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: 0.13em; }
.startupDots { display: inline-block; letter-spacing: 0.15em; }
.startupRetry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 30px;
  padding: 2px 14px;
  border: 1px solid rgba(229, 215, 183, 0.4);
  border-radius: 999px;
  background: rgba(3, 27, 18, 0.85);
  color: #e5d7b7;
  font: inherit;
  font-size: 11px;
  text-decoration: none;
  cursor: pointer;
}
.startupRetry:hover { border-color: #e5d7b7; }
.startupRetry[hidden] { display: none; }
.startupRetry:focus-visible { outline: 2px solid #e5d7b7; outline-offset: 4px; }
.gameStartupDocument #root { visibility: hidden; }
@keyframes startupGlide {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(370%); }
}
@media (orientation: landscape) and (max-height: 600px) {
  .startupScreen { padding-right: 260px; box-sizing: border-box; }
  .startupFooter { position: fixed; left: auto; right: max(24px, env(safe-area-inset-right, 0px)); width: 210px; bottom: 42%; }
}
@media (prefers-reduced-motion: reduce) {
  .startupScreen { transition: none; }
  .startupTrack > span { animation: none; width: 100%; background: #e5d7b7; opacity: 0.65; }
}
