/* Motion.
   The first block is Impeccable's own shipped motion (extension/shared/
   kinpaku.css). The craft block below encodes the standards from the two
   craft-skill sources credited in readme.md: strong custom curves, ease-out
   for enter/exit, UI under 300ms, never ease-in. */

:root {
  --ks-ease: cubic-bezier(0.2, 0.8, 0.2, 1); /* @kind other */
  --ks-quick: 120ms; /* @kind other */
  --ks-settle: 200ms; /* @kind other */
  --ks-ease-hardware: cubic-bezier(0.3, 0.7, 0.2, 1); /* @kind other */ /* switch knob, 220ms */
  --ks-dur-hardware: 220ms; /* @kind other */

  /* Craft curves — stronger than the CSS built-ins, which lack punch. */
  --ks-ease-out: cubic-bezier(0.23, 1, 0.32, 1); /* @kind other */
  --ks-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1); /* @kind other */
  --ks-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1); /* @kind other */

  /* Craft durations, by element. */
  --ks-dur-press: 160ms; /* @kind other */    /* button press feedback: 100-160ms */
  --ks-dur-tooltip: 125ms; /* @kind other */  /* tooltips, small popovers: 125-200ms */
  --ks-dur-dropdown: 200ms; /* @kind other */ /* dropdowns, selects: 150-250ms */
  --ks-dur-modal: 300ms; /* @kind other */    /* modals, drawers: 200-500ms */
  --ks-stagger: 50ms; /* @kind other */       /* list stagger: 30-80ms between items */

  --ks-press-scale: 0.97; /* @kind other */   /* :active on any pressable element */
  --ks-enter-scale: 0.95; /* @kind other */   /* never animate from scale(0) */
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ks-quick: 1ms; /* @kind other */
    --ks-settle: 1ms; /* @kind other */
    --ks-dur-hardware: 1ms; /* @kind other */
  }
}
