/* Tokens de motion do Material 3 como variáveis CSS.
   Valores oficiais: androidx/compose/material3/tokens/MotionTokens.kt
   Uso com Tailwind v4: ease-[var(--md-motion-easing-emphasized)] duration-[var(--md-motion-duration-medium2)] */
:root {
  --md-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --md-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --md-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
  --md-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --md-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);
  --md-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
  --md-motion-easing-linear: cubic-bezier(0, 0, 1, 1);

  --md-motion-duration-short1: 50ms;
  --md-motion-duration-short2: 100ms;
  --md-motion-duration-short3: 150ms;
  --md-motion-duration-short4: 200ms;
  --md-motion-duration-medium1: 250ms;
  --md-motion-duration-medium2: 300ms;
  --md-motion-duration-medium3: 350ms;
  --md-motion-duration-medium4: 400ms;
  --md-motion-duration-long1: 450ms;
  --md-motion-duration-long2: 500ms;
  --md-motion-duration-long3: 550ms;
  --md-motion-duration-long4: 600ms;
  --md-motion-duration-extra-long1: 700ms;
  --md-motion-duration-extra-long2: 800ms;
  --md-motion-duration-extra-long3: 900ms;
  --md-motion-duration-extra-long4: 1000ms;

  /* Springs spatial para CSS puro, geradas por simulação física (massa 1) e amostradas em 25 pontos.
     Use SEMPRE com a duração correspondente: transition: transform var(--md-motion-spring-expressive-fast-duration) var(--md-motion-spring-expressive-fast); */
  --md-motion-spring-expressive-fast: linear(0, 0.145, 0.398, 0.669, 0.872, 1.009, 1.076, 1.092, 1.080, 1.057, 1.032, 1.013, 1.000, 0.993, 0.992, 0.993, 0.995, 0.997, 0.999, 1.000, 1.001, 1.001, 1.001, 1.001, 1);
  --md-motion-spring-expressive-fast-duration: 470ms;
  --md-motion-spring-expressive-default: linear(0, 0.071, 0.213, 0.378, 0.535, 0.671, 0.781, 0.863, 0.923, 0.963, 0.988, 1.003, 1.011, 1.014, 1.013, 1.012, 1.010, 1.007, 1.005, 1.004, 1.002, 1.001, 1.001, 1.000, 1);
  --md-motion-spring-expressive-default-duration: 481ms;
  --md-motion-spring-expressive-slow: linear(0, 0.066, 0.203, 0.363, 0.519, 0.655, 0.766, 0.851, 0.913, 0.956, 0.984, 1.001, 1.010, 1.014, 1.014, 1.013, 1.011, 1.008, 1.006, 1.004, 1.003, 1.002, 1.001, 1.000, 1);
  --md-motion-spring-expressive-slow-duration: 649ms;
  --md-motion-spring-standard-default: linear(0, 0.067, 0.184, 0.329, 0.470, 0.587, 0.692, 0.776, 0.837, 0.887, 0.923, 0.948, 0.967, 0.980, 0.988, 0.993, 0.997, 0.999, 1.000, 1.001, 1.001, 1.001, 1.001, 1.001, 1);
  --md-motion-spring-standard-default-duration: 328ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    /* Mantém feedback (fades curtos) e elimina movimento espacial longo. */
    --md-motion-duration-medium1: 100ms;
    --md-motion-duration-medium2: 100ms;
    --md-motion-duration-medium3: 100ms;
    --md-motion-duration-medium4: 100ms;
    --md-motion-duration-long1: 150ms;
    --md-motion-duration-long2: 150ms;
    --md-motion-duration-long3: 150ms;
    --md-motion-duration-long4: 150ms;
    --md-motion-duration-extra-long1: 150ms;
    --md-motion-duration-extra-long2: 150ms;
    --md-motion-duration-extra-long3: 150ms;
    --md-motion-duration-extra-long4: 150ms;
  }
}
