:root{
/* Base neutrals — warm near-black, terminal dark theme (default) */
--bg-0:#151210;--bg-1:#1d1916;--bg-2:#26211d;--bg-3:#302a25;
--border-1:#38312b;--border-2:#4a4139;
--fg-1:#ede7df;--fg-2:#a99f93;--fg-3:#746b60;
/* Accent — orange scale */
--orange-200:#ffd0a8;--orange-300:#ffb27a;--orange-400:#ff9a52;--orange-500:#ff8b3d;--orange-600:#f0741f;--orange-700:#cf5d0e;--orange-800:#9e4508;
--orange-dim:rgba(255,139,61,.12);--orange-glow:rgba(255,139,61,.28);
/* Semantic hues (never encode meaning by color alone) */
--green-500:#5fbf77;--green-dim:rgba(95,191,119,.14);
--red-500:#e5604f;--red-dim:rgba(229,96,79,.14);
--blue-500:#6aa9e0;--blue-dim:rgba(106,169,224,.14);
--yellow-500:#e8b34b;--yellow-dim:rgba(232,179,75,.14);
/* Пурпур — только для наложения гистограмм (график 10): в паре с синим даёт
   насыщенное фиолетовое пересечение, а не грязь. Шаг подобран по CVD: с
   #6aa9e0 даёт ΔE 9.7 (deutan) против 6.6 у более тёмного пурпура. */
--magenta-500:#e8559f;
/* Semantic aliases */
--surface-page:var(--bg-0);--surface-card:var(--bg-1);--surface-raised:var(--bg-2);--surface-inset:#100e0c;
--text-body:var(--fg-1);--text-muted:var(--fg-2);--text-faint:var(--fg-3);
--accent:var(--orange-500);--accent-hover:var(--orange-400);--accent-press:var(--orange-600);--accent-fg:#1a0f06;
--link:var(--orange-400);--link-hover:var(--orange-300);
--ok:var(--green-500);--danger:var(--red-500);--info:var(--blue-500);--warn:var(--yellow-500);
--focus-ring:0 0 0 2px var(--bg-0),0 0 0 4px var(--orange-500);
/* Chart series */
--chart-1:var(--orange-500);--chart-2:var(--green-500);--chart-3:var(--blue-500);--chart-4:var(--yellow-500);--chart-5:var(--red-500);--chart-grid:#2c2621;--chart-axis:var(--fg-3);
/* Наложение распределений (график 10): ТРИ ЯВНЫХ цвета — только основной ряд,
   только БВИ и их общая часть. Заливки заданы отдельными токенами, а не
   прозрачностью: наложение полупрозрачных слоёв зависит от порядка отрисовки
   и даёт мутный тон. Общая часть — насыщенный индиго «между» синим и
   пурпуром: она читается как пересечение двух, а не как третья категория.
   mix-blend-mode не используется — на боевой странице он не сработал. */
--chart-overlay-a:var(--blue-500);--chart-overlay-b:var(--magenta-500);
--chart-overlay-both:#7d6fd6;
--chart-fill-a:#2b3f5c;--chart-fill-b:#5a2b48;--chart-fill-both:#2f2a63;
}
[data-theme="light"]{
--bg-0:#faf6f1;--bg-1:#ffffff;--bg-2:#f3ece4;--bg-3:#e9e0d5;
--border-1:#e2d8cc;--border-2:#cbbfb0;
--fg-1:#241e18;--fg-2:#645a4e;--fg-3:#988c7d;
--orange-dim:rgba(240,116,31,.10);--orange-glow:rgba(240,116,31,.22);
--surface-page:var(--bg-0);--surface-card:var(--bg-1);--surface-raised:var(--bg-2);--surface-inset:#f1eae1;
--accent:var(--orange-600);--accent-hover:var(--orange-500);--accent-press:var(--orange-700);--accent-fg:#ffffff;
--link:var(--orange-700);--link-hover:var(--orange-600);
--green-500:#2e9c4d;--red-500:#cf4433;--blue-500:#2f7cc0;--yellow-500:#b57f16;
/* Светлая тема: свои шаги пурпура и общей области. Контуры
   #2f7cc0 / #4a3f9e / #c2429b проходят ВСЕ проверки палитры;
   заливки — их светлые пастельные версии (крупная область, не марка). */
--magenta-500:#c2429b;
--chart-overlay-both:#4a3f9e;
--chart-fill-a:#a8c8ea;--chart-fill-b:#e5a6cf;--chart-fill-both:#b3aae0;
--chart-grid:#eadfd2;
--focus-ring:0 0 0 2px var(--bg-0),0 0 0 4px var(--orange-600);
}
