/* animation-pause-offscreen.css — пара к animation-pause-offscreen.js
 *
 * Когда JS поставил класс .is-offscreen-paused на блок (через IntersectionObserver
 * или visibilitychange) — все CSS-анимации блока и его потомков останавливаются.
 *
 * `animation-play-state: paused` — браузер замораживает анимацию на текущем кадре,
 * GPU-композитор перестаёт перерасчёт для этих слоёв. При снятии класса анимация
 * продолжается с того же кадра, без перезапуска и без визуального скачка.
 *
 * !important нужен потому что многие исходные правила задают play-state неявно
 * (через сокращённый `animation:` shorthand), а наш override должен победить.
 */
.is-offscreen-paused,
.is-offscreen-paused *,
.is-offscreen-paused *::before,
.is-offscreen-paused *::after {
  animation-play-state: paused !important;
}
