/* theme-glow.css — собран make-glow.py, руками не править.
   Оформление «свечение» по референсу. Меняет только внешний вид:
   ни один тег и ни одна строка текста страницы не затронуты. */

/* --- 1. Фон: нейтральный глубокий чёрный ------------------- */
body.bg-gray-950{background-color:#0a0a0a;position:relative;isolation:isolate;}

/* --- 2. Слой света ------------------------------------------
   Лежит под содержимым и только в начале страницы: свет не
   должен ползти за читателем вниз на всю её длину. */
body.bg-gray-950::before{
  content:'';position:absolute;inset:0 0 auto 0;
  height:1800px;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 62% 52% at 50% 58%, rgba(210,245,10,0.38) 0%, rgba(210,245,10,0.355) 26%, rgba(210,245,10,0.275) 46%, rgba(210,245,10,0.16) 66%, rgba(210,245,10,0.065) 84%, rgba(210,245,10,0.02) 94%, transparent 100%);
}

/* --- 3. Вертикальные лучи -----------------------------------
   Частые тонкие полоски, обрезанные по форме света. Именно они
   дают ощущение света в воздухе, а не плоского пятна. */
body.bg-gray-950::after{
  content:'';position:absolute;inset:0 0 auto 0;
  height:1800px;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,0.14) 0 1px,rgba(255,255,255,0) 1px 6px);
  -webkit-mask-image:radial-gradient(ellipse 62% 52% at 50% 58%, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.355) 26%, rgba(255,255,255,0.275) 46%, rgba(255,255,255,0.16) 66%, rgba(255,255,255,0.065) 84%, rgba(255,255,255,0.02) 94%, transparent 100%);
  mask-image:radial-gradient(ellipse 62% 52% at 50% 58%, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.355) 26%, rgba(255,255,255,0.275) 46%, rgba(255,255,255,0.16) 66%, rgba(255,255,255,0.065) 84%, rgba(255,255,255,0.02) 94%, transparent 100%);
}

/* Содержимое — поверх света. */
body.bg-gray-950>*{position:relative;z-index:1;}

/* --- 4. Карточки-стекло ------------------------------------- */
.bg-gray-900\/50{
  background-color:rgba(8,10,6,0.58);
  -webkit-backdrop-filter:blur(14px) saturate(115%);
  backdrop-filter:blur(14px) saturate(115%);
  border-color:rgba(255,255,255,0.07);
  border-radius:24px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.75);
  position:relative;overflow:hidden;
}
/* Светлый волосок по верхнему краю — блик на стекле. */
.bg-gray-900\/50::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.16),transparent);
  pointer-events:none;
}

/* --- 5. Шапка и подвал: чистый чёрный ----------------------- */
nav.sticky{background-color:rgba(10,10,10,0.82);border-bottom-color:rgba(255,255,255,0.07);}
footer{background-color:#0a0a0a;border-top-color:rgba(255,255,255,0.07);}

/* --- 6. Типографика ----------------------------------------- */
/* Заголовки — крупные, с засечками.
   Начертание ОБЫЧНОЕ, не жирное, и это проверено снимками:
   у Georgia жирное — сплошная плита, вся игра тонких и толстых
   линий пропадает. Обычное в крупном размере даёт ту самую
   книжную элегантность, ради которой засечки и ставились.
   Размер поднят, а буквы поджаты: Georgia шире прежнего шрифта,
   и без этого заголовок разъезжается на лишнюю строку. */
/* Размер привязан к ширине экрана (vw), а не задан числом:
   иначе на телефоне длинное русское слово не влезает и вся
   страница получает боковую прокрутку. Так и случилось со
   словом «конфиденциальности» — поймано замером, не глазами.
   break-word — страховка на будущее: сработает только если
   слово всё равно не поместится, и переносов не наделает. */
h1{font-family:Georgia, 'Times New Roman', 'Noto Serif', serif;font-weight:400;font-size:clamp(2rem,8.5vw,5rem);line-height:1.04;letter-spacing:-.02em;overflow-wrap:break-word;}
h2{font-family:Georgia, 'Times New Roman', 'Noto Serif', serif;font-weight:400;font-size:clamp(1.5rem,5.5vw,2.8rem);line-height:1.12;letter-spacing:-.015em;overflow-wrap:break-word;}
/* Подписи карточек — моноширинный с разрядкой, как на референсе. */
.bg-gray-900\/50 h3{font-family:ui-monospace, 'SF Mono', Menlo, Consolas, 'Roboto Mono', monospace;font-weight:500;letter-spacing:.02em;}
/* Крупные числа (цены) — тоже с засечками. */
.bg-gray-900\/50 .text-2xl{font-family:Georgia, 'Times New Roman', 'Noto Serif', serif;font-weight:600;letter-spacing:-.01em;}
/* Чипы и мелкие пилюли — моноширинный. */
.rounded-full{font-family:ui-monospace, 'SF Mono', Menlo, Consolas, 'Roboto Mono', monospace;letter-spacing:.01em;}

/* Серый текст ВНЕ карточек лежит прямо на свету, и родные
   gray-400 / gray-500 давали там от 2.1 до 4.5 при норме 4.5.
   Замечено не глазом: мелкие подписи под роликами проверка
   сперва пропускала, потому что они не набирали порога. */
.text-gray-400{color:#e2e4db;}
.text-gray-500{color:#e2e4db;}

/* Текст внутри карточек светлее обычного: карточка лежит на
   свету, и серый gray-400 на ней давал контраст 3.7 вместо 4.5.
   Замерено на отрендеренной странице, не высчитано. */
.bg-gray-900\/50 p{color:#e2e4db;}
.bg-gray-900\/50 li{color:#e2e4db;}
.bg-gray-900\/50 .text-gray-500{color:#9aa08c;}

/* --- 7. Кнопки ----------------------------------------------
   Сплошная зелёная таблетка с ТЁМНОЙ надписью. Тёмная, а не
   белая: белая на этом зелёном даёт контраст 1.25 и не видна,
   тёмная — больше 14. */
:is(.bg-pink-400,.bg-pink-500,.bg-pink-600,.bg-rose-400,.bg-rose-500,.bg-rose-600,.bg-fuchsia-400,.bg-fuchsia-500,.bg-fuchsia-600,.bg-purple-400,.bg-purple-500,.bg-purple-600,.bg-violet-400,.bg-violet-500,.bg-violet-600,.bg-indigo-400,.bg-indigo-500,.bg-indigo-600,.bg-red-400,.bg-red-500,.bg-red-600,.bg-orange-400,.bg-orange-500,.bg-orange-600,.bg-amber-400,.bg-amber-500,.bg-amber-600,.bg-yellow-400,.bg-yellow-500,.bg-yellow-600,.bg-lime-400,.bg-lime-500,.bg-lime-600,.bg-green-400,.bg-green-500,.bg-green-600,.bg-emerald-400,.bg-emerald-500,.bg-emerald-600,.bg-teal-400,.bg-teal-500,.bg-teal-600,.bg-cyan-400,.bg-cyan-500,.bg-cyan-600,.bg-sky-400,.bg-sky-500,.bg-sky-600,.bg-blue-400,.bg-blue-500,.bg-blue-600,.from-pink-400,.from-pink-500,.from-pink-600,.from-rose-400,.from-rose-500,.from-rose-600,.from-fuchsia-400,.from-fuchsia-500,.from-fuchsia-600,.from-purple-400,.from-purple-500,.from-purple-600,.from-violet-400,.from-violet-500,.from-violet-600,.from-indigo-400,.from-indigo-500,.from-indigo-600,.from-red-400,.from-red-500,.from-red-600,.from-orange-400,.from-orange-500,.from-orange-600,.from-amber-400,.from-amber-500,.from-amber-600,.from-yellow-400,.from-yellow-500,.from-yellow-600,.from-lime-400,.from-lime-500,.from-lime-600,.from-green-400,.from-green-500,.from-green-600,.from-emerald-400,.from-emerald-500,.from-emerald-600,.from-teal-400,.from-teal-500,.from-teal-600,.from-cyan-400,.from-cyan-500,.from-cyan-600,.from-sky-400,.from-sky-500,.from-sky-600,.from-blue-400,.from-blue-500,.from-blue-600):not(.bg-clip-text):not(.text-transparent){
  background-image:none;
  background-color:#d2f50a;
  color:#0a0a0a;
  border:0;border-radius:999px;
  box-shadow:0 10px 30px -10px rgba(210,245,10,0.45);
}
:is(.bg-pink-400,.bg-pink-500,.bg-pink-600,.bg-rose-400,.bg-rose-500,.bg-rose-600,.bg-fuchsia-400,.bg-fuchsia-500,.bg-fuchsia-600,.bg-purple-400,.bg-purple-500,.bg-purple-600,.bg-violet-400,.bg-violet-500,.bg-violet-600,.bg-indigo-400,.bg-indigo-500,.bg-indigo-600,.bg-red-400,.bg-red-500,.bg-red-600,.bg-orange-400,.bg-orange-500,.bg-orange-600,.bg-amber-400,.bg-amber-500,.bg-amber-600,.bg-yellow-400,.bg-yellow-500,.bg-yellow-600,.bg-lime-400,.bg-lime-500,.bg-lime-600,.bg-green-400,.bg-green-500,.bg-green-600,.bg-emerald-400,.bg-emerald-500,.bg-emerald-600,.bg-teal-400,.bg-teal-500,.bg-teal-600,.bg-cyan-400,.bg-cyan-500,.bg-cyan-600,.bg-sky-400,.bg-sky-500,.bg-sky-600,.bg-blue-400,.bg-blue-500,.bg-blue-600,.from-pink-400,.from-pink-500,.from-pink-600,.from-rose-400,.from-rose-500,.from-rose-600,.from-fuchsia-400,.from-fuchsia-500,.from-fuchsia-600,.from-purple-400,.from-purple-500,.from-purple-600,.from-violet-400,.from-violet-500,.from-violet-600,.from-indigo-400,.from-indigo-500,.from-indigo-600,.from-red-400,.from-red-500,.from-red-600,.from-orange-400,.from-orange-500,.from-orange-600,.from-amber-400,.from-amber-500,.from-amber-600,.from-yellow-400,.from-yellow-500,.from-yellow-600,.from-lime-400,.from-lime-500,.from-lime-600,.from-green-400,.from-green-500,.from-green-600,.from-emerald-400,.from-emerald-500,.from-emerald-600,.from-teal-400,.from-teal-500,.from-teal-600,.from-cyan-400,.from-cyan-500,.from-cyan-600,.from-sky-400,.from-sky-500,.from-sky-600,.from-blue-400,.from-blue-500,.from-blue-600):not(.bg-clip-text):not(.text-transparent) *{color:inherit;}
:is(.bg-pink-400,.bg-pink-500,.bg-pink-600,.bg-rose-400,.bg-rose-500,.bg-rose-600,.bg-fuchsia-400,.bg-fuchsia-500,.bg-fuchsia-600,.bg-purple-400,.bg-purple-500,.bg-purple-600,.bg-violet-400,.bg-violet-500,.bg-violet-600,.bg-indigo-400,.bg-indigo-500,.bg-indigo-600,.bg-red-400,.bg-red-500,.bg-red-600,.bg-orange-400,.bg-orange-500,.bg-orange-600,.bg-amber-400,.bg-amber-500,.bg-amber-600,.bg-yellow-400,.bg-yellow-500,.bg-yellow-600,.bg-lime-400,.bg-lime-500,.bg-lime-600,.bg-green-400,.bg-green-500,.bg-green-600,.bg-emerald-400,.bg-emerald-500,.bg-emerald-600,.bg-teal-400,.bg-teal-500,.bg-teal-600,.bg-cyan-400,.bg-cyan-500,.bg-cyan-600,.bg-sky-400,.bg-sky-500,.bg-sky-600,.bg-blue-400,.bg-blue-500,.bg-blue-600,.from-pink-400,.from-pink-500,.from-pink-600,.from-rose-400,.from-rose-500,.from-rose-600,.from-fuchsia-400,.from-fuchsia-500,.from-fuchsia-600,.from-purple-400,.from-purple-500,.from-purple-600,.from-violet-400,.from-violet-500,.from-violet-600,.from-indigo-400,.from-indigo-500,.from-indigo-600,.from-red-400,.from-red-500,.from-red-600,.from-orange-400,.from-orange-500,.from-orange-600,.from-amber-400,.from-amber-500,.from-amber-600,.from-yellow-400,.from-yellow-500,.from-yellow-600,.from-lime-400,.from-lime-500,.from-lime-600,.from-green-400,.from-green-500,.from-green-600,.from-emerald-400,.from-emerald-500,.from-emerald-600,.from-teal-400,.from-teal-500,.from-teal-600,.from-cyan-400,.from-cyan-500,.from-cyan-600,.from-sky-400,.from-sky-500,.from-sky-600,.from-blue-400,.from-blue-500,.from-blue-600):not(.bg-clip-text):not(.text-transparent):hover{background-color:#d8f62c;}

/* Второстепенная кнопка — прозрачная, тонкая светлая рамка. */
.bg-gray-800.border-gray-700{
  background-color:transparent;
  border-color:rgba(255,255,255,0.22);
  border-radius:999px;color:#fff;
}
.bg-gray-800.border-gray-700:hover{background-color:rgba(255,255,255,0.06);}

