/* ==============================================
   Design Tokens — единый источник правды для стилей
   ============================================== */

:root {
  /* ── Цветовая палитра ── */
  --color-bg-primary: #0a0e1a;
  --color-bg-secondary: #111827;
  --color-bg-card: rgba(17, 24, 39, 0.6);
  --color-bg-glass: rgba(255, 255, 255, 0.04);

  --color-text-primary: #f1f5f9;
  --color-text-secondary: #94a3b8;
  --color-text-muted: #64748b;

  /* Акцентный зелёный */
  --color-accent: #22c55e;
  --color-accent-light: #4ade80;
  --color-accent-dark: #16a34a;
  --color-accent-glow: rgba(34, 197, 94, 0.35);
  --color-accent-glow-strong: rgba(34, 197, 94, 0.55);

  /* Градиенты */
  --gradient-accent: linear-gradient(135deg, var(--color-accent), var(--color-accent-light));
  --gradient-bg: radial-gradient(ellipse at 50% 0%, rgba(34, 197, 94, 0.08) 0%, transparent 60%);
  --gradient-hero-orb-1: radial-gradient(circle, rgba(34, 197, 94, 0.15), transparent 70%);
  --gradient-hero-orb-2: radial-gradient(circle, rgba(56, 189, 248, 0.1), transparent 70%);

  /* ── Типографика ── */
  --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-display: 'Outfit', var(--font-family-base);

  --font-size-xs: clamp(0.7rem, 1.5vw, 0.8rem);
  --font-size-sm: clamp(0.8rem, 1.8vw, 0.9rem);
  --font-size-base: clamp(0.9rem, 2vw, 1rem);
  --font-size-md: clamp(1rem, 2.5vw, 1.2rem);
  --font-size-lg: clamp(1.2rem, 3vw, 1.5rem);
  --font-size-xl: clamp(1.5rem, 4vw, 2rem);
  --font-size-2xl: clamp(2rem, 5vw, 3rem);
  --font-size-3xl: clamp(2.5rem, 6vw, 4rem);

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  --line-height-tight: 1.15;
  --line-height-base: 1.6;

  --letter-spacing-tight: -0.02em;
  --letter-spacing-wide: 0.05em;

  /* ── Отступы (spacing) ── */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;

  /* ── Скругления ── */
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;

  /* ── Тени ── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 30px var(--color-accent-glow), 0 0 60px var(--color-accent-glow);
  --shadow-glow-strong: 0 0 40px var(--color-accent-glow-strong), 0 0 80px var(--color-accent-glow);

  /* ── Переходы ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-индексы ── */
  --z-bg: -1;
  --z-base: 1;
  --z-header: 100;
  --z-modal: 200;
  --z-toast: 300;

  /* ── Контейнер ── */
  --container-max: 1200px;
  --container-padding: var(--space-lg);
}
