.classic-launch {
  position: absolute;
  inset: 0;
  z-index: 40;
  overflow: hidden;
  background: #172b32;
  isolation: isolate;
  display: grid;
  place-items: center;
}
.classic-launch-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.classic-launch-center {
  position: absolute;
  top: max(8%, calc(env(safe-area-inset-top) + 20px));
  left: 50%;
  transform: translateX(-50%);
  width: min(72%, 440px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 2vh, 24px);
}
.classic-launch-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 22vh;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgb(0 0 0 / 18%));
}
/* Shared by the initial HTML splash and the React loading screen. */
.classic-launch-dots { display:flex; align-items:center; justify-content:center; gap:10px; height:24px; }
.classic-launch-dots span { width:10px; height:10px; border-radius:50%; background:#fff8e7; box-shadow:0 2px 4px #59341055; animation:classic-launch-dot 1.2s ease-in-out infinite; }
.classic-launch-dots span:nth-child(2) { animation-delay:.15s; }
.classic-launch-dots span:nth-child(3) { animation-delay:.3s; }
@keyframes classic-launch-dot { 0%,60%,100% { transform:translateY(0); opacity:.45; } 30% { transform:translateY(-7px); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .classic-launch-dots span { animation:none; opacity:1; } }

/* Shade the landscape, while keeping the logo and character crisp. */
.classic-launch-shade { position:absolute; inset:0; background:rgb(0 0 0 / 24%); }
.classic-launch-character {
  position:absolute;
  left:50%;
  bottom:-10%;
  transform:translateX(-50%);
  height:74%;
  width:auto;
  max-width:none;
  object-fit:contain;
  pointer-events:none;
}
@media (max-height:500px) {
  .classic-launch-center { gap:8px; }
  .classic-launch-dots { height:12px; }
  .classic-launch-dots span { width:7px; height:7px; }
}

/* Override portal cover defaults without shading foreground artwork. */
.portal-game-loading.classic-launch { display:grid; padding:0; background:#172b32; gap:0; }
.portal-game-loading.classic-launch img { margin:0; max-height:none; }
.portal-game-loading.classic-launch .classic-launch-art { width:100%;height:100%;max-width:none;object-fit:cover; }
.portal-game-loading.classic-launch .classic-launch-character { width:auto;height:74%;max-width:none; }
.portal-game-loading.classic-launch .classic-launch-logo { width:100%;height:auto;max-width:none;max-height:22vh; }
