/* ═══ tokens.css — палитра и сетка bridge42worlds ═══
   СОБРАН АВТОМАТИЧЕСКИ из css/style.css (tools/tokens_extract.py).
   Руками не править: правка уедет при следующей сборке. Источник — style.css.

   Файл нужен страницам, которые намеренно не подключают общий style.css
   (сообщество, подготовка работы, гид): они держат свои компоненты, но цвета
   и ширины берут отсюда, чтобы не разъезжаться с остальным сайтом. */

:root {
    --ink: #0F1626;
    --text: #1e2635;
    --muted: #5A6273;
    /* Вторичный текст. Было #8A94A6 — на айвори это контраст 2.73, то есть вдвое ниже
       порога читаемости (4.5 для обычного текста): QA нашёл такой текст на десяти
       корневых страницах. Стало 4.63 — «тихо», но читаемо. Разница с --muted
       сократилась, и это правильно: иерархию держат размер и насыщенность, а не
       граница видимости. */
    --soft: #646E7D;
    --faint: rgba(15,22,38,.5);
    --link: #2E8AA0;                 /* циан — интерактив + теги */
    --border: rgba(15,22,38,.11);    /* hairline */
    --hair: rgba(15,22,38,.11);
    --hair-soft: rgba(15,22,38,.055);
    --bg: #F4F2EC;                   /* тёплый айвори */
    --surface: #FBFAF6;
    --card-bg: #FBFAF6;
    --tag-bg: #ECE9E1;              /* чипы/пилюли */
    --midnight: #0F1626; --ivory: #ECE9E1;
    --ochre: #C77F3A; --cyan: #2E8AA0;
    --grad: linear-gradient(92deg, #C77F3A, #2E8AA0);
    --author-bg: #f1ecf7; --author-color: #7c5bd6;
    --scientist-bg: #e7f2ec; --scientist-color: #3E8E5A;
    --law-color: #C77F3A;           /* закон = охра */
    --filter-tag-bg: #e6eef1; --filter-author-bg: #f1ecf7; --filter-scientist-bg: #e7f2ec;
    --red: #c0392b;
    --shadow: 0 20px 44px -26px rgba(15,22,38,.34);
    --shadow-sm: 0 10px 24px -18px rgba(15,22,38,.30);
    --radius: 16px; --radius-sm: 12px;

    /* ── ШКАЛА ОТСТУПОВ (Проход 2, 2026-08-25) ────────────────────────────────
       Замер перед вводом: в файле 29 РАЗНЫХ значений отступов на 1549 правил —
       8, 6, 4, 10, 14, 2, 12, 3, 16, 5, 20, 18 и далее. Каждое ставилось на глаз
       и по месту, поэтому одинаковые по смыслу зазоры различаются на пиксель-два,
       и вёрстка «дышит неровно» — владелец 25.08: «верстка будет более стабильной
       и чёткой, немного меньше расстояний везде, поплотнее, но сохраняем воздух».

       Шкала кратна четырём и намеренно короткая: чем меньше выбор, тем ровнее
       ритм. Новые правила берут ТОЛЬКО отсюда; старые переводим по мере того,
       как трогаем компонент, а не разом — массовая замена сотен значений вслепую
       ломает то, что сейчас случайно выглядит верно. */
    --s-1: 4px;    --s-2: 8px;    --s-3: 12px;   --s-4: 16px;
    --s-5: 20px;   --s-6: 28px;   --s-7: 40px;   --s-8: 56px;

    /* Ширины колонок. Текст УЖЕ карточек: строка длиннее ~75 знаков заставляет
       глаз терять начало следующей, и длинные разборы дочитывают заметно хуже.
       Карточки листаются взглядом, им ширина не мешает. */
    /* Ширина страницы = содержимое + поля. Содержимое живёт в --w-text (см. ниже,
       там же историческое объяснение), поля 16+16 из body. */
    --w-page: 780px;   --w-read: 62ch;
    /* Лампа из набора для ::before врезки — рисунок один в один с B42Icons.lamp */
    /* Шрифты — системные, по design-system.md (совпадают с About/деком, без веб-шрифтов) */
    --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
    --sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
    /* Проход 2 (2026-08-25): 620/680 → 748. Ширина содержимого выведена из ширины
       страницы (--w-page 780 минус поля 16+16), а не назначена отдельно. Разница
       между «текстом» и «широким» исчезла вместе с боковой колонкой статьи —
       отличаться широкому больше не от чего. */
    --w-text: 748px; --w-wide: 748px;
    --tap-lg: 40px;   /* главное действие: открыть, показать всё, подтвердить */
    --tap-md: 32px;   /* обычная кнопка: иконка шапки, реакция, сортировка */
    --tap-sm: 26px;   /* плотный ряд внутри панели: графы, чекбоксы, шаги */
    --ico-lg: 22px; --ico-md: 18px; --ico-sm: 15px;
    --ico-stroke: 1.9;  /* толщина штриха иконок; владелец 2026-07-30: «иконки пожирнее» */
    --tap-gap: 8px;   /* просвет между кнопками: попадание зависит и от соседа */
}

/* Тёмная тема по сохранённому выбору — как на главных страницах. */
html[data-theme="dark"], :root[data-theme="dark"] {
    /* «Вечерний» мягкий тёмный — фон серо-сланцевый, не чёрный (юзер 2026-07-22) */
    --ink: #ECE9E1;
    --text: #d6d9e1;
    --muted: #9197a5;
    /* В тёмной теме та же беда с другой стороны: #767e8d на #1b1f27 давал 4.03.
       Здесь вторичный текст нужно ОСВЕТЛЯТЬ, а не притемнять. Стало 5.35. */
    --soft: #8A93A5;
    --faint: rgba(236,233,225,.48);
    --link: #6ec3d8;
    --border: rgba(236,233,225,.13);
    --hair: rgba(236,233,225,.13);
    --hair-soft: rgba(236,233,225,.06);
    --bg: #1b1f27;
    --surface: #242832;
    --card-bg: #2a2f3a;
    --tag-bg: #2f3542;
    --ochre: #E4A860; --cyan: #5EBCD2;
    --grad: linear-gradient(92deg, #E4A860, #5EBCD2);
    --author-bg: #2a2436; --author-color: #b79cff;
    --scientist-bg: #16241b; --scientist-color: #5FB07E;
    --law-color: #E4A860;
    --filter-tag-bg: #15232f; --filter-author-bg: #2a2436; --filter-scientist-bg: #16241b;
    --red: #e2685a;
    --shadow: 0 22px 46px -26px rgba(0,0,0,.72);
    --shadow-sm: 0 12px 26px -18px rgba(0,0,0,.6);
}

/* ...и по системной настройке — так темнеют самодостаточные страницы.
   Расхождение поведения оставлено как было; сведены значения, не механизм. */
/* Палец вместо мыши — ступени крупнеют на узком экране. */
@media (max-width: 640px) {
  :root {
        --tap-lg: 48px; --tap-md: 44px; --tap-sm: 44px;
        --ico-lg: 24px; --ico-md: 22px; --ico-sm: 20px;
        --ico-stroke: 2.2; /* на телефоне волосяной штрих пропадает; ещё жирнее по просьбе владельца */
    
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* «Вечерний» мягкий тёмный — фон серо-сланцевый, не чёрный (юзер 2026-07-22) */
    --ink: #ECE9E1;
    --text: #d6d9e1;
    --muted: #9197a5;
    /* В тёмной теме та же беда с другой стороны: #767e8d на #1b1f27 давал 4.03.
       Здесь вторичный текст нужно ОСВЕТЛЯТЬ, а не притемнять. Стало 5.35. */
    --soft: #8A93A5;
    --faint: rgba(236,233,225,.48);
    --link: #6ec3d8;
    --border: rgba(236,233,225,.13);
    --hair: rgba(236,233,225,.13);
    --hair-soft: rgba(236,233,225,.06);
    --bg: #1b1f27;
    --surface: #242832;
    --card-bg: #2a2f3a;
    --tag-bg: #2f3542;
    --ochre: #E4A860; --cyan: #5EBCD2;
    --grad: linear-gradient(92deg, #E4A860, #5EBCD2);
    --author-bg: #2a2436; --author-color: #b79cff;
    --scientist-bg: #16241b; --scientist-color: #5FB07E;
    --law-color: #E4A860;
    --filter-tag-bg: #15232f; --filter-author-bg: #2a2436; --filter-scientist-bg: #16241b;
    --red: #e2685a;
    --shadow: 0 22px 46px -26px rgba(0,0,0,.72);
    --shadow-sm: 0 12px 26px -18px rgba(0,0,0,.6);
  }
}
