#map-breakthrough { position: relative; height: 90svh; pointer-events: none; }
#features.features-chapter { margin-top: -100svh; }
#map-fragments { position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; }
#map-fragments canvas { display: block; width: 100%; height: 100%; }
#ground-fractures {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  translate: var(--tactics-impact-x,0px) var(--tactics-impact-y,0px);
  opacity: calc(var(--tactics-ground,0) * (1 - var(--map-fragment-takeover,0)));
}
:root[data-map-fragments="ready"] #map-fragments {
  opacity: var(--map-fragment-alpha,0);
  filter: blur(var(--map-fragment-blur,0px));
}
:root[data-flight-video="ready"][data-world="mirage"] #mirage-flight-video {
  opacity: calc(var(--mirage-film-alpha,0) * (1 - var(--map-fragment-takeover,0)));
}
:root[data-map-fragments="ready"] .tactics-ground::before {
  opacity: calc(1 - var(--map-fragment-takeover,0));
}
:root[data-flight-video="ready"][data-world="mirage"] .tactics-ground::before { opacity: 0; }
:root[data-tactics-stage="features"] body::before { opacity: 0; }
@media (prefers-reduced-motion: reduce) { #map-fragments { filter: none !important; } }
