/* RJ DTC Admin · motion.css · split verbatim from phase-2/kit/tokens.css (kit v3) by phase-4/src/build_pack.py.
   Colour roles are shadcn-style bare HSL triples: use hsl(var(--x)) or hsl(var(--x) / .12). */
:root {
  /* ---------- motion: crisp set (Satin Lapel), approved as-is ---------- */
  --ease-standard: cubic-bezier(.2,0,0,1);
  --ease-in: cubic-bezier(.22,1,.36,1);    /* entering: soft landing */
  --ease-out: cubic-bezier(.4,0,1,1);      /* leaving */
  --motion-hover: 120ms var(--ease-standard);
  --motion-press: 80ms var(--ease-standard);
  --motion-focus: 140ms var(--ease-standard);
  --motion-pop-in: 160ms var(--ease-in);
  --motion-pop-out: 110ms var(--ease-out);
  --motion-sheet-in: 260ms var(--ease-in);
  --motion-sheet-out: 180ms var(--ease-out);
  --motion-toast-in: 200ms var(--ease-in);
  --motion-toast-out: 140ms var(--ease-out);
  --toast-dwell: 2600ms;
  --toast-dwell-undo: 5200ms; /* an Undo toast stays twice as long (raised by status-feedback) */
  --toast-gap: 8px;           /* gap between stacked toasts (raised by status-feedback) */
  --tooltip-delay: 400ms;     /* hover delay before a tooltip; keyboard focus shows it at once (raised by overlays + page-help) */
  --hovercard-delay: 500ms;   /* (raised by overlays) */
  --motion-skeleton: 1.6s var(--ease-standard) infinite alternate; /* skeleton pulse (raised by data-table + cards-gallery) */
  --press-shift: 1px;      /* button settles 1px on press */
  --pop-shift: -4px;       /* dropdown drops 4px */
  --toast-shift: 8px;      /* toast rises 8px */
  --lift-shift: -2px;      /* card hover lift (raised by cards-gallery) */

  /* ---------- kit v3 · motion literals (animations and hand-off delays; reduced motion is handled per rule) ---------- */
  --ease-enter: var(--ease-in);   /* clearer name: the ENTERING curve (decelerates into place). --ease-in stays for compatibility */
  --ease-exit: var(--ease-out);   /* clearer name: the LEAVING curve (accelerates away). --ease-out stays for compatibility */
  --ease-linear: linear;          /* spinners and rotations only */
  --ease-blink: steps(1);         /* text caret blink */
  --motion-spin: .8s;             /* spinner turn */
  --motion-spin-reduced: 2.4s;    /* spinner turn under prefers-reduced-motion */
  --motion-flash: 900ms;          /* row / card "just changed" flash */
  --motion-shake: 360ms;          /* shake animation on the surfaces (pg-shake) */
  --motion-rotate: 1.2s;          /* rotation animation on the surfaces (wb-rot) */
  --motion-indeterminate: 1.5s;   /* indeterminate progress bar sweep */
  --motion-loadbar: 1.4s;         /* top load bar sweep */
  --motion-caret: 1.1s;           /* command palette caret blink */
  --motion-handoff: .2s;          /* visibility hand-off after a menu, tooltip or dialog closes */
  --motion-handoff-sheet: .3s;    /* visibility hand-off after a side sheet closes */
  --skeleton-stagger: .12s;       /* delay step between skeleton rows */
}

/* Reduced motion: every move becomes instant. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-hover: 1ms linear; --motion-press: 1ms linear; --motion-focus: 1ms linear;
    --motion-pop-in: 1ms linear; --motion-pop-out: 1ms linear;
    --motion-sheet-in: 1ms linear; --motion-sheet-out: 1ms linear;
    --motion-toast-in: 1ms linear; --motion-toast-out: 1ms linear;
    --press-shift: 0px; --pop-shift: 0px; --toast-shift: 0px; --lift-shift: 0px;
    --tooltip-delay: 0ms; --hovercard-delay: 0ms; --motion-skeleton: none;
  }
}
