/* Nexus v0.4.1 — deliberate three-beat magical travel, no delayed navigation */
.scene .warp-field{transition:none;opacity:0;filter:blur(32px);transform:scale(.7)}
.scene.passing .warp-field{animation:nexus-warp-journey 820ms cubic-bezier(.2,.65,.25,1) both}
.scene .passage-veil{transition:none;opacity:0;transform:scale(1)}
.scene.passing .passage-veil{animation:nexus-warp-veil 820ms ease-in-out both}
.scene.passing .arc{animation:nexus-warp-arch 820ms ease-in-out both}
.scene.passing .stars,.scene.passing .moon,.scene.passing .landscape{animation:nexus-warp-depth 820ms ease-in-out both}
.scene.passing .destinations,.scene.passing .panel{animation:nexus-warp-arrival 820ms ease-in-out both}
/* Give the destination panel the same substantial reveal seen when returning home. */
.scene.passing[data-travel="enter"] .panel{animation:nexus-room-arrival 820ms cubic-bezier(.2,.65,.25,1) both}
.scene.passing[data-travel="exit"] .hero,.scene.passing[data-travel="exit"] .destinations{animation:nexus-room-arrival 820ms cubic-bezier(.2,.65,.25,1) both}
@keyframes nexus-room-arrival{
  0%,26%{opacity:0;filter:blur(14px);transform:translateY(18px) scale(.965)}
  47%{opacity:.18;filter:blur(11px);transform:translateY(13px) scale(.975)}
  68%{opacity:.72;filter:blur(4px);transform:translateY(5px) scale(.99)}
  100%{opacity:1;filter:none;transform:none}
}
@keyframes nexus-warp-journey{
  0%{opacity:0;transform:scale(.7);filter:blur(30px)}
  22%{opacity:.63;transform:scale(1.08);filter:blur(22px)}
  48%{opacity:.95;transform:scale(1.4);filter:blur(12px)}
  68%{opacity:.66;transform:scale(1.75);filter:blur(7px)}
  100%{opacity:0;transform:scale(2.15);filter:blur(26px)}
}
@keyframes nexus-warp-veil{
  0%,100%{opacity:0}
  36%{opacity:.48}
  55%{opacity:.68}
  78%{opacity:.16}
}
@keyframes nexus-warp-arch{
  0%,100%{filter:none}
  46%{filter:blur(3px) brightness(2.1) saturate(1.6)}
}
@keyframes nexus-warp-depth{
  0%,100%{filter:none}
  48%{filter:blur(5px)}
}
@keyframes nexus-warp-arrival{
  0%{opacity:.2;filter:blur(9px);transform:translateY(12px) scale(1.02)}
  58%{opacity:.65;filter:blur(4px);transform:translateY(4px)}
  100%{opacity:1;filter:none;transform:none}
}
@media(prefers-reduced-motion:reduce){
 .scene.passing .warp-field,.scene.passing .passage-veil,.scene.passing .arc,.scene.passing .stars,.scene.passing .moon,.scene.passing .landscape,.scene.passing .destinations,.scene.passing .panel{animation:none!important}
}
.static-motion.passing .warp-field,.static-motion.passing .passage-veil,.static-motion.passing .arc,.static-motion.passing .stars,.static-motion.passing .moon,.static-motion.passing .landscape,.static-motion.passing .destinations,.static-motion.passing .panel{animation:none!important}

/* No leftover browser transitions when the finishing class is removed. */
.scene.passing .hero,.scene.passing .destinations,.scene.passing .panel{transition:none!important}
