/* Hallmark · genre: modern-minimal · macrostructure: Map/Diagram (чертёжный лист)
 * theme: system-managed (DESIGN-SITE.md) · enrichment: E-Tier B hand-built SVG · nav: N9 edge-aligned
 * pre-emit critique: P5 H5 E4 S5 R4 V4
 * Токены сайта mtg-msk.ru. Источник истины — DESIGN-SITE.md, менять только там.
 * OKLCH первичен; hex-двойник оставлен как комментарий, потому что он уже зашит
 * в презентацию и форму брифа и система обязана быть сквозной.
 */

:root {
  /* ── Поверхности: 70% графит ───────────────────────────────── */
  --graphite:      oklch(0.177 0.008 164);   /* #0E1210 фон */
  --surface:       oklch(0.220 0.009 159);   /* #171C19 панель */
  --surface-2:     oklch(0.260 0.010 157);   /* приподнятая ячейка штампа */
  --edge:          oklch(0.276 0.013 154);   /* #232A25 хайрлайн вместо рамок и теней */
  --edge-strong:   oklch(0.510 0.014 154);   /* кромка кнопки: 3.29:1 к графиту — порог WCAG для границ */

  /* ── Текст ─────────────────────────────────────────────────── */
  --text:          oklch(0.967 0.006 138);   /* #F2F5F1 */
  --text-2:        oklch(0.756 0.016 158);   /* #A8B3AC пояснения */
  --label:         oklch(0.624 0.019 159);   /* #7E8B83 лейблы, единицы */

  /* ── Хром: 15%. Материал, а не цвет ────────────────────────── */
  --chrome:        oklch(0.855 0.014 153);   /* #C9D2CB выноска, засечка, фаска */
  --chrome-dim:    oklch(0.640 0.014 153);   /* хром в тени */

  /* ── Зелёный: 10% ──────────────────────────────────────────── */
  --green-brand:   oklch(0.371 0.064 157);   /* #1F4A32 заливки, техника на кадре */
  --green-hi:      oklch(0.470 0.080 157);   /* подсветка зелёного на hover */
  --green-signal:  oklch(0.768 0.168 151);   /* #4FD17A «посчитано», прогресс */

  /* ── Жёлтый: 5%. Ровно два места — звонок и «без этого не посчитаем» ── */
  --amber:         oklch(0.813 0.165 75);    /* #FFB020 */
  --amber-hi:      oklch(0.870 0.150 78);

  /* ── Светлые острова (блок звонка, результат расчёта, форма) ── */
  --light-surface: oklch(0.968 0.004 140);
  --light-text:    oklch(0.240 0.010 160);
  --light-edge:    oklch(0.890 0.006 150);

  /* ── Типографика ───────────────────────────────────────────── */
  /* display — Geologica Variable, ось SHRP выведена в максимум: срезанные углы
     буквально повторяют «форма острая, радиусов нет». Кириллица родная: 0.967. */
  --font-display: "Geologica", "Helvetica Neue", sans-serif;
  /* body — Golos Text: гуманистический гротеск с родной кириллицей, 0.944 */
  --font-body:    "Golos Text", system-ui, sans-serif;
  /* mono — Martian Mono: чертёжный, несёт половину образа. 0.889 = ровно 8/9 */
  --font-mono:    "Martian Mono", ui-monospace, monospace;

  --shrp: 100;  /* острота углов display-шрифта */

  /* Шкала намеренно короткая: четыре ступени с большими прыжками
     (12 → 16 → 22 → 68), а не десяток близких размеров. */
  --text-hero:  clamp(2.375rem, 3.6vw + 0.9rem, 4.25rem);   /* 38 → 68 */
  --text-lead:  clamp(1.0625rem, 0.55vw + 0.94rem, 1.375rem); /* 17 → 22 */
  --text-md:    1rem;                                        /* 16 — база */
  --text-mono-label: 0.75rem;   /* 12 — нижняя граница читаемости, ниже не опускаемся */

  /* ── Пространство, 4pt ─────────────────────────────────────── */
  --space-3xs: 2px;  --space-2xs: 4px;  --space-xs: 8px;
  --space-sm: 12px;  --space-md: 16px;  --space-lg: 24px;
  --space-xl: 32px;  --space-2xl: 48px; --space-3xl: 72px;
  --gutter: clamp(16px, 4.2vw, 64px);

  /* ── Форма ─────────────────────────────────────────────────── */
  --radius: 0;
  --radius-btn: 2px;
  --hair: 1px;

  /* ── Движение ──────────────────────────────────────────────── */
  /* Кривые взяты точными значениями, а не «на глаз»: сильный ease-out для входа,
     ease-in-out для движения по экрану. ease-in на интерфейсе не используется —
     он тормозит ровно в тот момент, когда человек смотрит. */
  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --dur-instant: 140ms;
  --dur-short:   180ms;
  --dur-med:     420ms;

  /* ── Слои ──────────────────────────────────────────────────── */
  --z-frame: 0; --z-marks: 1; --z-content: 2; --z-stamp: 3; --z-nav: 4;
}

/* ══════════════ Ни одна ссылка не достаётся браузеру ══════════════════════
   Предохранитель, а не оформление. Ссылка без своего цвета получает от
   браузера #0000EE: на графите это 2.0:1 при норме AA 4.5:1, и вдобавок
   синий, которого в системе нет вовсе (DESIGN-SITE.md — синий из ТЗ убран).
   Замер до правки: 22 такие ссылки на 7 страницах — заголовки новостей
   на главной, правовая строка подвала, ссылки внутри политики, согласия
   и дисклеймера, две подписи согласия в калькуляторе.

   Специфичность 0,0,1 — самая слабая: любое компонентное правило
   (.foot__legal a, .art__body a, светлый остров) перебивает это без !important.
   Правило живёт в tokens.css, потому что это единственный файл, который
   подключают ВСЕ страницы, включая главную: она собрана вручную и tpl.css
   с его правилами ссылок не грузит — отсюда и взялась половина находок. */
a { color: var(--text); text-underline-offset: 3px; text-decoration-color: var(--chrome-dim); }
