/*
 * 806ai.ai — Motion Foundation (Slice 0: Foundation & Baseline)
 * ────────────────────────────────────────────────────────────
 * Shared timing/easing tokens for future components. Production's
 * reduced-motion kill switch already exists in index.html:
 *
 *   @media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;}}
 *
 * That rule is global and !important, so it already covers anything
 * built with the tokens below — it is intentionally NOT duplicated here
 * to avoid two sources of truth for the same guarantee. New components
 * still must be built so they read correctly with motion removed (no
 * information conveyed by animation alone).
 *
 * Motion should only: clarify state, direct attention, communicate
 * hierarchy, communicate changing information, or reinforce perceived
 * quality. It should not be decorative on its own.
 */

:root{
  /* Durations */
  --duration-micro:     150ms; /* hover, press, small state flips — target 120–180ms */
  --duration-normal:    250ms; /* standard transitions — target 200–300ms */
  --duration-transform: 375ms; /* content transforms — target 300–450ms */
  --duration-reveal:    500ms; /* major reveals — max ~500ms */

  /* Easings — aliases production's existing curves where they already exist. */
  --ease-standard: var(--ease, cubic-bezier(.16,1,.3,1));
  --ease-spring:   var(--spring, cubic-bezier(.32,.72,0,1));
  --ease-linear:   linear;
}

/* Opt-in transition utilities. Unused by current production markup. */
.transition-micro     { transition-duration: var(--duration-micro);     transition-timing-function: var(--ease-standard); }
.transition-normal     { transition-duration: var(--duration-normal);    transition-timing-function: var(--ease-standard); }
.transition-transform-content { transition-duration: var(--duration-transform); transition-timing-function: var(--ease-spring); }
.transition-reveal     { transition-duration: var(--duration-reveal);    transition-timing-function: var(--ease-standard); }

/* Explicitly avoid (per Slice 0 spec) unless a future slice makes a deliberate,
   documented exception: floating UI, uncontrolled parallax, constant
   background animation used purely decoratively, decorative page
   transitions, and uncontrolled stagger effects. Production's existing
   ticker marquee, chrome-flow gradient and LED pulse are pre-existing
   brand-identity motion, not new Slice 0 additions — left as-is. */
