/*
 * СГЕНЕРИРОВАНО scripts/gen_tokens.py — НЕ ПРАВИТЬ РУКАМИ.
 *
 * Файл: web/styles/tokens.g.css
 * Источник: design/tokens.json (версия 1.0, sha256:8ae16edc2c64)
 * Документация: docs/06_DESIGN_SYSTEM.md §1–3, docs/07_MOTION.md §1.
 *
 * Порядок правки: изменить design/tokens.json → `make tokens` →
 * `python3 scripts/lint/tokens_contrast.py` (критерий выхода 1.0 №9).
 * Ручные правки этого файла будут снесены следующей генерацией.
 */

:root {
  color-scheme: light dark;

  /* Цвет — светлая тема (docs/06 §1). */
  --w-bg-canvas: #F6F1E6;
  --w-bg-surface: #FCF9F2;
  --w-bg-sunken: #EFE7D6;
  --w-ink-primary: #1B1B1B;
  --w-ink-secondary: #5C4732;
  --w-ink-tertiary: #8A6F4E;
  --w-ink-inverse: #FCF9F2;
  --w-accent-600: #0D727B;
  --w-accent-500: #2FA7B3;
  --w-accent-300: #6EC7CE;
  --w-accent-bg: #DEF0F2;
  --w-accent-link: #0D727B;
  --w-warm-500: #D2B27D;
  --w-warm-bg: #EFE3C8;
  --w-danger-600: #C24024;
  --w-danger-500: #F06A4A;
  --w-danger-bg: #FBE2DA;
  --w-border: #E4D9C3;
  --w-focus: #2FA7B3;
  --w-overlay-press: rgba(27,27,27,0.08);
  --w-scrim: rgba(27,27,27,0.40);
  --w-cover-overlay: transparent; /* в этой теме не применяется (docs/06 §6) */
  --w-inner-highlight: transparent; /* в этой теме не применяется (docs/06 §6) */

  /* Тени — чистый чёрный в тенях запрещён */
  --w-shadow-1: 0 1px 2px rgba(92,71,50,0.10);
  --w-shadow-2: 0 4px 12px rgba(92,71,50,0.14);
  --w-shadow-3: 0 10px 28px rgba(92,71,50,0.18);

  /* Типографика (docs/06 §2). */
  --w-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --w-font-ui: 'Golos Text', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --w-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --w-display-xl-size: 34px;
  --w-display-xl-line: 40px;
  --w-display-xl-weight: 700;
  --w-font-display-xl: 700 34px/40px var(--w-font-display);
  --w-display-l-size: 26px;
  --w-display-l-line: 32px;
  --w-display-l-weight: 700;
  --w-font-display-l: 700 26px/32px var(--w-font-display);
  --w-title-l-size: 22px;
  --w-title-l-line: 28px;
  --w-title-l-weight: 600;
  --w-font-title-l: 600 22px/28px var(--w-font-ui);
  --w-title-m-size: 17px;
  --w-title-m-line: 24px;
  --w-title-m-weight: 600;
  --w-font-title-m: 600 17px/24px var(--w-font-ui);
  --w-body-l-size: 16px;
  --w-body-l-line: 24px;
  --w-body-l-weight: 400;
  --w-font-body-l: 400 16px/24px var(--w-font-ui);
  --w-body-m-size: 14px;
  --w-body-m-line: 20px;
  --w-body-m-weight: 400;
  --w-font-body-m: 400 14px/20px var(--w-font-ui);
  --w-caption-size: 12px;
  --w-caption-line: 16px;
  --w-caption-weight: 500;
  --w-font-caption: 500 12px/16px var(--w-font-ui);
  --w-caption-caps-tracking: 0.6px;
  --w-timer-xl-size: 40px;
  --w-timer-xl-line: 44px;
  --w-timer-xl-weight: 700;
  --w-font-timer-xl: 700 40px/44px var(--w-font-ui);
  --w-timer-xl-features: "tnum" 1;
  --w-timer-m-size: 20px;
  --w-timer-m-line: 24px;
  --w-timer-m-weight: 700;
  --w-font-timer-m: 700 20px/24px var(--w-font-ui);
  --w-timer-m-features: "tnum" 1;
  --w-timer-s-size: 15px;
  --w-timer-s-line: 18px;
  --w-timer-s-weight: 700;
  --w-font-timer-s: 700 15px/18px var(--w-font-ui);
  --w-timer-s-features: "tnum" 1;
  --w-dynamic-scale-max: 1.3;

  /* Геометрия (docs/06 §3). */
  --w-grid: 4px;
  --w-screen-padding: 20px;
  --w-card-gap: 12px;
  --w-section-rhythm-1: 24px;
  --w-section-rhythm-2: 32px;
  --w-radius-s: 10px;
  --w-radius-m: 16px;
  --w-radius-l: 20px;
  --w-radius-xl: 28px;
  --w-radius-full: 9999px;
  --w-touch-min: 48px;
  --w-icon-size: 24px;
  --w-icon-stroke: 1.8px;

  /* Движение (docs/07 §1): магические числа в вёрстке запрещены. */
  --w-dur-instant: 80ms;
  --w-dur-fast: 120ms;
  --w-dur-base: 180ms;
  --w-dur-gentle: 240ms;
  --w-dur-enter: 280ms;
  --w-dur-slow: 320ms;
  --w-dur-signature-min: 600ms;
  --w-dur-signature-max: 900ms;
  --w-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --w-ease-decel: cubic-bezier(0, 0, 0, 1);
  --w-ease-accel: cubic-bezier(0.3, 0, 1, 1);
  --w-ease-liquid: cubic-bezier(0.34, 1.56, 0.64, 1);
  /* Пружины CSS не выражает — числа для JS-анимаций (Motion/Rive). */
  --w-spring-tap-stiffness: 380;
  --w-spring-tap-damping: 30;
  --w-spring-sheet-stiffness: 420;
  --w-spring-sheet-damping: 34;

  /* Печать-отсчёт K3 (docs/06 §4). */
  --w-seal-far-days-over: 30;
  --w-seal-mid-days-min: 8;
  --w-seal-mid-days-max: 30;
  --w-seal-near-days-max: 7;
  --w-seal-shape-presets: 7;
  --w-seal-far-bg: var(--w-warm-bg);
  --w-seal-mid-bg: var(--w-accent-bg);
  --w-seal-near-bg: var(--w-danger-bg);
}

/* Системная тема. `[data-theme="light"]` перебивает системную тьму. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* Цвет — тёмная тема (docs/06 §1). */
    --w-bg-canvas: #171310;
    --w-bg-surface: #201A15;
    --w-bg-sunken: #120F0C;
    --w-ink-primary: #F2EAD8;
    --w-ink-secondary: #C9B99B;
    --w-ink-tertiary: #9A8A6F;
    --w-ink-inverse: #171310;
    --w-accent-600: #4A9CA6;
    --w-accent-500: #4CC1CD;
    --w-accent-300: #2E6B72;
    --w-accent-bg: #12333A;
    --w-accent-link: #4CC1CD;
    --w-warm-500: #A98F5F;
    --w-warm-bg: #2A2318;
    --w-danger-600: #FF8A66;
    --w-danger-500: #F06A4A;
    --w-danger-bg: #3A1F16;
    --w-border: #2E271F;
    --w-focus: #4CC1CD;
    --w-overlay-press: rgba(23,19,16,0.10);
    --w-scrim: rgba(0,0,0,0.55);
    --w-cover-overlay: rgba(0,0,0,0.20);
    --w-inner-highlight: rgba(255,255,255,0.04);

    /* Тени — теней нет: бордер color.dark.border + внутренняя подсветка 1px innerHighlight */
    --w-shadow-1: none;
    --w-shadow-2: none;
    --w-shadow-3: none;
  }
}

/* Явный выбор пользователя (FR-SET1: переключение без перезапуска). */
[data-theme="dark"] {
  /* Цвет — тёмная тема (docs/06 §1). */
  --w-bg-canvas: #171310;
  --w-bg-surface: #201A15;
  --w-bg-sunken: #120F0C;
  --w-ink-primary: #F2EAD8;
  --w-ink-secondary: #C9B99B;
  --w-ink-tertiary: #9A8A6F;
  --w-ink-inverse: #171310;
  --w-accent-600: #4A9CA6;
  --w-accent-500: #4CC1CD;
  --w-accent-300: #2E6B72;
  --w-accent-bg: #12333A;
  --w-accent-link: #4CC1CD;
  --w-warm-500: #A98F5F;
  --w-warm-bg: #2A2318;
  --w-danger-600: #FF8A66;
  --w-danger-500: #F06A4A;
  --w-danger-bg: #3A1F16;
  --w-border: #2E271F;
  --w-focus: #4CC1CD;
  --w-overlay-press: rgba(23,19,16,0.10);
  --w-scrim: rgba(0,0,0,0.55);
  --w-cover-overlay: rgba(0,0,0,0.20);
  --w-inner-highlight: rgba(255,255,255,0.04);

  /* Тени — теней нет: бордер color.dark.border + внутренняя подсветка 1px innerHighlight */
  --w-shadow-1: none;
  --w-shadow-2: none;
  --w-shadow-3: none;
}
