/* Линия — дизайн-токены. Источник: DESIGN.md. Подключать первым файлом стилей.
   Контраст текстовых токенов на всех поверхностях (с наведением и мягкими тонами) проверяет tests/browser/test_next_a11y.cjs.
   Тема: <html data-theme="dark|light">, по умолчанию тёмная.
   Плотность: <html data-density="compact">, по умолчанию «удобно». */

:root {
  --bg:#0E1116;
  --rail:#11151B;
  --panel:#151920;
  --raised:#1B2029;
  --hover:#202632;
  --line:#242A35;
  --line-2:#333A47;
  --text:#DDE2EA;
  --text-2:#A9B1BE;
  --text-3:#959DAA;   /* было #828B9A: 4.41:1 на --hover и 3.6:1 на выделении (--accent-soft над --raised); теперь ≥ 4.5:1 на всех поверхностях */
  --accent:#5CC8F0;
  --accent-ink:#04202B;
  --accent-text:#8AD9F6;
  --accent-soft:rgba(92,200,240,.13);
  --ok:#43D18D;
  --ok-soft:rgba(67,209,141,.14);
  --warn:#F2B446;
  --warn-soft:rgba(242,180,70,.13);
  --bad:#FF7279;
  --bad-soft:rgba(255,114,121,.13);
  --av1:#21374A;
  --av2:#26392C;
  --av3:#382C46;
  --av4:#46342A;
  --av5:#1F3A3B;
  --av6:#432A37;
  --shadow:0 16px 40px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.35);
  color-scheme:dark;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 12px;
  --font-ui: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-data: 'JetBrains Mono', ui-monospace, Consolas, monospace;
  --fs-xs: 11.5px; --fs-sm: 12px; --fs-sm2: 12.5px; --fs-md: 13px; --fs-base: 14px; --fs-msg: 15px; --fs-lg: 20px; --fs-xl: 24px;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-7: 28px;
  --row-h: 64px;
  --btn-h: 36px; --btn-h-sm: 30px;
  --dur: 180ms; --ease: cubic-bezier(.2, .8, .2, 1);
}

:root[data-theme="light"] {
  --bg:#ECEEF1;
  --rail:#E4E7EB;
  --panel:#FFFFFF;
  --raised:#F5F6F8;
  --hover:#EEF1F5;
  --line:#DCE0E6;
  --line-2:#C7CDD6;
  --text:#10141A;
  --text-2:#444E5D;
  --text-3:#565E6C;   /* было #5B6372 (до него #5D6675): 4.27:1 на мягких тонах над --rail (подробности запуска); теперь ≥ 4.5:1 */
  --accent:#0B76A6;
  --accent-ink:#FFFFFF;
  --accent-text:#09658F;
  --accent-soft:rgba(11,118,166,.10);
  --ok:#0A6C42;   /* было #0A7044 (до него #0C8450): 4.34:1 на --ok-soft над --rail; теперь ≥ 4.5:1 */
  --ok-soft:rgba(12,132,80,.11);
  --warn:#895100;   /* было #8F5500 (до него #925700): 4.27:1 на мягких тонах над --rail; теперь ≥ 4.5:1 */
  --warn-soft:rgba(176,108,0,.12);
  --bad:#B22833;   /* было #BA2A35 (до него #C22C37): 4.27:1 на мягких тонах над --rail; теперь ≥ 4.5:1 */
  --bad-soft:rgba(194,44,55,.09);
  --av1:#D6E6F3;
  --av2:#D9EAD9;
  --av3:#E7DCF1;
  --av4:#F3E1D2;
  --av5:#D2EAEA;
  --av6:#F1D9E3;
  --shadow:0 16px 40px rgba(16,20,26,.16),0 2px 8px rgba(16,20,26,.08);
  color-scheme:light;
}

:root[data-density="compact"] {
  --row-h: 48px;
  --fs-base: 13px;
}

@media (max-width: 767px) {
  :root { --btn-h: 40px; --btn-h-sm: 36px; }
}

/* Шрифты локально (OFL, Fontsource): кириллица и латиница отдельными файлами, браузер грузит нужный по unicode-range. */
@font-face { font-family: 'Onest'; src: url('/fonts/onest-cyrillic-wght-normal.woff2') format('woff2'); font-weight: 400 700; font-display: swap; unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Onest'; src: url('/fonts/onest-latin-wght-normal.woff2') format('woff2'); font-weight: 400 700; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; src: url('/fonts/jetbrains-mono-cyrillic-wght-normal.woff2') format('woff2'); font-weight: 400 500; font-display: swap; unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'JetBrains Mono'; src: url('/fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2'); font-weight: 400 500; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
