/* ============================================================
   A.L.E.X. — ФОН-АТМОСФЕРА ВНУТРЕННИХ СТРАНИЦ
   (круг 1282, файл Г1 §6А; решение владельца 29.08.2026).

   ЗАЧЕМ. Внутренние страницы уходят от плоской тьмы, но В НАШЕМ материале,
   без мультяшности:
     · НОЧЬ  — глубокий графит, чуть заметная звёздная пыль, редкие медленные
               искры-угольки плывут вверх (перекликаются с нашим огнём, а не
               спорят с ним), лёгкое золотое свечение по краям экрана;
     · ДЕНЬ  — тёплая слоновая кость, мягкое световое пятно, как солнце через
               окно; не облака, а свет.
   Луны, крупных звёзд и падающих метеоров на рабочих страницах НЕТ — это
   прямая граница постановки (они живут только на «О A.L.E.X.» и 404, §6Б).

   ГЛАВНОЕ ПРАВИЛО (§6А.2), от которого зависит всё остальное: живой фон —
   ТОЛЬКО в геройской зоне страницы. Под текстовыми блоками, формами и
   подвалом фон гаснет до статичного. Поэтому весь файл висит на `.hero--metal`
   и его псевдоэлементах, а не на `body`: движение за текстом недопустимо,
   впереди работа над текстами и читаемость первична.

   ЧЕМ СДЕЛАНО. Двумя псевдоэлементами хиро и градиентами. Ни картинок, ни
   канваса, ни видео: вес по сети — ноль байт, кадр не считается ничем, кроме
   композитора браузера. Искры — один слой точек, который медленно едет вверх
   и зацикливается; звёздная пыль статична.

   ГЛАВНАЯ ЭТОТ ФАЙЛ НЕ ГРУЗИТ (§6А.3): там своя сцена с эпик-фоном и огнём
   «300+», и вторая атмосфера рядом с ними была бы той самой ёлкой, которую
   запрещает §7.1.
   ============================================================ */

/* ---------- 1. Токены ---------- */

:root {
  --atm-pyl:    rgba(236, 239, 243, .30);   /* звёздная пыль, ночь */
  --atm-ugol:   rgba(226, 112, 27, .34);    /* искра-уголёк */
  --atm-kray:   rgba(212, 175, 55, .10);    /* золотое свечение по краям */
  --atm-svet:   rgba(255, 246, 224, .00);   /* дневное пятно: ночью его нет */
}

[data-theme="light"] {
  --atm-pyl:    rgba(60, 66, 74, .12);
  --atm-ugol:   rgba(198, 96, 18, .18);
  --atm-kray:   rgba(184, 134, 11, .10);
  --atm-svet:   rgba(255, 246, 224, .55);
}

/* ---------- 2. Геройская зона: пыль, край, дневной свет ----------

   `.hero--metal` уже `position: relative` в hub.css и уже несёт металл-канон
   градиентами. Мы добавляем СВОЙ слой, а не переписываем чужой: правка
   `background` соседа сбросила бы всю его семью свойств — грабля, на которой
   круг 1275 положил эпик-фон плиткой (fon-epik.css §1). */

.hero--metal { isolation: isolate; }

.hero--metal::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    /* дневное световое пятно — «солнце через окно», ночью прозрачно */
    radial-gradient(75% 60% at 78% 6%, var(--atm-svet) 0%, transparent 64%),
    /* золотое свечение по краям экрана — отблеск металла */
    radial-gradient(120% 90% at 50% 108%, var(--atm-kray) 0%, transparent 58%),
    /* звёздная пыль: редкие мелкие точки, набранные повторяющимся градиентом.
       Шаг у слоёв разный и не кратный — иначе точки встают решёткой. */
    radial-gradient(1px 1px at 17% 22%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 63% 12%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 84% 41%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 31% 63%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 72% 78%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 46% 34%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 8%  71%, var(--atm-pyl) 50%, transparent 51%),
    radial-gradient(1px 1px at 93% 66%, var(--atm-pyl) 50%, transparent 51%);
}

/* ---------- 3. Искры-угольки ----------
   Редкие, медленные, снизу вверх — как от нашего огня. Слой один и он же
   зациклен: полоса точек высотой в две высоты хиро едет вверх на свою
   половину и повторяется, поэтому шва не видно.

   Только тёмная тема: угольки в дневном небе не читаются вовсе, а рисовать
   их «чтобы было» — ровно то украшательство, которое запрещает канон. */

[data-theme="dark"] .hero--metal::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200%;
  z-index: -1;
  pointer-events: none;
  background-repeat: repeat-y;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 8%,  var(--atm-ugol) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 38% 26%, var(--atm-ugol) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 67% 14%, var(--atm-ugol) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 89% 33%, var(--atm-ugol) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 24% 44%, var(--atm-ugol) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 55% 47%, var(--atm-ugol) 50%, transparent 51%);
  animation: atm-ugolki 46s linear infinite;
}

@keyframes atm-ugolki {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}

/* ---------- 4. Покой читателя ----------
   Просьба о покое — и системная, и тумблер комфорт-режима витрины. Атмосфера
   при ней остаётся, движение уходит: премиальный статичный кадр вместо
   анимации (§7.3 файла Г1). */

@media (prefers-reduced-motion: reduce) {
  [data-theme="dark"] .hero--metal::after { animation: none; }
}
html[data-kmf-motion="less"] [data-theme="dark"] .hero--metal::after,
html[data-kmf-motion="less"][data-theme="dark"] .hero--metal::after {
  animation: none;
}
