/* ============================================================================
   MOTION — R-041 LOCKED (Brand Book §15).
   Product UI micro-interactions: 160–220ms. Motion is functional and
   restrained; it reveals clarity rather than creating spectacle. No bounce,
   no spring, no looping decorative motion, no glow/pulse, no parallax, and
   motion is never required to understand status or sequence.
   prefers-reduced-motion support is mandatory.
   (Marketing reveals of 300–500ms are out of scope for Product UI.)
   ========================================================================= */
:root{
--duration-fast:160ms; /* @kind other */
--duration-base:180ms; /* @kind other */
--duration-slow:200ms; /* @kind other */
--duration-panel:220ms; /* @kind other */

/* Easing curves are R-050 APPROVED — v1.0 (DEC-08); R-041 sets duration
   and character, not curves. */
--ease-standard:cubic-bezier(.2,0,.2,1); /* @kind other */
--ease-out:cubic-bezier(0,0,.2,1); /* @kind other */
--ease-in:cubic-bezier(.4,0,1,1); /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}
/* Reduced-motion support is mandatory (R-041 §15) and is enforced here on the
   consumers rather than by redeclaring the duration tokens. Every animation
   and transition is neutralised, including the Button spinner keyframes, and
   the four --duration-* tokens keep their canonical 160/180/200/220ms values
   in the extracted token set instead of being overwritten with 0ms.
   Equivalent non-animated states are preserved; no meaning depends on motion. */
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms !important;animation-delay:0ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0ms !important}
html{scroll-behavior:auto !important}
}
