/* =====================================================================
 * Motion Tokens — TZ-20 §4.1
 * Barcha animatsiya qiymatlari shu yerda markazlashtiriladi.
 * Komponent hech qachon literal 300ms / cubic-bezier(...) yozmaydi.
 * ===================================================================== */

:root {
  /* ===== Duration shkalasi ===== */
  --duration-instant: 80ms;    /* tap feedback, kichik state */
  --duration-fast: 150ms;      /* hover, micro-interaction */
  --duration-base: 250ms;      /* modal, dropdown, accordion, swap */
  --duration-slow: 400ms;      /* murakkab layout, entrance */
  --duration-slower: 600ms;    /* hero sahna, katta reveal */
  --duration-page: 300ms;      /* sahifa / View Transition */

  /* ===== Easing egri chiziqlari ===== */
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);      /* default — decelerate, ko'p UI */
  --ease-decelerate: cubic-bezier(0, 0, 0.2, 1);    /* entrance (kirish) */
  --ease-accelerate: cubic-bezier(0.4, 0, 1, 1);    /* exit (chiqish) */
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);    /* ta'kidlangan harakat */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* yumshoq spring (over-shoot cheklangan) */

  /* ===== Distance (translate masofasi) ===== */
  --motion-distance-sm: 8px;   /* micro slide */
  --motion-distance-md: 16px;  /* reveal slide-up */
  --motion-distance-lg: 32px;  /* hero, katta entrance */

  /* ===== Stagger (ketma-ket kechikish) ===== */
  --motion-stagger-tight: 40ms;
  --motion-stagger-base: 80ms;
  --motion-stagger-loose: 120ms;
}

/* Reduced motion — barcha duration amalda nolga teng (TZ-20 §9.1, 1-qatlam: token) */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 1ms;
    --duration-fast: 1ms;
    --duration-base: 1ms;
    --duration-slow: 1ms;
    --duration-slower: 1ms;
    --duration-page: 1ms;
    --motion-distance-sm: 0px;
    --motion-distance-md: 0px;
    --motion-distance-lg: 0px;
    --motion-stagger-tight: 0ms;
    --motion-stagger-base: 0ms;
    --motion-stagger-loose: 0ms;
  }
}
