/*
 * LinguaAI / Lora — единый источник CSS-токенов и self-hosted шрифтов.
 *
 * Источник истины: docs/strategy/DESIGN_SYSTEM.md раздел 7 (24.05.2026).
 *
 * Phase 0 (feat/frontend-phase-0): файл создан, но НЕ подключается ни лендингом,
 * ни приложением. Будет подключён в Фазах 1-3 при миграции конкретных экранов.
 *
 * Шрифты self-hosted (woff2, без Google Fonts CDN), лежат рядом в ./fonts/.
 * Лицензии — SIL OFL 1.1, файлы OFL.txt в каждой папке шрифта.
 */

/* === Шрифты — self-hosted, font-display: swap === */

/* Golos Text 400 */
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/golos-text/cyrillic-400-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/golos-text/latin-400-normal.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;
}

/* Golos Text 500 */
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./fonts/golos-text/cyrillic-500-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./fonts/golos-text/latin-500-normal.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;
}

/* Golos Text 600 */
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./fonts/golos-text/cyrillic-600-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./fonts/golos-text/latin-600-normal.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;
}

/* Golos Text 700 */
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./fonts/golos-text/cyrillic-700-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./fonts/golos-text/latin-700-normal.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;
}

/* Golos Text 900 */
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("./fonts/golos-text/cyrillic-900-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("./fonts/golos-text/latin-900-normal.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;
}

/* JetBrains Mono 400 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/jetbrains-mono/cyrillic-400-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/jetbrains-mono/latin-400-normal.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;
}

/* JetBrains Mono 500 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./fonts/jetbrains-mono/cyrillic-500-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./fonts/jetbrains-mono/latin-500-normal.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;
}

/* === Токены — DESIGN_SYSTEM.md раздел 7 === */

:root {
  /* --- Шрифты --- */
  --font-primary: "Golos Text", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  /* --- Цвет: светлая тема (лендинг) --- */
  --bg: #F7F4EE;
  --bg-alt: #EEF2F6;
  --surface: #FFFFFF;
  --border: #D9DEE7;

  --primary: #1A5F7A;
  --primary-strong: #0F3D50;

  --text: #111827;
  --text-secondary: #4B5563;
  --text-muted: #667085;

  --cta: #B45309;
  --cta-hover: #92400E;
  --cta-text: #FFFFFF;

  /* --- Состояния коррекции: светлая --- */
  --error-text: #B42318;  --error-bg: #FEF3F2;  --error-border: #FDA29B;
  --success-text: #027A48; --success-bg: #ECFDF3; --success-border: #6CE9A6;
  --hint-text: #B54708;   --hint-bg: #FFFAEB;   --hint-border: #FEDF89;
  --neutral-text: #344054; --neutral-bg: #F2F4F7; --neutral-border: #D0D5DD;

  /* --- Формы --- */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(16,24,40,.06);
  --shadow-md: 0 4px 12px rgba(16,24,40,.08);
  --shadow-lg: 0 12px 32px rgba(16,24,40,.12);

  /* --- Отступы (база 8px) --- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* --- Типографика: лендинг desktop --- */
  --h1: 56px;  --h1-lh: 1.1;
  --h2: 40px;  --h2-lh: 1.2;
  --h3: 26px;  --h3-lh: 1.3;
  --body-lg: 20px;
  --body: 18px;
  --small: 15px;
  --lh-body: 1.6;
}

[data-theme="dark"] {
  /* Цвет: тёмная тема (экран урока) */
  --bg: #0F172A;
  --surface: #111827;
  --surface-elevated: #1E293B;
  --border: #334155;

  --text: #E5E7EB;
  --text-secondary: #94A3B8;
  --text-muted: #64748B;

  --primary: #5BA3BF;           /* светлый петроль — волна индикатора, видим на тёмном */
  --primary-strong: #1A5F7A;

  --cta: #D97706;
  --cta-hover: #B45309;
  --cta-text: #111827;          /* тёмный текст на amber — НЕ белый */

  --error-text: #F97066;  --error-bg: #3B1210;  --error-border: #F04438;
  --success-text: #32D583; --success-bg: #052E1A; --success-border: #12B76A;
  --hint-text: #FDB022;   --hint-bg: #3A2503;   --hint-border: #F79009;
  --neutral-text: #CBD5E1; --neutral-bg: #1E293B; --neutral-border: #334155;
}

@media (max-width: 640px) {
  :root {
    --h1: 38px;  --h1-lh: 1.15;
    --h2: 30px;
    --h3: 22px;
    --body: 17px;
  }
}
