/* =============================================
   variables.css — Design Tokens
   ============================================= */

:root {

  /* --- Colors --- */
  --color-primary:       #2563eb;
  --color-primary-dark:  #1d4ed8;
  --color-secondary:     #64748b;
  --color-accent:        #EDB41F;

  --color-bg:            #45546B !important;
  --color-bg-alt:        #0f172a !important;
  --color-surface:       #fff !important;

  --color-text:          #fff;
  --color-text-alt:      #0f172a;


  --color-border:        #e2e8f0;
  --color-border-strong: #cbd5e1;

  --color-success:       #16a34a;
  --color-warning:       #d97706;
  --color-error:         #dc2626;

  /* --- Typography --- */
  --font-sans:    system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif:   Georgia, 'Times New Roman', serif;
  --font-mono:    'Courier New', Courier, monospace;

  --text-5xl: clamp(3.5rem, 1.5rem + 2.5vw, 5rem);
  --text-4xl: clamp(1.75rem, 1.4rem + 1.75vw, 2.75rem);
  --text-3xl: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.75rem);
  --text-xl:  clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);
  --text-lg:  clamp(1.0625rem, 1rem + 0.25vw, 1.25rem);
  --text-base: clamp(1rem, 0.97rem + 0.1vw, 1.0625rem);
  --text-sm:  clamp(0.875rem, 0.85rem + 0.1vw, 0.9375rem);

  --leading-tight:  1.25;
  --leading-normal: 1.5;
  --leading-loose:  1.75;

  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;

  /* --- Spacing --- */
  --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 */

  /* --- Layout --- */
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1280px;
  --container-2xl: 1536px;

  /* --- Border Radius --- */
  --radius-sm:   0.25rem;
  --radius-md:   0.5rem;
  --radius-lg:   0.75rem;
  --radius-xl:   1rem;
  --radius-full: 9999px;

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

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

  /* --- Z-Index Scale --- */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
}

/* --- Dark Mode Overrides --- */
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg:         #0f172a;
    --color-bg-alt:     #1e293b;
    --color-surface:    #334155;
    --color-text:       #f1f5f9;
    --color-text-muted: #94a3b8;
    --color-border:     #334155;
  }
}
