/*
 * Zero Next One BASE NIIKAPPU
 * Top-page motion foundation v2.3.0
 *
 * This file intentionally contains only tokens and safety hooks.
 * It does not hide or move any element by itself. Motion initial states must be
 * applied by JavaScript only after the runtime has completed its safety checks.
 */

[data-motion-root] {
  --motion-duration-instant: 180ms;
  --motion-duration-fast: 280ms;
  --motion-duration-base: 720ms;
  --motion-duration-reveal: 1800ms;
  --motion-duration-slow: 2200ms;
  --motion-duration-cinematic: 2800ms;

  --motion-distance-xs: 4px;
  --motion-distance-sm: 8px;
  --motion-distance-md: 12px;
  --motion-distance-lg: 16px;
  --motion-distance-xl: 20px;

  --motion-ease-emerge: cubic-bezier(0.12, 0.62, 0.18, 1);
  --motion-ease-settle: cubic-bezier(0.14, 0.78, 0.18, 1);
  --motion-ease-hover: cubic-bezier(0.25, 0.8, 0.25, 1);
  --motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Only explicitly looping decorative motion may be paused off-screen. */
.is-motion-paused [data-motion-loop] {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-motion-root] {
    --motion-duration-instant: 0ms;
    --motion-duration-fast: 0ms;
    --motion-duration-base: 0ms;
    --motion-duration-reveal: 0ms;
    --motion-duration-slow: 0ms;
    --motion-duration-cinematic: 0ms;
  }
}
