/* One continuous native-scroll route, followed by the existing board chapter. */
.landing #hero { height: 180svh; overflow: clip; }
#hero .hero-ui { position: sticky; inset: auto; top: 0; width: 100%; height: 100svh; translate: 0 var(--hero-frame-lock,0px); }
.journey-waypoint { position: absolute; top: calc(34svh + 100px); left: 0; width: 1px; height: 1px; pointer-events: none; }
.world-flight {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: var(--planet-alpha,1);
  filter: blur(var(--flight-blur,0px));
  pointer-events: none;
  transition: opacity .35s ease;
}
#webgl { opacity: calc(var(--mark-alpha,1) * var(--entrance-alpha,1) * var(--travel-logo-alpha,1)); }
#mirage-flight-video {
  position: absolute;
  inset: -5px -2px;
  z-index: 1;
  width: calc(100% + 4px);
  height: calc(100% + 10px);
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  translate: var(--tactics-impact-x,0px) calc(var(--tactics-impact-y,0px) + var(--mirage-film-align-y,0px));
}
:root[data-flight-video="ready"][data-world="mirage"] #mirage-flight-video { opacity: var(--mirage-film-alpha,0); }
:root[data-flight-video="ready"][data-world="mirage"] .world-flight { opacity: calc(var(--planet-alpha,1) * (1 - var(--mirage-film-alpha,0))); transition: none; }
:root[data-flight-video="ready"][data-world="mirage"] #logo-shadow { opacity: calc(var(--hero-shadow-alpha,1) * (1 - var(--mirage-film-alpha,0))); }
:root[data-flight-video="ready"][data-world="mirage"] #world-atmosphere { opacity: calc(var(--hero-atmosphere-alpha,1) * (1 - var(--mirage-film-alpha,0))); }
:root[data-flight-video="ready"][data-world="mirage"] .tactics-ground { z-index: 2; }
:root[data-flight-video="ready"][data-world="mirage"] .tactics-ground::before { opacity: 0; }
#journey-streaks { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
#logo-shadow { opacity: var(--hero-shadow-alpha,1); }
#world-atmosphere { opacity: var(--hero-atmosphere-alpha,1); }
.tactics-ground::before { filter: blur(var(--landing-blur,0px)); }
#hero .scroll-cue { opacity: var(--cue-alpha,1); }
.scene-step[aria-pressed="true"] .star-progress { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) {
  .world-flight { filter: none; transition: none; }
  .tactics-ground::before { filter: none; }
}
