html.portal-arriving { background: #080c0b; }
html.portal-arriving body { background: #080c0b; }
html.portal-arriving #scene { pointer-events: none; }
html.portal-arriving body > :not(#scene) { visibility: hidden !important; pointer-events: none !important; }
html.portal-arriving::after { content: ''; position: fixed; inset: 0; z-index: 2147483000; background: #080c0b; pointer-events: auto; will-change: opacity; }
html.portal-revealing::after { animation: portal-veil-reveal 1.35s ease-out both; }
html.portal-arrival-paused::after { animation-play-state: paused; }
@keyframes portal-veil-reveal { 0% { opacity: 1; } 20% { opacity: .9; } 75% { opacity: .12; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  html.portal-revealing::after { animation-duration: .35s; }
}
