/* ==========================================================================
   ABS LABS Journal — design tokens
   Единственный источник цветов, шрифтов, отступов и теней.
   При переезде в WordPress эти переменные ложатся в theme.json один в один.
   ========================================================================== */

:root {
  /* --- Цвет ------------------------------------------------------------- */
  --ink:        #0B2A6B;   /* основной синий: заголовки, тёмные заливки     */
  --signal:     #1E40AF;   /* вспомогательный синий                         */
  --spark:      #F97316;   /* акцент. НЕ несёт текст, см. правило ниже       */
  --sunset:     #EA580C;   /* акцент темнее, hover                          */
  --ember:      #FB923C;   /* акцент светлее, рамки                         */
  --spark-deep: #C2410C;   /* акцент под БЕЛЫЙ текст. Контраст 5.18:1        */

  --ice:        #EEF4FF;   /* светлая синяя подложка                        */
  --cream:      #FFF7ED;   /* светлая тёплая подложка                       */
  --charcoal:   #0F172A;   /* подвал, H3                                    */
  --graphite:   #475569;   /* вторичный текст                               */
  --silver:     #94A3B8;   /* ТОЛЬКО декор: иконки, разделители. Не текст!  */
  --silver-text:#64748B;   /* мелкая мета и подписи. Контраст 4.76:1        */
  --mist:       #E2E8F0;   /* границы                                       */
  --fog:        #F1F5F9;   /* шапки таблиц, hover-строки                    */
  --white:      #FFFFFF;
  --text:       #334155;   /* основной текст статьи                         */
  --dots:       #CBD5E1;   /* неактивные точки карусели                     */

  /* ПРАВИЛО КОНТРАСТА
     Белый на --spark даёт 2.80:1 — это провал WCAG AA (норма 4.5:1).
     Поэтому: любая заливка под белый текст — только --spark-deep (5.18:1).
     Оранжевый текст на светлом фоне — тоже --spark-deep, включая cream:
     sunset на cream даёт 3.35:1, spark-deep — 4.88:1.
     Мелкая мета — --silver-text, не --silver: #94A3B8 на белом это 2.56:1.
     Чистый --spark остаётся там, где он не носит текст:
     полоса прогресса, маркеры списка, точки карусели, черты врезок, рамки. */

  /* --- Шрифт ------------------------------------------------------------ */
  --font-display: 'Manrope', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-ui:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --h1-article: clamp(30px, 5.4vw, 64px);
  --h1-home:    clamp(30px, 4.4vw, 52px);
  --h2:         clamp(24px, 2.6vw, 32px);
  --h3:         clamp(19px, 2vw, 23px);
  --h4:         16px;
  --lead:       clamp(17px, 1.5vw, 20px);
  --body:       16.5px;

  /* --- Размеры ---------------------------------------------------------- */
  --container:  1280px;
  --gutter:     clamp(16px, 4vw, 40px);
  --section-y:  clamp(24px, 4vw, 56px);
  --grid-gap:   clamp(28px, 4vw, 56px);
  --slide-gap:  24px;
  --measure:    74ch;          /* максимальная ширина колонки текста        */

  /* --- Радиусы ---------------------------------------------------------- */
  --r-sm:   6px;
  --r-md:   8px;
  --r-lg:   10px;
  --r-pill: 999px;

  /* --- Тени ------------------------------------------------------------- */
  --sh-1:   0 1px 3px rgba(0,0,0,.06);
  --sh-2:   0 10px 30px rgba(11,42,107,.07);
  --sh-ink: 0 10px 30px rgba(11,42,107,.14);

  /* --- Слои ------------------------------------------------------------- */
  --z-header:   20;
  --z-dropdown: 30;
  --z-sharebar: 40;
  --z-mobile:   50;

  /* --- Движение --------------------------------------------------------- */
  --t-fast: 150ms ease-out;
  --t-base: 220ms ease-out;

  /* --- Скрим обложки ---------------------------------------------------- */
  --cover-scrim: linear-gradient(180deg,
                   rgba(8,31,82,.15),
                   rgba(8,31,82,.55) 55%,
                   rgba(8,31,82,.92));
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 1ms; --t-base: 1ms; }
}
