/* ============================================================
   GBS — токены дизайн-кода. Единственный источник правды.
   Спецификация: CLAUDE.md → «Дизайн-код GBS».
   Подключается и в layouts/app.blade.php, и в api/static/*.html
   (nginx отдаёт /css/* и /fonts/* из gbs-web для обоих).
   Хардкодить hex в новом коде запрещено.
   ============================================================ */

/* --- Гарнитура: Golos Text (Paratype, OFL), самохостинг.
       Вариативный woff2, одна подписка на весь диапазон 400–600. --- */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/golos-text-cyrillic.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 600;
  font-display: swap;
  src: url('/fonts/golos-text-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/golos-text-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: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/golos-text-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
                 U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* ---------- Поверхности ----------
     Тёплый нейтральный графит: не уводит баланс белого у фотографий.
     Zinc (#18181b / #27272a) синит — не использовать. */
  --ground:  #0F0F0E;
  --surface: #171716;
  --raised:  #22221F;
  --rule:    #2E2E2A;
  --scrim:   rgba(0, 0, 0, .72);
  --void:    #000000;

  /* ---------- Текст ---------- */
  --text-1:   #EDEDEA;  /* основной,        16.4:1 */
  --text-2:   #9A9A93;  /* второстепенный,   6.8:1 */
  --text-3:   #7E7E77;  /* подписи,          4.7:1 — ниже не опускаться */
  --text-off: #4A4A46;  /* disabled, смысла не несёт */

  /* ---------- Сигналы ----------
     Янтарь = время (загружается / обрабатывается / сегодня / скоро исчезнет).
     Цвет взаимодействия — белый (--text-1), не янтарь и не синий. */
  --safelight:     #FFB020;
  --safelight-dim: rgba(255, 176, 32, .12);
  --alarm:         #E5484D;  /* только необратимое разрушение */
  --alarm-dim:     rgba(229, 72, 77, .12);

  /* ---------- Пространство ---------- */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px;
  --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;

  /* ---------- Радиус несёт смысл, а не вкус ---------- */
  --r-frame: 0;      /* кадр, миниатюра, обложка, карта */
  --r-ui:    6px;    /* кнопки, поля, чипы, бейджи */
  --r-float: 12px;   /* модалки, тосты, меню, поповеры */
  --r-round: 999px;  /* только аватар человека */

  /* ---------- Тень только у того, что висит над страницей ---------- */
  --lift-1: 0 2px 8px rgba(0, 0, 0, .5);
  --lift-2: 0 24px 64px rgba(0, 0, 0, .65);

  /* ---------- Движение ---------- */
  --ease: cubic-bezier(.2, .6, .2, 1);
  --fast: 120ms;
  --base: 180ms;
  --slow: 320ms;

  /* ---------- Слои ---------- */
  --z-sticky: 10;
  --z-header: 100;
  --z-drawer: 200;
  --z-pop:    500;
  --z-modal:  700;
  --z-lightbox: 900;
  --z-toast:  1000;

  /* ---------- Типографика ---------- */
  --font: 'Golos Text', 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  --t-micro: 12px;
  --t-meta:  13px;
  --t-body:  15px;
  --t-lead:  17px;
  --t-h3:    20px;
  --t-h2:    25px;
  --t-h1:    32px;
  --t-hero:  44px;

  /* ---------- Ширины ---------- */
  --w-app:  1600px;
  --w-page: 1200px;
  --w-read: 720px;
  --rail:   300px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
