/* Design Tokens and Variables — ProblemX */

:root {
  /* Fonts */
  --font-primary: 'Inter', system-ui, -apple-system, sans-serif;
  --font-secondary: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Typography Scale */
  --fs-display-lg: 64px;
  --fs-display-md: 48px;
  --fs-h1: 36px;
  --fs-h2: 30px;
  --fs-h3: 24px;
  --fs-h4: 20px;
  --fs-body-lg: 18px;
  --fs-body-md: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 12px;

  /* Font Weights */
  --fw-bold: 700;
  --fw-semibold: 600;
  --fw-medium: 500;
  --fw-regular: 400;

  /* Spacing Scale (Base Unit: 4px) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;

  /* Border Radii */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-card: 24px;
  --radius-btn: 12px;
  --radius-problem-card: 32px;
  --radius-full: 9999px;

  /* Core Semantic Colors (Constant across themes) */
  --color-primary: #2563EB;        /* Startup Blue */
  --color-primary-hover: #1D4ED8;
  --color-primary-light: rgba(37, 99, 235, 0.1);
  --color-primary-border: rgba(37, 99, 235, 0.3);

  --color-secondary: #7C3AED;      /* Innovation Purple */
  --color-secondary-hover: #6D28D9;
  --color-secondary-light: rgba(124, 58, 237, 0.1);
  --color-secondary-border: rgba(124, 58, 237, 0.3);

  --color-success: #22C55E;        /* Success Green */
  --color-success-hover: #15803D;
  --color-success-light: rgba(34, 197, 94, 0.1);
  --color-success-border: rgba(34, 197, 94, 0.3);

  --color-danger: #EF4444;         /* Alert Red */
  --color-danger-hover: #B91C1C;
  --color-danger-light: rgba(239, 68, 68, 0.1);
  --color-danger-border: rgba(239, 68, 68, 0.3);

  --color-warning: #F59E0B;        /* Warning Amber */
  --color-warning-hover: #D97706;
  --color-warning-light: rgba(245, 158, 11, 0.1);
  --color-warning-border: rgba(245, 158, 11, 0.3);

  /* Default Theme (Light Mode) */
  --color-bg: #FFFFFF;
  --color-bg-secondary: #F8FAFC;
  --color-card: #FFFFFF;
  --color-border: #E2E8F0;
  --color-text-primary: #0F172A;
  --color-text-secondary: #64748B;
  --color-disabled: #CBD5E1;
  --color-disabled-text: #94A3B8;

  /* Shadows (Light Mode) */
  --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-swipe-card: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 16px -6px rgba(15, 23, 42, 0.04);
}

/* Dark Mode Tokens (Triggered by data-theme="dark") */
[data-theme="dark"] {
  --color-bg: #0F172A;
  --color-bg-secondary: #1E293B;
  --color-card: #1E293B;
  --color-border: #334155;
  --color-text-primary: #F8FAFC;
  --color-text-secondary: #CBD5E1;
  --color-disabled: #334155;
  --color-disabled-text: #64748B;

  /* Shadows (Dark Mode) */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
  --shadow-swipe-card: 0 10px 30px -10px rgba(0, 0, 0, 0.7);
}
