/* Копия taspa/design — не править здесь, см. design/README.md в репозитории taspa. */
/* TASPA — единый визуальный стандарт всех систем портала (на основе IZDEU).
 *
 * Источник — taspa/design/. В системах лежат копии (design/sync.mjs); правка
 * копии руками разъедется с остальными — меняйте здесь и синхронизируйте.
 *
 * Тема задаётся атрибутом html[data-theme="light|dark"] (см. taspa-prefs.js).
 * Все имена с префиксом --tp-, чтобы не пересекаться со своими переменными систем.
 */

@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./fonts/exo2-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./fonts/exo2-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./fonts/exo2-latin.woff2') format('woff2');
  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;
}

:root,
:root[data-theme="light"] {
  color-scheme: light;

  --tp-font: "Exo 2", "Roboto", "Helvetica", "Arial", sans-serif;
  --tp-font-mono: ui-monospace, "Cascadia Mono", "Consolas", monospace;

  /* Поверхности: фон приложения → вложенная область → панель → поле. */
  --tp-bg: #f0f4f8;
  --tp-bg-2: #f1f5f9;
  --tp-panel: #ffffff;
  --tp-panel-2: #f8fafc;
  --tp-line: #e2e8f0;
  --tp-line-2: #cbd5e1;

  /* Текст. text-3 темнее, чем в IZDEU (#64748b давал 4.3:1 на фоне — ниже AA). */
  --tp-text: #0f172a;
  --tp-text-2: #475569;
  --tp-text-3: #5b6a7f;

  /* Основной акцент — navy TASPA. */
  --tp-primary: #1a365d;
  --tp-primary-hover: #244e7b;
  --tp-primary-soft: #edf2f8;
  --tp-on-primary: #ffffff;
  --tp-accent: #4a90a4;

  /* Состояния: цвет всегда с текстовой подписью, не единственный носитель смысла. */
  --tp-success: #167c6b;
  --tp-success-bg: #e7f5f1;
  --tp-warning: #926330;
  --tp-warning-bg: #fbf3e6;
  --tp-danger: #b63432;
  --tp-danger-bg: #fbeaea;
  --tp-info: #2d5a87;
  --tp-info-bg: #edf2f8;

  /* Серии графиков. */
  --tp-data-1: #1a365d;
  --tp-data-2: #16866c;
  --tp-data-3: #926330;
  --tp-data-4: #4a90a4;
  --tp-data-track: #e2e8f0;

  --tp-radius: 6px;
  --tp-radius-card: 8px;
  --tp-radius-lg: 12px;
  --tp-shadow: 0 2px 8px rgb(15 39 68 / 4%);
  --tp-shadow-pop: 0 12px 32px rgb(15 39 68 / 14%);
  --tp-focus: 0 0 0 3px rgb(26 54 93 / 20%);

  --tp-sidebar-w: 264px;
  --tp-icon-stroke: 1.7;
}

:root[data-theme="dark"] {
  color-scheme: dark;

  /* Спокойный графит, та же синяя идентичность. */
  --tp-bg: #0f1318;
  --tp-bg-2: #151a20;
  --tp-panel: #181d23;
  --tp-panel-2: #20262e;
  --tp-line: #2b333e;
  --tp-line-2: #3b4858;

  --tp-text: #edf2f8;
  --tp-text-2: #c0cad7;
  --tp-text-3: #96a5b7;

  --tp-primary: #a5c9ef;
  --tp-primary-hover: #bddbfa;
  --tp-primary-soft: #253548;
  --tp-on-primary: #14263a;
  --tp-accent: #78b7c8;

  --tp-success: #79c6b4;
  --tp-success-bg: #20332f;
  --tp-warning: #e4c18a;
  --tp-warning-bg: #302b22;
  --tp-danger: #f19da3;
  --tp-danger-bg: #322328;
  --tp-info: #8ab4df;
  --tp-info-bg: #222d3a;

  --tp-data-1: #8bb5e1;
  --tp-data-2: #79c6b4;
  --tp-data-3: #d7b084;
  --tp-data-4: #78b7c8;
  --tp-data-track: #2b3440;

  --tp-shadow: 0 3px 16px rgb(0 0 0 / 12%);
  --tp-shadow-pop: 0 16px 40px rgb(0 0 0 / 38%);
  --tp-focus: 0 0 0 3px rgb(145 188 232 / 24%);
}
