animation.finished: очистка после WAAPI
Promise вместо animationend на document.
`await element.animate(keyframes, options).finished` удаляет временные классы и снимает `pointer-events: none` с оверлея — не нужен глобальный слушатель `animationend` с проверкой `event.target`.
Обрабатывайте reject при `animation.cancel()`.
- Animation.finished — MDN — Promise finished.
- Web Animations API — MDN — Обзор WAAPI.