/*
 * VocaSensei Motion Tokens
 * Material Design 3 motion system.
 * Three easing families: Standard, Emphasized, Legacy.
 *
 * VocaSensei-specific timing notes:
 *   FSRS rating tap:       200ms Standard       (lightImpact haptic)
 *   Knowledge Card expand: 300ms Emphasized      (mediumImpact haptic)
 *   Achievement reveal:    400ms Emph. Decelerate (heavyImpact haptic)
 *   Screen transitions:    300ms Emph. Decelerate
 */

:root {
  /* ── Easing curves ── */

  /* Standard — for elements that stay on screen */
  --motion-standard:            cubic-bezier(0.2, 0.0, 0.0, 1.0); /* @kind other */
  --motion-standard-decelerate: cubic-bezier(0.0, 0.0, 0.0, 1.0); /* @kind other */
  --motion-standard-accelerate: cubic-bezier(0.3, 0.0, 1.0, 1.0); /* @kind other */

  /* Emphasized — for elements entering or exiting screen / prominent actions */
  --motion-emphasized:            cubic-bezier(0.2, 0.0, 0.0, 1.0); /* @kind other */
  --motion-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1.0); /* @kind other */
  --motion-emphasized-accelerate: cubic-bezier(0.3, 0.0, 0.8, 0.15); /* @kind other */

  /* Legacy (M2 standard) — used for simple property transitions */
  --motion-legacy:            cubic-bezier(0.4, 0.0, 0.2, 1.0); /* @kind other */
  --motion-legacy-decelerate: cubic-bezier(0.0, 0.0, 0.2, 1.0); /* @kind other */
  --motion-legacy-accelerate: cubic-bezier(0.4, 0.0, 1.0, 1.0); /* @kind other */

  /* ── Duration tokens ── */
  --motion-duration-short-1: 50ms; /* @kind other */
  --motion-duration-short-2: 100ms; /* @kind other */
  --motion-duration-short-3: 150ms; /* @kind other */
  --motion-duration-short-4: 200ms; /* @kind other */
  --motion-duration-medium-1: 250ms; /* @kind other */
  --motion-duration-medium-2: 300ms; /* @kind other */
  --motion-duration-medium-3: 350ms; /* @kind other */
  --motion-duration-medium-4: 400ms; /* @kind other */
  --motion-duration-long-1: 450ms; /* @kind other */
  --motion-duration-long-2: 500ms; /* @kind other */
  --motion-duration-long-3: 550ms; /* @kind other */
  --motion-duration-long-4: 600ms; /* @kind other */
  --motion-duration-extra-long-1: 700ms; /* @kind other */
  --motion-duration-extra-long-2: 800ms; /* @kind other */
  --motion-duration-extra-long-3: 900ms; /* @kind other */
  --motion-duration-extra-long-4: 1000ms; /* @kind other */

  /* ── VocaSensei semantic motion ── */
  --motion-fsrs-tap:             var(--motion-duration-short-4); /* @kind other *//* 200ms */
  --motion-fsrs-easing:          var(--motion-standard); /* @kind other */
  --motion-card-expand:          var(--motion-duration-medium-2); /* @kind other *//* 300ms */
  --motion-card-easing:          var(--motion-emphasized); /* @kind other */
  --motion-card-collapse:        var(--motion-duration-medium-1); /* @kind other *//* 250ms */
  --motion-card-collapse-easing: var(--motion-emphasized-accelerate); /* @kind other */
  --motion-achievement-reveal:   var(--motion-duration-medium-4); /* @kind other *//* 400ms */
  --motion-achievement-easing:   var(--motion-emphasized-decelerate); /* @kind other */
  --motion-screen-enter:         var(--motion-duration-medium-2); /* @kind other *//* 300ms */
  --motion-screen-easing:        var(--motion-emphasized-decelerate); /* @kind other */
  --motion-ink-splash:           var(--motion-duration-short-4); /* @kind other *//* 200ms */
  --motion-state-change:         var(--motion-duration-short-3); /* @kind other *//* 150ms */
  --motion-tooltip-enter:        var(--motion-duration-short-2); /* @kind other *//* 100ms */
}
