/* wlg-base.css — ЗАКОН НАБОРА ДЛЯ ВСЕХ СТРАНИЦ WLG.
   Подключается в КАЖДУЮ страницу. Правится ЗДЕСЬ, а не в файле страницы:
   правка здесь применяется ко всем страницам сразу, включая те, которых
   ещё нет. Проверяется прогоном /workspace/gate/ship.py.

   Требование владельца 18.08.2026: «Всё должно быть одно, правило написано
   и применяться ко всем темам, ко всем страницам, будущим, предыдущим». */

/* ПАЛИТРА БРЕНДБУКА, стр. 22. Доступна на КАЖДОЙ странице без объявления.
   Её слово 18.08 06:57: «Почему используются только белый, зелёный и жёлтый?
   У нас в брендбуке записаны ещё другие цвета, которые тоже нужно
   использовать, чтобы страница не выглядела такой скучной».
   Доли: изумруд поверхностью не меньше трети высоты, жёлтый действием,
   голубой и синий — акцентами (линия, плашка, подложка карточки, цифра),
   белый — воздух. Проверяет /workspace/gate/palette.py в общем прогоне. */
:root{
  --emerald:#005151;   /* поверхность, от трети высоты страницы */
  --yellow:#F3AE3D;    /* действие и заголовки на изумруде */
  --sky:#AFD6E6;       /* акцент: линия, подложка, деталь */
  --nautical:#285885;  /* акцент: второй тон, цифры, линии на светлом */
}

/* Готовые роли акцентов, чтобы страница не собиралась из двух цветов.
   Ставятся классом, цвет не выдумывается в файле страницы. */
.rule-sky{ border-top:4px solid var(--sky); }
.rule-nautical{ border-top:4px solid var(--nautical); }
.tint-sky{ background:var(--sky); color:#0b2a33; }
.tint-nautical{ background:var(--nautical); color:#fff; }
.ink-nautical{ color:var(--nautical); }

/* НАБОР ТЕКСТА. Один закон на все страницы, ПОНИЖЕННОЙ силы: страница
   имеет право уточнить его у себя, и её правило должно побеждать.
   Цепочки :not() здесь стояли раньше и весили 0,5,1 — они молча били
   правила самих страниц. Не возвращать.

   Ровный край с обеих сторон даётся ВЫКЛЮЧКОЙ ПО ФОРМАТУ. Слова не
   разрезаются: переносы запрещены владельцем 18.08. Значит там, где мера
   узка и пробелы раздуваются, лечится МЕРА (gate/fitjust.py, gate/fitquote.py),
   а не возврат hyphens:auto. Проверяет gate/gaps_words.py. */
/* td здесь наравне с прозой: владелец 18.08 прислала кадр таблицы со словами
   «waves on the right side again» — рваный край живёт и в ячейках. Порядок
   лечения тот же: сперва МЕРА колонки, потом выключка; узкая колонка даёт
   дыры между словами (замер соседней линии: 73px против нормы 4.2px). */
p, li, dd, td{
  text-align: justify;
  text-justify: inter-word;
  text-wrap: initial;
  hyphens: manual;
}

/* УЗКАЯ ЯЧЕЙКА: выключка держится мерой, а колонки таблицы делят одну ширину
   и расширить их некуда. Замер 18.08 на таблице в три колонки: в ячейке 218
   точек пробел раздулся до 82px против нормы 4.2px, это 19 норм. Поэтому у
   колонки уже ~340 точек ставим класс tight и уходим влево: ровный край там
   недостижим без дыр. Порог тот же, что у проверки волны. */
td.tight{
  text-align: left;
  text-wrap: balance;
}

/* ТЕЛЕФОН: ячейка таблицы там не бывает широкой ни при какой вёрстке. Замер
   соседней линии 18.08 на 390: ячейки 320 точек, пять провалов по краю и два
   блока с дырами там, где до правила было ноль. Значит на узком экране ячейки
   идут влево, а ровный край живёт на широком, где мера его держит. */
@media(max-width: 900px){
  td{ text-align: left; text-wrap: balance; }
}

/* Подписи, роли, служебные строки: короткая мера выключки не держит.
   Ровность даёт balance — длина строк выравнивается, дыр не возникает. */
p.role, p.eyebrow, p.sub, p.note, p.meta, .gates li{
  text-align: left;
  text-wrap: balance;
}

h1, h2, h3, h4, h5, .eyebrow, .go, .cta, .role, cite, figcaption,
.mark, .sub, .note, .meta, th, caption, dt, summary{
  text-align: left;
  text-wrap: balance;
  hyphens: manual;
}

/* Последний блок секции не тянет вниз лишнюю пустоту. */
.wrap > *:last-child, .in > *:last-child{ margin-bottom: 0; }
