/* ════════════════════════════════════════════════════════════════════
   app-custom.css — niestandardowe reguły dodatkowe
   Czas na Excela
   
   Ten plik jest ładowany PO app.css, więc jego reguły mają wyższą
   specyficzność. Nie podlega rekompilacji Tailwind.
   
   Zawiera:
   - :focus-visible — widoczny focus dla nawigacji klawiaturą (WCAG 2.4.7)
   - prefers-reduced-motion — wyłączenie animacji dla osób z zaburzeniami
     przedsionkowymi (WCAG 2.3.3)
   ════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────────
   :focus-visible
   
   Pokazujemy outline tylko gdy user navigates klawiaturą (tab),
   nie przy kliknięciu myszą. Tailwind 3 ma `focus-visible:` modifier
   ale wymaga explicite użycia w klasach - my dodajemy globalny fallback.
   
   Kolor żółty (#facc15) pasuje do design systemu (yellow-400).
   ─────────────────────────────────────────────────────────────────── */

/* Wyłącz domyślny outline tylko gdy NIE jest to focus klawiaturą.
   Reguła ma niższą specyficzność niż istniejące style buttonów,
   więc nie nadpisze customowych focusów (np. inputów). */
*:focus:not(:focus-visible) {
  outline: none;
}

/* Dla focus klawiaturą - widoczny żółty outline */
*:focus-visible {
  outline: 2px solid #facc15;
  outline-offset: 2px;
  border-radius: 3px;
}

/* Dla inputów już istnieje custom focus (Tailwind ring) - nie ruszamy.
   Reguła powyżej obejmie button, a, [tabindex] itd. */

/* ───────────────────────────────────────────────────────────────────
   prefers-reduced-motion
   
   Użytkownicy z włączonym "Reduce Motion" w systemie (Windows, macOS,
   iOS, Android) nie powinni dostawać animacji/transitions.
   
   Zachowujemy małe animacje (0.01ms = praktycznie natychmiastowe)
   żeby nie wyłączyć funkcjonalności (np. animowane scrollIntoView
   nadal musi się zakończyć eventem).
   ─────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
