/* Токены ONLY — строго из design/direction.md. */

/* Шрифты на сайте (латиница + кириллица; ʻ и ’ для узбекского — в латинице) */
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/fira-sans-400-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/fira-sans-400-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; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/fira-sans-700-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/fira-sans-700-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; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/fira-sans-extra-condensed-500-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/fira-sans-extra-condensed-500-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; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/fira-sans-extra-condensed-700-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/fira-sans-extra-condensed-700-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; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/fira-sans-extra-condensed-800-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Fira Sans Extra Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/fira-sans-extra-condensed-800-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 {
  /* Цвет */
  --surface: oklch(0.13 0.012 300);     /* #07060A — чёрный зала */
  --plane: oklch(0.19 0.018 300);       /* #14111A — шапка, полосы правил */
  --ink: oklch(0.97 0.006 300);         /* #F5F3F7 — заголовки */
  --ink-muted: oklch(0.78 0.016 300);   /* #B9B3C2 — подписи, ≥ 7:1 на фоне */
  --accent: oklch(0.74 0.135 230);      /* #2BB8EC — голубой логотипа: действия, акцентные слова */
  --on-accent: oklch(0.15 0.02 250);    /* буквы на плитке логотипа */
  --neon: oklch(0.65 0.24 15);          /* #FF2D55 — красный неон, только свечение и метки */
  --danger: oklch(0.7 0.19 20);
  --line: oklch(0.97 0.006 300 / 0.14); /* разделители ячеек полосы правил */

  /* Типографика */
  --font-display: "Fira Sans Extra Condensed", "Arial Narrow", sans-serif;
  --font-body: "Fira Sans", system-ui, sans-serif;
  --font-utility: "Fira Sans Extra Condensed", "Arial Narrow", sans-serif;
  /* Шкала 1.5 */
  --step--1: 0.875rem;  /* 14 */
  --step-0: 1.0625rem;  /* 17 */
  --step-1: 1.5rem;     /* 24 */
  --step-2: clamp(1.875rem, 3vw, 2.25rem);     /* 36 */
  --step-3: clamp(2.75rem, 5vw, 4.5rem);       /* 72 */
  --step-4: clamp(4rem, 9vw, 9.375rem);        /* 150 — первый экран */
  --track-display: -0.01em;
  --track-utility: 0.3em;

  /* Пространство */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 48px; --space-7: 96px; --space-8: 128px;
  --container: 1320px;
  --gutter: clamp(16px, 4vw, 64px);
  --section-y: clamp(4rem, 9vw, 8rem);

  /* Форма: клетка — квадрат */
  --radius-control: 0;
  --radius-photo: 2px;

  /* Движение */
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-micro: 160ms;
  --dur-reveal: 520ms;

  /* Сигнатура — клетка ONLY */
  --signature-cell: clamp(44px, 4.2vw, 64px);   /* сторона клетки: день, номер, цифра таймера */
  --signature-stroke: 2px;                       /* контур пустой клетки */
  --signature-fill: var(--accent);               /* заливка — только логотип и главное действие */
  --signature-step: 120ms;                       /* загорание O→N→L→Y */
  --neon-glow: 0 0 6px oklch(0.65 0.24 15 / 0.9), 0 0 22px oklch(0.65 0.24 15 / 0.55), 0 0 48px oklch(0.65 0.24 15 / 0.35);
}
