/* The same DOM, canvases and atmosphere survive foreground navigation. */
body.has-persistent-space { position: relative; isolation: isolate; }
.has-persistent-space .visio-reference-feature { background: transparent; }
#visio-persistent-space {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: var(--visio-space-locked-height);
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  contain: layout paint;
  background:
    radial-gradient(ellipse at 16% 18%, rgba(36,49,77,.34), transparent 38%),
    radial-gradient(ellipse at 88% 34%, rgba(81,8,20,.3), transparent 42%),
    linear-gradient(154deg,#080a12 0%,#030308 46%,#0a0207 76%,#010104 100%);
}
#visio-persistent-space::before {
  content: ''; position: absolute; inset: -18%; z-index: 0;
  background: radial-gradient(ellipse at 26% 48%,rgba(255,0,0,.12),transparent 34%),
    radial-gradient(ellipse at 70% 38%,rgba(75,90,125,.14),transparent 32%),
    linear-gradient(108deg,transparent 31%,rgba(255,255,255,.025) 48%,transparent 63%);
  filter: blur(28px); opacity: .9; will-change: transform, opacity;
  animation: visioSpaceAtmosphere 24s ease-in-out infinite alternate;
}
#visio-persistent-space::after {
  content: ''; position: absolute; inset: 0; z-index: 3;
  background: radial-gradient(ellipse at center,transparent 32%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.68) 118%),
    linear-gradient(180deg,rgba(0,0,0,.14),transparent 18%,transparent 76%,rgba(0,0,0,.38));
}
.has-persistent-space .visio-space-intro:not(#visio-persistent-space) {
  background: transparent !important;
  position: relative;
  z-index: 1;
}
.has-persistent-space .visio-space-intro:not(#visio-persistent-space)::before,
.has-persistent-space .visio-space-intro:not(#visio-persistent-space)::after { display: none !important; }
#visio-persistent-flights {
  position: absolute; inset: 0 0 auto; width: 100%; height: var(--visio-space-locked-height);
  overflow: hidden; pointer-events: none; z-index: 2; contain: layout paint;
}
#visio-persistent-flights .visio-space-meteor-canvas {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 4;
}
#visio-persistent-space .visio-space-aurora,
#visio-persistent-space .visio-space-canvas,
#visio-persistent-flights .visio-space-meteor-canvas { transform: translateZ(0); }
@media (max-width: 680px) {
  /* The radial gradients are already soft; keep their drift without a large blur. */
  #visio-persistent-space::before { filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  #visio-persistent-space::before { animation: none; }
}
