:root {
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */

  --duration-instant: 90ms; /* @kind other */
  --duration-fast: 150ms; /* @kind other */
  --duration-base: 220ms; /* @kind other */
  --duration-slow: 400ms; /* @kind other */

  --transition-control: color var(--duration-fast) var(--ease-soft),
    background-color var(--duration-fast) var(--ease-soft),
    border-color var(--duration-fast) var(--ease-soft),
    box-shadow var(--duration-fast) var(--ease-soft),
    transform var(--duration-instant) var(--ease-soft);

  /* Press state: everything pressable shrinks a hair. */
  --press-scale: 0.97; /* @kind other */
  /* Hover lift: cards rise 2px, never more. */
  --hover-lift: -2px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 1ms; /* @kind other */
    --duration-fast: 1ms; /* @kind other */
    --duration-base: 1ms; /* @kind other */
    --duration-slow: 1ms; /* @kind other */
    --press-scale: 1; /* @kind other */
    --hover-lift: 0px;
  }
}
