/* ==========================================================================================
   RU: Токены набора «Технологичный» (sites/tech). Файл собирает kits.py из kit.json — правьте kit.json
       и выполните `python3 kits.py sync`, иначе правка потеряется при следующей сборке. В проекте
       этот файл не правят: свои стили пишут в style.css на этих же переменных.
   EN: Tokens of the “tech” kit, generated from kit.json by kits.py (`python3 kits.py sync`).
       In a project, do not edit it: write your own styles in style.css using these variables.
   RU: Палитра подстроена под техзадание; контраст доведён до WCAG AA:
       • Из техзадания: основной текст #333333, акцент: кнопки, выделение #f4a460, второй акцент: ссылки, надзаголовки, цифры #2e8b57.
       • Текст на кнопке #ffffff → #111111: на акценте #f4a460 он читается лучше (9,28:1).
       • Цвет «accent_2» #2e8b57 → #297c4d: на «bg» (#f3f5fb) контраст был 3,89:1, стал 4,72:1 (нужно 4,50:1).
       • Из техзадания (тёмная тема): акцент: кнопки, выделение #f4a460, второй акцент: ссылки, надзаголовки, цифры #2e8b57.
       • Цвет «accent_2» (тёмная тема) #2e8b57 → #31935c: на «surface» (#0f1530) контраст был 4,23:1, стал 4,66:1 (нужно 4,50:1).
   EN: Palette tuned to the brief; contrast raised to WCAG AA where needed (see above).
   ========================================================================================== */
:root {
  color-scheme: light dark;
  /* RU: Палитра по ролям — одинаковым во всех наборах; kit.css ссылается только на них.
     EN: Role-based palette, identical across kits; kit.css references only these. */
  --k-bg: #f3f5fb;   /* фон страницы */
  --k-surface: #ffffff;   /* поверхность: карточки, панели, поля */
  --k-text: #333333;   /* основной текст */
  --k-muted: #69696b;   /* вторичный текст: подписи, пояснения */
  --k-accent: #f4a460;   /* акцент: кнопки, выделение */
  --k-on-accent: #111111;   /* текст на акценте */
  --k-accent-2: #297c4d;   /* второй акцент: ссылки, надзаголовки, цифры */
  --k-success: #1b7a3e;   /* успех */
  --k-warning: #8a5300;   /* внимание */
  --k-danger: #b3261e;   /* ошибка */
  --k-line: #dcdee3;
  --k-line-strong: #b2b3b7;
  --k-tint: #f3eff0;
  /* RU: Шрифты — только системные с кириллицей: внешние шрифты на сервере проверки не загрузятся.
     EN: System fonts with Cyrillic only: external fonts would not load on the checking server. */
  --k-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --k-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --k-font-mono: "PT Mono", "SF Mono", Monaco, Consolas, "DejaVu Sans Mono", "Noto Sans Mono", monospace;
  --k-font-hand: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  /* RU: Шкала текста: база, межстрочный, характер заголовков. / EN: Type scale and heading character. */
  --k-text-base: 17px;
  --k-leading: 1.6;
  --k-display-weight: 700;
  --k-display-tracking: -0.035em;
  --k-display-case: none;
  --k-h1: clamp(40px, 5.6vw, 76px);
  --k-h2: clamp(30px, 3.8vw, 48px);
  --k-h3: clamp(19px, 1.5vw, 21px);
  /* RU: Радиусы: карточки, кнопки, мелкие элементы. / EN: Radii: cards, buttons, small parts. */
  --k-radius: 12px;
  --k-radius-btn: 8px;
  --k-radius-sm: 8px;
  /* RU: Тени: обычная (карточки) и крупная (всплывающее). / EN: Shadows: regular and raised. */
  --k-shadow: 0 1px 2px rgba(12, 20, 51, .06), 0 8px 24px -12px rgba(12, 20, 51, .18);
  --k-shadow-lg: 0 30px 60px -20px rgba(12, 20, 51, .30);
  /* RU: Отступы — шкала дизайн-системы панели 4-8-12-16-24-32 и крупные шаги для секций.
     EN: Spacing — the panel design-system scale 4-8-12-16-24-32 plus large steps for sections. */
  --k-space-1: 4px;
  --k-space-2: 8px;
  --k-space-3: 12px;
  --k-space-4: 16px;
  --k-space-5: 24px;
  --k-space-6: 32px;
  --k-space-7: 48px;
  --k-space-8: 64px;
  --k-space-9: 96px;
  --k-section: clamp(72px, 10vw, 128px);
  --k-gutter: clamp(16px, 4vw, 40px);
  --k-max: 1200px;
  /* RU: Движение: одна кривая и длительность на весь набор. / EN: One easing and duration per kit. */
  --k-ease: cubic-bezier(.2, .7, .2, 1);
  --k-dur: 200ms;
}

/* RU: Тёмная тема: по настройке системы, если на <html> не выбрана светлая явно.
   EN: Dark theme: follows the OS unless <html data-theme="light"> forces light. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --k-bg: #070b1f;   /* фон страницы */
    --k-surface: #0f1530;   /* поверхность: карточки, панели, поля */
    --k-text: #e8ebff;   /* основной текст */
    --k-muted: #9aa3c7;   /* вторичный текст: подписи, пояснения */
    --k-accent: #f4a460;   /* акцент: кнопки, выделение */
    --k-on-accent: #070b1f;   /* текст на акценте */
    --k-accent-2: #31935c;   /* второй акцент: ссылки, надзаголовки, цифры */
    --k-success: #6fd39a;   /* успех */
    --k-warning: #f2c14e;   /* внимание */
    --k-danger: #ff8a80;   /* ошибка */
    --k-line: #22263a;
    --k-line-strong: #54576b;
    --k-tint: #181624;
    --k-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .7);
    --k-shadow-lg: 0 30px 60px -20px rgba(0, 0, 0, .8);
  }
}

/* RU: Принудительно тёмная тема — переключатель на сайте ставит data-theme="dark".
   EN: Forced dark theme — a site switch sets data-theme="dark". */
:root[data-theme="dark"] {
  color-scheme: dark;
  --k-bg: #070b1f;   /* фон страницы */
  --k-surface: #0f1530;   /* поверхность: карточки, панели, поля */
  --k-text: #e8ebff;   /* основной текст */
  --k-muted: #9aa3c7;   /* вторичный текст: подписи, пояснения */
  --k-accent: #f4a460;   /* акцент: кнопки, выделение */
  --k-on-accent: #070b1f;   /* текст на акценте */
  --k-accent-2: #31935c;   /* второй акцент: ссылки, надзаголовки, цифры */
  --k-success: #6fd39a;   /* успех */
  --k-warning: #f2c14e;   /* внимание */
  --k-danger: #ff8a80;   /* ошибка */
  --k-line: #22263a;
  --k-line-strong: #54576b;
  --k-tint: #181624;
  --k-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .7);
  --k-shadow-lg: 0 30px 60px -20px rgba(0, 0, 0, .8);
}
