/* ==========================================================================
   Анимации модалок и шторок (Radix Dialog).

   ЗАЧЕМ ЭТОТ ФАЙЛ
   Основной CSS Shark (`index-CR3qN9bz.css`) — JIT-сборка (purged stylesheet):
   Tailwind вырезал классы, которые не встречались в исходниках на момент
   сборки. В частности, из разметки Radix-компонентов выпали
   `data-[state=open]:animate-in`, `fade-in-0`, `zoom-in-95` — поэтому все
   модалки и шторки открывались МГНОВЕННО (без fade, без зума, без сдвига).

   Здесь keyframes и селекторы по `data-slot` — они не зависят от того, какие
   классы Tailwind успел вырезать. Файл подключается ПОСЛЕ основного CSS, его
   правила имеют приоритет.

   Стиль — как в iOS/Telegram: шторка выезжает снизу, диалоги по центру
   мягко увеличиваются, подложка плавно затемняется.
   ========================================================================== */

@keyframes shark-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes shark-fade-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@keyframes shark-zoom-in {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes shark-zoom-out {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.97); }
}

@keyframes shark-slide-up {
  from { opacity: 0; transform: translateY(100%); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes shark-slide-down {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(100%); }
}

/* ── Подложка ───────────────────────────────────────────────────────────── */
[data-slot="dialog-overlay"] {
  animation: shark-fade-out 200ms cubic-bezier(0.4, 0, 1, 1) both;
}

[data-slot="dialog-overlay"][data-state="open"] {
  animation: shark-fade-in 260ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* ── Диалог по центру (не шторка) ──────────────────────────────────────── */
[data-slot="dialog-content"]:not(.bottom-sheet-dialog-content) {
  animation: shark-zoom-out 180ms cubic-bezier(0.4, 0, 1, 1) both;
}

[data-slot="dialog-content"]:not(.bottom-sheet-dialog-content)[data-state="open"] {
  animation: shark-zoom-in 240ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* ── Шторка снизу (bottom sheet) ────────────────────────────────────────── */
[data-slot="dialog-content"].bottom-sheet-dialog-content {
  animation: shark-slide-down 240ms cubic-bezier(0.32, 0, 0.67, 0) both;
}

[data-slot="dialog-content"].bottom-sheet-dialog-content[data-state="open"] {
  animation: shark-slide-up 320ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

/* ── Доступность: пользователь просил меньше движения ─────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-slot="dialog-overlay"],
  [data-slot="dialog-content"] {
    animation-duration: 1ms !important;
  }
}
