/* tokens.css — единственный источник токенов
 *
 * Слой сети Bridge WAF. Разбор системы — `docs/design-system.md`.
 * Файл собственный, не копия комплекта: `site.css` и `_ops/site-kit/**`
 * общие на четыре спутника, и правка там задела бы соседей.
 *
 * Порядок подключения обязателен:
 *   fonts.css → tokens.css → base.css → home.css | kb.css
 */

/* ------------------------------------------------------------------ токены */

/* ЦВЕТОВАЯ ИДЕНТИКА ВЗЯТА С ЖИВОГО bridge-cdn.com (25.08.2026), решение
   владельца. Оболочка и компоненты — из bridge-waf-static, там система уже
   на Inter и без моноширинного. Заменены не только акценты: нейтральные у
   WAF несут зелёный подтон, который спорил бы с индиго, поэтому вся гамма
   приведена к главному сайту. --gold — та строка героя, что на главном
   выделена тёплым; взят янтарь, уже объявленный в токенах сети. */

:root {
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas,
    monospace;

  /* кегли донора: 64 / 32 / 20 / 16 / 14 / 12 */
  --fs-display: clamp(38px, 6.4vw, 64px);
  --fs-h2: clamp(26px, 3.2vw, 32px);
  --fs-card: 20px;
  --fs-lead: clamp(17px, 1.6vw, 20px);
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-label: 12px;

  --lh-display: 1;
  --lh-h2: 1.2;
  --lh-card: 1.4;
  --lh-lead: 1.5;
  --lh-body: 1.6;

  --ls-display: -0.04em;
  --ls-card: -0.04em;
  --ls-lead: -0.01em;
  --ls-body: -0.01em;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;

  --container: 1248px;
  --gutter: clamp(20px, 6.7vw, 96px);

  --radius: 4px;
  --radius-pill: 999px;
  --hairline: 1px;

  /* единственная нетривиальная кривая донора */
  --ease: cubic-bezier(0.44, 0, 0.56, 1);
  --t-fast: 0.3s var(--ease);
  --t-slow: 0.4s var(--ease);
}

:root,
:root[data-theme="gruvbox-dark"] {
  --bg: #17171c;
  --bg-raise: #1c1c22;
  --panel: #18181b;
  --panel-2: #1c1c21;
  --line: rgba(255, 255, 255, 0.09);
  --line-soft: rgba(255, 255, 255, 0.035);
  /* Тот же замер, что и по светлой теме, вскрыл ту же дыру и здесь: --dim
     давал 3.1:1 на 12px при норме 4.5, вторая строка заголовков — 5.2:1
     при 7:1. Значения подобраны численно с учётом ambient-воша, который на
     чёрном не затемняет, а осветляет подложку под текстом. */
  --text: #fafafa;
  --muted: #a1a1aa;
  /* --dim поднят с #71717a: на самой тёмной поверхности, где он стоит
     (--bg-raise #1c1c22), тот давал 3.51:1 при норме AA 4.5 для мелкого
     текста, а в нём набраны подписи таблиц и сноски. Тон сохранён,
     поднята только светлота: 4.58 на #1c1c22, 4.83 на фоне. */
  --dim: #84848f;

  /* Акцент взят с главного сайта bridge-cdn.com — решение владельца от
     2026-08-25: «основное это шрифт, иконки, идентика цвета и фото моста».
     Индиго #6366f1 применяется заливкой, границей и иконкой; цветом текста [unslop-ignore]
     он в слое стоит только на двух SVG 18–20px, где порог 3:1, а не 4.5. */
  --accent: #6366f1;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-hover: #818cf8;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-secondary: #818cf8;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  /* Заливка кнопки — на полтона темнее акцента. Подпись на самом акценте
     («#f6f6fe на #6366f1», unslop-ignore) даёт 4.15:1 при норме AA для текста мельче
     18.66px, кнопка не прошла бы. На заливке #4f46e5 (unslop-ignore) подпись
     даёт 5.85. Поэтому заливка — отдельный токен, а не сам акцент; знак и
     все прочие применения акцента не тронуты. Перемерено 2026-08-25 после
     перехода на индиго главного сайта. */
  --accent-fill: #4f46e5;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-fg: #f6f6fe;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-soft: rgba(99, 102, 241, 0.14);  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */

  /* Семантика режимов: три состояния продукта — три цвета, и больше ничего
     этими цветами не красится (спека §0.2). */
  --mode-off: #6b7280;
  --mode-monitor: #f59e0b;
  --gold: #fbbf24;
  --gold-soft: rgba(251, 191, 36, 0.14);
  --mode-block: #ef4444;

  --depth: rgba(56, 189, 248, 0.06);
  --fade: rgba(23, 23, 28, 0);
  color-scheme: dark;
}

:root[data-theme="proof-light"] {
  --bg: #ffffff;
  --bg-raise: #fbfbfa;
  --panel: #fafafa;
  --panel-2: #f4f4f4;
  --line: rgba(0, 0, 0, 0.11);
  --line-soft: rgba(0, 0, 0, 0.045);
  /* Замер по всем 183 текстовым узлам светлой темы (снимок без текста,
     худший пиксель подложки под каждым узлом) показал системный провал:
     --dim давал 2.8–3.3:1 на 12–14px при норме 4.5, --muted не дотягивал до
     7:1 на заголовках. Значения подобраны численно, а не на глаз:
     --dim 5.4:1 на белом и 4.9:1 на панели #f4f4f4, --muted 7.9:1 на белом. */
  /* Нейтрали светлой темы были с зелёным уклоном от донора (WAF); при индиго
     он читался как грязь. Тон снят, светлота сохранена — контрасты прежние:
     --muted 7.79 на белом, --dim 5.39 на белом и 4.90 на панели. */
  --text: #0b0b0e;
  --muted: #525255;
  --dim: #6a6a6d;
  --accent: #4f46e5;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-hover: #4338ca;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-secondary: #4f46e5;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-fill: #4f46e5;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-fg: #ffffff;  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --accent-soft: rgba(79, 70, 229, 0.1);  /* unslop-ignore: индиго — идентика bridge-cdn.com, решение владельца 2026-08-25 */
  --gold: #ac4f08;
  --gold-soft: rgba(172, 79, 8, 0.12);

  /* Те же роли, но затемнённые: на белом amber и red из тёмной темы
     не держат 4.5:1. */
  --mode-off: #6b7280;
  --mode-monitor: #a15c07;
  --mode-block: #c0392f;

  --depth: rgba(56, 189, 248, 0.05);
  --fade: rgba(255, 255, 255, 0);
  color-scheme: light;
}
