/* ============================================
   DESIGN TOKENS — AnimateBoss
   ============================================ */

:root {
  /* ── Colors ── */
  --color-primary:      #0A0E1A;
  --color-primary-rgb:  10, 14, 26;
  --color-accent:       #FF4D00;
  --color-accent-rgb:   255, 77, 0;
  --color-accent-hover: #E64400;
  --color-secondary:    #1A73E8;
  --color-secondary-rgb: 26, 115, 232;
  --color-surface:      #F4F6FA;
  --color-surface-alt:  #EEF1F6;
  --color-white:        #FFFFFF;
  --color-text:         #2D2D2D;
  --color-text-light:   #4A4A4A;
  --color-muted:        #6B7280;
  --color-border:       #E5E7EB;
  --color-border-hover: #D1D5DB;
  --color-success:      #10B981;
  --color-warning:      #F59E0B;
  --color-danger:       #EF4444;
  --color-info:         #3B82F6;

  /* ── Dark variants ── */
  --color-dark-bg:      #0A0E1A;
  --color-dark-surface: #1a1a2e;
  --color-dark-card:    #151929;
  --color-dark-text:    #E5E7EB;
  --color-dark-muted:   #9CA3AF;

  /* ── Gradients ── */
  --gradient-hero:      linear-gradient(135deg, #0A0E1A 0%, #1a1a2e 100%);
  --gradient-accent:    linear-gradient(135deg, #FF4D00 0%, #FF6B35 100%);
  --gradient-blue:      linear-gradient(135deg, #1A73E8 0%, #4A90E2 100%);
  --gradient-dark:      linear-gradient(180deg, #0A0E1A 0%, #1a1a2e 100%);
  --gradient-glass:     linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
  --gradient-card:      linear-gradient(145deg, #ffffff 0%, #f8f9fc 100%);

  /* ── Typography ── */
  --font-body:     'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading:  'Syne', 'Plus Jakarta Sans', sans-serif;
  --font-mono:     'JetBrains Mono', 'Fira Code', monospace;

  /* Font sizes */
  --text-xs:    0.75rem;    /* 12px */
  --text-sm:    0.8125rem;  /* 13px */
  --text-base:  0.9375rem;  /* 15px */
  --text-md:    1rem;       /* 16px */
  --text-lg:    1.125rem;   /* 18px */
  --text-xl:    1.25rem;    /* 20px */
  --text-2xl:   1.5rem;     /* 24px */
  --text-3xl:   1.875rem;   /* 30px */
  --text-4xl:   2.25rem;    /* 36px */
  --text-5xl:   3rem;       /* 48px */
  --text-6xl:   3.75rem;    /* 60px */

  /* Font weights */
  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --fw-extrabold: 800;

  /* Line heights */
  --lh-tight:   1.2;
  --lh-snug:    1.35;
  --lh-normal:  1.6;
  --lh-relaxed: 1.75;

  /* ── Spacing (8px grid) ── */
  --space-1:  0.25rem;  /* 4px */
  --space-2:  0.5rem;   /* 8px */
  --space-3:  0.75rem;  /* 12px */
  --space-4:  1rem;     /* 16px */
  --space-5:  1.25rem;  /* 20px */
  --space-6:  1.5rem;   /* 24px */
  --space-8:  2rem;     /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */

  /* ── Border radius ── */
  --radius-sm:    6px;
  --radius-md:    10px;
  --radius-lg:    16px;
  --radius-xl:    20px;
  --radius-2xl:   24px;
  --radius-full:  50%;
  --radius-pill:  999px;

  /* ── Shadows ── */
  --shadow-xs:    0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:    0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:    0 8px 30px rgba(0,0,0,0.1);
  --shadow-xl:    0 20px 40px rgba(0,0,0,0.12);
  --shadow-2xl:   0 25px 50px rgba(0,0,0,0.18);
  --shadow-accent: 0 8px 24px rgba(255, 77, 0, 0.3);
  --shadow-blue:  0 8px 24px rgba(26, 115, 232, 0.25);
  --shadow-inner: inset 0 2px 4px rgba(0,0,0,0.06);

  /* ── Transitions ── */
  --transition-fast:    0.15s ease;
  --transition-base:    0.3s ease;
  --transition-slow:    0.5s ease;
  --transition-bounce:  0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* ── Z-index layers ── */
  --z-dropdown:   100;
  --z-sticky:     200;
  --z-overlay:    300;
  --z-modal:      400;
  --z-tooltip:    500;
  --z-toast:      600;

  /* ── Container ── */
  --container-max:  1280px;
  --container-wide: 1440px;
  --container-pad:  1.5rem;

  /* ── Header ── */
  --header-height:  72px;
  --topbar-height:  40px;
}
