:root {
  /* Motion is satin: slow-in, unhurried, no bounce, no spring. Think ribbon
     falling. Hovers cross-fade, sheets glide, nothing snaps. */
  --ease-satin: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-out-soft: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-in-out-soft: cubic-bezier(0.45, 0, 0.55, 1); /* @kind other */

  --dur-instant: 90ms; /* @kind other */
  --dur-fast: 160ms; /* @kind other */
  --dur-base: 240ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --dur-sheet: 520ms; /* @kind other */
  --dur-reveal: 900ms; /* @kind other */

  --transition-control: color var(--dur-fast) var(--ease-satin),
    background-color var(--dur-fast) var(--ease-satin),
    border-color var(--dur-fast) var(--ease-satin),
    box-shadow var(--dur-fast) var(--ease-satin); /* @kind other */
  --transition-media: transform var(--dur-slow) var(--ease-satin), opacity var(--dur-base) var(--ease-satin); /* @kind other */

  --press-scale: 0.985; /* @kind other */
  --media-hover-scale: 1.035; /* @kind other */
}
