/* 終章から冒頭への、短い光の幕。通常時は操作も描画も遮らない。 */
#journey-loop-veil {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background: radial-gradient(ellipse at 52% 42%, #fff 0%, #fffefb 48%, #fffaf0 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms cubic-bezier(.2, .65, .3, 1);
  contain: strict;
}

#journey-loop-veil.is-visible { opacity: 1; }
#journey-loop-veil.is-revealing { transition-duration: 170ms; }
#journey-loop-veil.is-instant { transition: none; }

html.journey-loop-resetting {
  overflow: hidden !important;
  scrollbar-gutter: stable;
  overscroll-behavior: none;
  scroll-behavior: auto !important;
}

html.journey-loop-resetting #journey-loop-veil {
  pointer-events: auto;
  touch-action: none;
}

@media (prefers-reduced-motion: reduce) {
  #journey-loop-veil { transition: none; }
}
