/* FROST 5 — живой фон всех страниц (владелец 08.10: «придумай фоны… чтобы живой был, а не шаблонное; для светлого — светлая
   концепция с переливами, может планету или лавину; ночной — космос, ночное небо или глубина океана»).
   Тёмная — «ночное небо над ледяной планетой»: звёзды в три слоя глубины, северное сияние, дуга планеты с ледяной кромкой.
   Светлая — «ледник на рассвете»: небо-перелив от льда к тёплому рассвету, снежные хребты слоями, снег, блик по склонам.
   Фон только декорация под плотными панелями: текст на нём не лежит без подложки, кроме крупных заголовков (замер контраста). */

html.has-sky body { background: transparent !important; }
.sky { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; contain: strict;
  background:
    radial-gradient(120% 70% at 50% -10%, #12284A 0%, rgba(18, 40, 74, 0) 60%),
    linear-gradient(180deg, #060B18 0%, #050812 55%, #03050A 100%); }
.sky canvas { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ── ночь: северное сияние — три ленты, каждая колышется своим темпом ── */
.sky .aur { position: absolute; left: -20%; right: -20%; height: 46vh; top: -6vh; filter: blur(38px); opacity: .55;
  mix-blend-mode: screen; transform-origin: 50% 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 55%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 55%, transparent 100%);
  background: linear-gradient(100deg, transparent 8%, rgba(46, 230, 160, .55) 26%, rgba(127, 227, 255, .5) 44%,
                                       transparent 58%, rgba(46, 230, 160, .35) 74%, transparent 92%);
  animation: aur-a 26s ease-in-out infinite alternate; }
.sky .aur.b { top: 2vh; height: 34vh; opacity: .38; animation: aur-b 34s ease-in-out infinite alternate;
  background: linear-gradient(80deg, transparent 12%, rgba(127, 227, 255, .5) 34%, rgba(120, 140, 255, .28) 52%, transparent 70%); }
.sky .aur.c { top: 8vh; height: 24vh; opacity: .28; animation: aur-a 41s ease-in-out -12s infinite alternate-reverse; }
@keyframes aur-a { 0% { transform: translateX(-6%) skewX(-12deg) scaleY(.9); } 100% { transform: translateX(6%) skewX(8deg) scaleY(1.15); } }
@keyframes aur-b { 0% { transform: translateX(5%) skewX(10deg) scaleY(1.1); } 100% { transform: translateX(-7%) skewX(-6deg) scaleY(.85); } }

/* ── ночь: дуга ледяной планеты внизу, кромка подсвечена «восходом» ── */
.sky .planet { position: absolute; left: 50%; width: 190vmax; height: 190vmax; top: calc(100% - 15vh); border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(60% 40% at 50% 0%, #1A3556 0%, #0C1A2E 38%, #060B16 70%);
  box-shadow: 0 -1px 0 rgba(160, 235, 255, .55), 0 -10px 40px rgba(127, 227, 255, .28), 0 -60px 140px rgba(60, 140, 220, .18); }
.sky .planet::after { content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: radial-gradient(30% 6% at 50% 0%, rgba(200, 245, 255, .35), transparent 70%); animation: rim 9s ease-in-out infinite alternate; }
@keyframes rim { from { opacity: .55; } to { opacity: 1; } }

/* ── рассвет: включается классом html.light ── */
html.light .sky { background:
    radial-gradient(70% 55% at 78% 78%, rgba(255, 214, 170, .75) 0%, rgba(255, 214, 170, 0) 60%),
    radial-gradient(90% 60% at 20% 0%, rgba(150, 205, 240, .55) 0%, rgba(150, 205, 240, 0) 65%),
    linear-gradient(180deg, #C8E1F4 0%, #E3F0FA 38%, #F6EEE6 72%, #FCE9DA 100%); }
html.light .sky .aur, html.light .sky .planet { display: none; }
.sky .ridges { position: absolute; left: 0; right: 0; bottom: 0; height: 46vh; display: none; }
html.light .sky .ridges { display: block; }
.sky .ridges svg { position: absolute; left: -2%; width: 104%; bottom: 0; will-change: transform; }
.sky .ridges .r1 { height: 46vh; } .sky .ridges .r2 { height: 34vh; } .sky .ridges .r3 { height: 22vh; }
/* блик: светлая полоса медленно проходит по склонам — «переливы» льда */
.sky .glint { position: absolute; inset: 0; display: none; mix-blend-mode: soft-light;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .85) 48%, transparent 60%);
  background-size: 260% 100%; animation: glint 14s ease-in-out infinite; }
html.light .sky .glint { display: block; }
@keyframes glint { 0% { background-position: 130% 0; } 60%, 100% { background-position: -40% 0; } }

/* «Меньше движения» у владельца включено системно: движение медленнее и мягче, но живёт */
@media (prefers-reduced-motion: reduce) {
  .sky .aur { animation-duration: 60s; } .sky .aur.b { animation-duration: 80s; }
  .sky .glint { animation-duration: 28s; }
}

/* Плавные переходы между страницами FROST 5 (владелец 08.10: «чтобы переходы плавные и анимации красивые»): нативные
   переходы браузера между документами — страница мягко сменяется, знак FROST в шапке перетекает на своё место.
   Масштаб почти нулевой: приближение и затухание сильнее всего укачивают (исследование Сиднейского университета). */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-out .16s ease-in both; }
::view-transition-new(root) { animation: vt-in .28s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes vt-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes vt-in { from { opacity: 0; transform: translateY(6px); } }
header .mark, .cabtop .mk, .top .mk { view-transition-name: frost-brand; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root) { animation-duration: .1s; } ::view-transition-new(root) { animation-duration: .16s; }
}

/* Подписи разделов на фоне (владелец 09.10: обрезанная подложка «Сегодня» — «что это»): без плашки, чистый текст
   с мягкой тенью цвета фона — читается и на инее, и на воде, и не выглядит обрубком. */
html.sky-glass .hd { background: none; padding: 0; margin-left: 0; box-shadow: none;
  text-shadow: 0 1px 2px var(--bg), 0 0 12px var(--bg), 0 0 22px var(--bg); }

/* Ночная тема над горами (владелец 09.10: «контраста плашек не хватает, плывёт с фоном»; 23.10: «тему океана убираем,
   остаются козлы дневные и надо сделать козлов и горы ночной темой ещё»). Замер по готовому кадру 27.10 (/oferta, 1280):
   карточка на экране L* 30.8–32.9, небо рядом с её краем 5.4–13.8, то есть ΔL* от 17.5 до 27.2 при норме ≥ 9 — запас есть
   на всей высоте. Считать по одним токенам тут нельзя: поверх --p1 лежит стекло, и настоящая светлота карточки выше.
   Второй и третий уровни (поле, строка пробы, способ оплаты, плашка) прежде стояли впритык к карточке — #313D52 и #3D4A62, L* 25.6 и 31.3,
   шаги 6.0 и 5.7 при норме ≥ 9 (замер 09.10: .dyou, .it, .meth «сливались»). Теперь #39455B и #4E5B74 — L* 29.1 и 38.5, шаги 9.5 и 9.4;
   страницу и карточку не трогаем, чтобы вода и плашки выглядели как прежде. Серый --fa и малиновый текст на них — в desk.css и site.css. */
html.sky-glass:not(.light) {
  --p1: #253042; --p2: #39455B; --p3: #4E5B74;
  --edge: rgba(150,215,255,.20); --edge2: rgba(150,215,255,.34);
  --sh: 0 1px 0 rgba(255,255,255,.08) inset, 0 2px 6px rgba(0,0,0,.5), 0 22px 48px -18px rgba(0,0,0,.85);
}
/* подложка подписи — по размеру текста, а не полосой на всю колонку */
