:root{
/* Поверхности */
--tn-bg-from:#E8E9F8; --tn-bg-to:#F9EFE9;
--tn-surface:#FFFFFF; --tn-surface-2:#F5F5FA; --tn-line:#F2F2F7;
/* Чернила. --tn-ink-3 рассчитан на карточку; подписи ПРЯМО НА ФОНЕ страницы
   берут --tn-ink-3-on-bg (5.39:1 на тёмной точке градиента) — правило пакета
   Claude Design 01.08 */
--tn-ink:#131C51; --tn-ink-2:#4A5286; --tn-ink-3:#666B94; --tn-ink-inverse:#FFFFFF;
--tn-ink-3-on-bg:#5A5F87;
--tn-action:#2A5FB0; --tn-action-hover:#1C4788;
/* Метрики здоровья */
--tn-sales:#14C24A; --tn-feedback:#7A17D6; --tn-feedback-2:#FF5FBF;
--tn-tasks:#F4573E; --tn-learning:#2F80ED; --tn-nodata:#D2D2E0;
/* Скорость реакции ходила цветом «Задач» — два ряда в Истории и две плитки
   на Пульсе были неразличимы (05.08). Бирюза системных причин: скорость и
   есть свойство системы, а не отдельная работа */
--tn-speed:#0E9C93;
/* Срочность — только цвет и слово */
--tn-critical:#C22C20; --tn-critical-bg:#FDECEA;
--tn-important:#8A6400; --tn-important-bg:#FFF6E0;
--tn-watch:#2A5FB0; --tn-watch-bg:#E8F0FC;
--tn-strategic:#6B12BE; --tn-strategic-bg:#F3E9FC;
/* Состояния */
--tn-ok:#0E7C2E; --tn-ok-bg:#E8F7EB; --tn-stale:#8A6400; --tn-error:#C22C20;
/* ДИАГРАММЫ (владелец 03.08: «цвета грязные — сделай яркими холодными»).
   Цвета текста и цвета заливки — разные задачи: тексту нужен контраст на
   белом, поэтому там тёмные --tn-ok/--tn-important/--tn-critical; заливке
   нужна различимость и настроение, и глухая охра со тёмным бордо в столбиках
   читались как грязь. Триада ниже — холодная и яркая: зелёный из палитры
   метрик, лавандовый индиго вместо охры (родня чернилам --tn-ink-2) и
   малина вместо бордо (родня --tn-feedback-2). Только для заливок графиков.

   04.08 — решение владельца, повторное и прямое: в отзывах читается ТОЛЬКО
   классический светофор — хорошие зелёные, нейтральные жёлтые, плохие
   красные. Холодная триада уходит: лавандовый в середине люди читали как
   «ещё один вид отзывов», а не как «между хорошим и плохим».
   Значения прогнаны валидатором палитры: все три проходят полосу светлоты,
   порог насыщенности и контраст к поверхности ≥3:1. Красно-зелёная пара —
   известная ловушка для дальтоников, поэтому цвет НИКОГДА не единственный
   признак: порядок сегментов в столбце постоянен, рядом стоят числа,
   легенда словами и подсказка при наведении. */
--tn-chart-pos:#0E8F52; --tn-chart-mid:#C97A12; --tn-chart-neg:#D22B2B;
--tn-chart-pos-bg:#E6F5EC; --tn-chart-mid-bg:#FBF1DF; --tn-chart-neg-bg:#FBE9E9;
/* Голос ИИ: тёмный блок = говорит система. Это семантика, а не тема, поэтому
   пара не переворачивается вместе с остальной палитрой */
--tn-ai-surface:#131C51; --tn-ai-ink:#FFFFFF; --tn-ai-ink-2:#A6ABD8;
/* Форма */
--tn-r-card:22px; --tn-r-block:16px; --tn-r-pill:99px; --tn-r-sheet:34px;
--tn-shadow-card:0 4px 14px rgba(30,32,80,.06);
--tn-shadow-sheet:0 -10px 44px rgba(19,28,81,.18);
/* Ритм — плотный режим */
--tn-gap:4px; --tn-pad-screen:14px; --tn-gap-card:10px; --tn-tap:44px;
/* Расстояние между карточками, идущими одна за другой. Один токен на весь
   кабинет: пока его не было, каждый экран задавал отступ руками и блоки
   регулярно слипались (владелец 04.08) */
--tn-stack:14px;
/* Типографика */
--tn-font:"Onest",system-ui,sans-serif;
--tn-display:800 30px/1.05 var(--tn-font);
--tn-title:800 19px/1.25 var(--tn-font);
--tn-metric:800 38px/1 var(--tn-font);
--tn-subhead:600 14px/1.4 var(--tn-font);
--tn-body:500 13.5px/1.5 var(--tn-font);
--tn-caption:600 11.5px/1.35 var(--tn-font);
--tn-label:700 11px/1 var(--tn-font);
}
/* ТЁМНАЯ ТЕМА — НЕЙТРАЛЬНЫЙ ГРАФИТ (решение владельца 02.08).
   Прошлая версия была синей насквозь: фон, карточка, шторка и блоки разбора
   отличались оттенками одного тёмно-синего и на телефоне сливались в кашу.
   Принцип теперь другой: слои различаются СВЕТЛОТОЙ, а не оттенком —
   каждый следующий уровень на ~4% светлее, шаг одинаковый и заметный.
   Синий остаётся только цветом действия, поэтому он снова читается. */
[data-theme="dark"]{
--tn-bg-from:#141414; --tn-bg-to:#191919;      /* полотно страницы */
--tn-surface:#1F1F21;                          /* карточка на полотне */
--tn-surface-2:#2A2A2D;                        /* шторка, плитка внутри карточки */
--tn-line:#38383C;                             /* разделители видно, но не кричат */
--tn-ink:#F2F2F4; --tn-ink-2:#B6B7BD; --tn-ink-3:#8E8F98; --tn-ink-inverse:#141414;
--tn-ink-3-on-bg:#9A9BA4;
--tn-action:#6AA6FF; --tn-action-hover:#93C0FF;
--tn-sales:#3ED47B; --tn-feedback:#B47AF0; --tn-tasks:#FF8A73; --tn-learning:#6AA6FF;
--tn-speed:#3FD8CB; --tn-nodata:#5A5B62;
/* фоны состояний — тёплые/холодные подложки на графите, а не синие пятна */
--tn-critical:#FF8A75; --tn-critical-bg:#3A211D;
--tn-important:#F0B03C; --tn-important-bg:#332818;
--tn-watch:#93C0FF; --tn-watch-bg:#1E2733;
--tn-strategic:#C58BF0; --tn-strategic-bg:#2A2033;
--tn-ok:#4ADE80; --tn-ok-bg:#1A2E20;
/* диаграммы на графите: тот же светофор, поднятый по светлоте */
--tn-chart-pos:#45C97A; --tn-chart-mid:#DDA032; --tn-chart-neg:#F0606A;
--tn-chart-pos-bg:#1A2E20; --tn-chart-mid-bg:#332818; --tn-chart-neg-bg:#331E27;
/* блок разбора («корневая причина», «системное решение») — САМЫЙ СВЕТЛЫЙ слой:
   в тёмной теме уходить вниз по светлоте некуда, там уже фон страницы */
--tn-ai-surface:#33333A; --tn-ai-ink:#F7F7F9; --tn-ai-ink-2:#B6B7BD;
/* тень на тёмном не видна — роль границы слоя играет светлота и линия */
--tn-shadow-card:none;
}