/* ============================================
   DESIGN TOKENS
   Single source of truth for all design constants.
   Use these variables in any design via var(--token-name).
   ============================================ */

:root {

  /* ---- Colors: Brand ---- */
  --color-primary:        #2563eb;
  --color-primary-light:  #60a5fa;
  --color-primary-dark:   #1d4ed8;
  --color-secondary:      #7c3aed;
  --color-secondary-light:#a78bfa;
  --color-secondary-dark: #5b21b6;
  --color-accent:         #f59e0b;
  --color-accent-light:   #fbbf24;
  --color-accent-dark:    #d97706;

  /* ---- Colors: Neutrals ---- */
  --color-white:          #ffffff;
  --color-black:          #0a0a0a;
  --color-gray-50:        #fafafa;
  --color-gray-100:       #f5f5f5;
  --color-gray-200:       #e5e5e5;
  --color-gray-300:       #d4d4d4;
  --color-gray-400:       #a3a3a3;
  --color-gray-500:       #737373;
  --color-gray-600:       #525252;
  --color-gray-700:       #404040;
  --color-gray-800:       #262626;
  --color-gray-900:       #171717;

  /* ---- Colors: Semantic ---- */
  --color-success:        #16a34a;
  --color-warning:        #ea580c;
  --color-error:          #dc2626;
  --color-info:           #0891b2;

  /* ---- Typography: Font Families ---- */
  --font-sans:   'Comfortaa', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-serif:  'Georgia', 'Times New Roman', Times, serif;
  --font-mono:   'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* ---- Typography: Font Sizes (fluid scale) ---- */
  --text-xs:     clamp(0.70rem, 0.65rem + 0.25vw, 0.75rem);
  --text-sm:     clamp(0.80rem, 0.75rem + 0.25vw, 0.875rem);
  --text-base:   clamp(0.95rem, 0.90rem + 0.25vw, 1rem);
  --text-lg:     clamp(1.05rem, 1.00rem + 0.35vw, 1.125rem);
  --text-xl:     clamp(1.15rem, 1.05rem + 0.50vw, 1.25rem);
  --text-2xl:    clamp(1.35rem, 1.15rem + 1.00vw, 1.5rem);
  --text-3xl:    clamp(1.60rem, 1.30rem + 1.50vw, 1.875rem);
  --text-4xl:    clamp(2.00rem, 1.50rem + 2.50vw, 2.25rem);
  --text-5xl:    clamp(2.50rem, 1.75rem + 3.75vw, 3rem);
  --text-6xl:    clamp(3.00rem, 2.00rem + 5.00vw, 3.75rem);

  /* ---- Typography: Font Weights ---- */
  --font-light:     300;
  --font-normal:    400;
  --font-medium:    500;
  --font-semibold:  600;
  --font-bold:      700;
  --font-extrabold: 800;

  /* ---- Typography: Line Heights ---- */
  --leading-none:    1;
  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.5;
  --leading-relaxed: 1.625;
  --leading-loose:   2;

  /* ---- Typography: Letter Spacing ---- */
  --tracking-tight:   -0.025em;
  --tracking-normal:   0em;
  --tracking-wide:     0.025em;
  --tracking-wider:    0.05em;
  --tracking-widest:   0.1em;

  /* ---- Spacing (4px base scale) ---- */
  --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 */
  --space-32:  8rem;      /* 128px */

  /* ---- Border Radius ---- */
  --radius-sm:    0.25rem;  /*  4px */
  --radius-md:    0.5rem;   /*  8px */
  --radius-lg:    0.75rem;  /* 12px */
  --radius-xl:    1rem;     /* 16px */
  --radius-2xl:   1.5rem;   /* 24px */
  --radius-full:  9999px;

  /* ---- Border Widths ---- */
  --border-thin:   1px;
  --border-medium: 2px;
  --border-thick:  4px;

  /* ---- Shadows (elevation) ---- */
  --shadow-sm:  0 1px  2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md:  0 4px  6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg:  0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-xl:  0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);

  /* ---- Transitions ---- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* ---- Layout: Max Widths ---- */
  --max-w-sm:   640px;
  --max-w-md:   768px;
  --max-w-lg:   1024px;
  --max-w-xl:   1280px;
  --max-w-2xl:  1536px;

  /* ---- Breakpoints (reference only — use in media queries as raw values) ----
     Mobile:  480px
     Tablet:  768px
     Desktop: 1024px
     Wide:    1280px
  ---- */
}
