/* Цвет — из одного файла. Палитра «камней Шёлкового пути» — каждый цвет выведен из реального минерала:
   ЛАЗУРИТ #2F5EC4 (--blue) — камень Бадакшана, пигмент куполов Самарканда; единственный цвет действия.
   СЕРДОЛИК #C05C34 (--copper) — тёплый камень караванной торговли; акцент ≤5% площади в покое; в кнопках — только отклик hover/press, не цвет покоя.
   ГРАНИТ (--gray) — несущий камень; серые с холодным подтоном 222: интерфейс «из одного материала».
   БИРЮЗА #2D9A92 (--teal) — камень регистанских изразцов; только данные и графики.
   МАЛАХИТ #2F8B5D (--green), ЯНТАРЬ #B08519 (--amber), ГРАНАТ #B23A31 (--red) — состояния поставки, приглушены до уровня факта. */
:root{
--blue-50:#F1F5FB;--blue-100:#E0E9F7;--blue-200:#C3D2EF;--blue-300:#9AB2E3;--blue-400:#6487D4;--blue-500:#2F5EC4;--blue-600:#2850A7;--blue-700:#214289;--blue-800:#193268;--blue-900:#122349;--blue-950:#0C1832;
--copper-50:#FCF4EF;--copper-100:#F8E7DD;--copper-200:#EFCDBB;--copper-300:#E2A98C;--copper-400:#D3805A;--copper-500:#C05C34;--copper-600:#A44D2A;--copper-700:#863E21;--copper-800:#683017;--copper-900:#48210F;--copper-950:#2F1509;
--gray-0:#FFFFFF;--gray-25:#FAFBFD;--gray-50:#F4F6FA;--gray-100:#EAEDF3;--gray-200:#DBE0E9;--gray-300:#C2C9D6;--gray-400:#99A2B3;--gray-500:#6F798C;--gray-600:#535D6F;--gray-700:#3D4554;--gray-800:#282E3A;--gray-900:#161B25;--gray-950:#0D1119;
--teal-50:#EFF9F8;--teal-100:#DDF1EF;--teal-200:#BCE4E0;--teal-500:#2D9A92;--teal-600:#26837C;--teal-700:#1F6B66;
--green-50:#EFF8F3;--green-100:#DFF1E8;--green-200:#BFE4D1;--green-500:#2F8B5D;--green-600:#27754E;--green-700:#1F5F40;
--amber-50:#FBF6E9;--amber-100:#F6EDDA;--amber-200:#EEDFB4;--amber-500:#B08519;--amber-600:#8F6511;--amber-700:#745210;
--red-50:#FCF1F0;--red-100:#F7E4E2;--red-200:#EDC6C2;--red-500:#B23A31;--red-600:#97302A;--red-700:#7C2722;
--color-brand:var(--blue-500);--color-brand-hover:var(--blue-600);--color-brand-active:var(--blue-700);
--color-accent:var(--copper-500);--color-accent-hover:var(--copper-600);
--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--text-secondary);/* слит с secondary: собственной AA-ступени между gray-500 (4.38:1) и gray-600 нет */--text-brand:var(--blue-600);--text-accent:var(--copper-600);--text-inverse:#FFFFFF;--text-inverse-secondary:rgba(255,255,255,.64);
--surface-page:#FFFFFF;--surface-card:#FFFFFF;--surface-sunken:var(--gray-50);--surface-dark:var(--blue-950);
--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-focus:var(--blue-500);--border-inverse:rgba(255,255,255,.16);
--overlay:rgba(13,17,25,.48);
--chart-1:var(--blue-500);--chart-2:var(--copper-500);--chart-3:var(--teal-500);--chart-4:var(--green-500);--chart-5:var(--amber-500);--chart-6:var(--gray-400);
}

/* ТЁМНАЯ ТЕМА — включается атрибутом data-theme="dark" на html. Основная тема светлая; печать всегда светлая.
   Правила контраста (замер): лазурит #2F5EC4 на blue-950 = 2,95:1 — НИЖЕ 3:1, поэтому на тёмном лазурит живёт
   только заливкой С ОБВОДКОЙ --border-inverse (см. components.css), а текст, ссылки и фокус — лазурит-свет
   blue-400 #6487D4 (5,0:1). Сердолик на тёмном — copper-300 (8,6:1). Статусный текст — ступени -200. */
[data-theme="dark"]{
  --surface-page:var(--blue-950);--surface-card:var(--blue-900);--surface-sunken:rgba(255,255,255,.04);
  --text-primary:#FFFFFF;--text-secondary:rgba(255,255,255,.72);--text-tertiary:rgba(255,255,255,.72);
  --text-brand:var(--blue-400);--text-accent:var(--copper-300);
  --border-default:rgba(255,255,255,.16);--border-strong:rgba(255,255,255,.28);--border-focus:var(--blue-400);
  --color-brand-hover:var(--blue-400);
}
