/*
 * ══════════════════════════════════════════════
 *  AXIS — Design Tokens
 *  Скопируй в новый проект как основу стилей
 * ══════════════════════════════════════════════
 */

:root {
  /* ── Шрифты ── */
  --font-display: 'Space Grotesk', 'IBM Plex Sans', 'Inter', sans-serif;
  --font-body: 'IBM Plex Sans', 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', 'Courier New', monospace;

  /* ── Цвета: фон ── */
  --color-bg: #f4f6fb;
  --color-bg-soft: #e0e1ec;
  --color-bg-warm: #f9efed;

  /* ── Цвета: поверхности ── */
  --color-surface: #ffffff;
  --color-surface-soft: #eef1f8;

  /* ── Цвета: текст ── */
  --color-ink: #41424f;
  --color-ink-soft: #8b8fb7;
  --color-ink-inverse: #f9efed;

  /* ── Цвета: акцент (индиго) ── */
  --color-accent: #515683;
  --color-accent-strong: #42466a;
  --color-accent-muted: rgba(81, 86, 131, 0.14);
  --color-accent-rgb: 81, 86, 131;

  /* ── Цвета: сигнальный (синий) ── */
  --color-signal: #1f4e79;
  --color-signal-strong: #2d5c86;
  --color-signal-rgb: 31, 78, 121;

  /* ── Цвета: предупреждение (оранжевый) ── */
  --color-warning: #f26b43;
  --color-warning-muted: rgba(242, 107, 67, 0.14);
  --color-warning-rgb: 242, 107, 67;

  /* ── Цвета: успех ── */
  --color-success: #44af69;
  --color-success-muted: rgba(68, 175, 105, 0.14);
  --color-success-rgb: 68, 175, 105;

  /* ── Цвета: ошибка ── */
  --color-error: #c95f77;
  --color-error-muted: rgba(201, 95, 119, 0.14);
  --color-error-rgb: 201, 95, 119;

  /* ── Цвета: утилиты ── */
  --color-divider: rgba(65, 66, 79, 0.12);
  --color-divider-strong: rgba(65, 66, 79, 0.2);

  /* ── Градиенты ── */
  --gradient-accent: linear-gradient(135deg, #60669a, #515683);
  --gradient-signal: linear-gradient(135deg, #8db9e1, #1f4e79);
  --gradient-accent-signal: linear-gradient(135deg, #515683, #1f4e79);
  --gradient-error-accent: linear-gradient(135deg, #f26b43, #515683);

  /* ── Поверхности (стекломорфизм) ── */
  --surface-card: rgba(255, 255, 255, 0.82);
  --surface-card-dark: rgba(15, 20, 29, 0.92);
  --surface-glass: rgba(255, 255, 255, 0.6);
  --surface-glass-strong: rgba(255, 255, 255, 0.88);

  /* ── Тени ── */
  --shadow-card: 0 2px 8px rgba(31, 38, 56, 0.04), 0 12px 40px rgba(31, 38, 56, 0.08);
  --shadow-card-hover: 0 10px 28px rgba(81, 86, 131, 0.16), 0 26px 64px rgba(31, 38, 56, 0.12);
  --shadow-glow-accent: 0 0 40px rgba(81, 86, 131, 0.18), 0 0 80px rgba(141, 185, 225, 0.1);
  --shadow-card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.55);
  --shadow-soft: 0 14px 24px rgba(15, 19, 26, 0.06);
  --shadow-float: 0 22px 44px rgba(15, 19, 26, 0.14);

  /* ── Скругления ── */
  --radius-xs: 0.3rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-3xl: 1.75rem;
  --radius-pill: 999px;

  /* ── Контейнер и навигация ── */
  --container-max: 1140px;
  --nav-height: 68px;

  /* ── Анимация ── */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0, 1);

  /* ── Отступы ── */
  --space-2xs: 0.3rem;
  --space-xs: 0.5rem;
  --space-sm: 0.8rem;
  --space-md: 1.15rem;
  --space-lg: 1.6rem;
  --space-xl: 2.2rem;
  --space-2xl: 3.1rem;
  --space-3xl: 4.4rem;
  --space-4xl: 5.6rem;

  /* ── Типографика (fluid) ── */
  --display-1: clamp(2.8rem, 7.5vw, 7rem);
  --display-2: clamp(1.9rem, 4.6vw, 4rem);
  --headline-1: clamp(1.4rem, 2.4vw, 2.3rem);
  --headline-2: clamp(1.15rem, 1.8vw, 1.7rem);
  --body-lg: clamp(1.02rem, 1.12vw, 1.24rem);
  --body-md: 1rem;
  --body-sm: 0.9rem;
  --caption: 0.78rem;

  /* ── Секции ── */
  --section-gap: clamp(6rem, 12vw, 10rem);
  --section-gap-sm: clamp(2.4rem, 5vw, 4.6rem);

  /* ── Z-index ── */
  --z-header: 30;
  --z-floating: 35;
}
