/* Слой фактуры. Лежит под содержимым и не перехватывает ни одного
 * события: это атмосфера, а не интерфейс. Скрыт по умолчанию — показывает
 * его сам скрипт, и только если WebGL действительно завёлся.
 */
#atmosphere {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
}
#atmosphere[hidden] { display: none; }

/* Содержимое всегда поверх фактуры.
 *
 * Только main. Ссылку «перейти к содержанию» это правило раньше тоже
 * трогало — и ломало её: в site.css она absolute и потому вне потока, а
 * здесь получала position: relative, возвращалась в поток и сдвигала всю
 * страницу на 25 точек вниз. На телефоне это читалось как лишний отступ
 * сверху, что оператор и заметил.
 *
 * Свой z-index у неё уже есть, и он выше этого. Позицию ей назначает
 * site.css, и никто больше назначать её не должен. */
main { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
  #atmosphere { display: none !important; }
}
