/**
 * _variables.css
 *
 * RESPONSIBILITY: Design tokens - colors, spacing, typography, shadows
 * MAX SIZE: 50 lines
 * DEPENDENCIES: None (must be imported first)
 *
 * RULES:
 * - ONLY define CSS custom properties
 * - NO actual styles or selectors
 * - Define both light and dark theme variables
 *
 * Last Modified: January 2025
 */

/* =============================================================================
   LIGHT THEME (Default)
   ============================================================================= */

:root[data-theme="light"],
:root {
  /* === PRIMARY COLORS === */
  --color-primary: #0777bb;
  --color-primary-hover: #055a8c;
  --color-primary-light: #d6eef7;

  /* === SUCCESS === */
  --color-success: #10b981;
  --color-success-light: #d1fae5;

  /* === WARNING === */
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;

  /* === DANGER === */
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;

  /* === NEUTRAL GRAYS === */
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-500: #6b7280;
  --color-gray-700: #374151;
  --color-gray-900: #111827;

  /* === SEMANTIC COLORS === */
  --bg-primary: #ffffff;
  --bg-secondary: #f9fafb;
  --bg-tertiary: #f3f4f6;
  --bg-accent: #eff6ff;

  --text-primary: #111827;
  --text-secondary: #4b5563;
  --text-tertiary: #9ca3af;

  --border-color: #e5e7eb;
  --border-color-hover: #d1d5db;

  /* === 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);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);

  /* === TYPOGRAPHY === */
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Roboto, Oxygen, Ubuntu, sans-serif;

  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;

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

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* === SPACING === */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;

  /* === BORDER RADIUS === */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;

  /* === TRANSITIONS === */
  --transition-fast: 150ms ease-in-out;
  --transition-base: 250ms ease-in-out;
  --transition-slow: 350ms ease-in-out;
}

/* =============================================================================
   DARK THEME
   ============================================================================= */

:root[data-theme="dark"] {
  /* === PRIMARY COLORS === */
  --color-primary: #3b82f6;
  --color-primary-hover: #60a5fa;
  --color-primary-light: #1e3a8a;

  /* === SUCCESS === */
  --color-success: #34d399;
  --color-success-light: #064e3b;

  /* === WARNING === */
  --color-warning: #fbbf24;
  --color-warning-light: #78350f;

  /* === DANGER === */
  --color-danger: #f87171;
  --color-danger-light: #7f1d1d;

  /* === NEUTRAL GRAYS (inverted) === */
  --color-gray-50: #111827;
  --color-gray-100: #1f2937;
  --color-gray-200: #374151;
  --color-gray-300: #4b5563;
  --color-gray-500: #9ca3af;
  --color-gray-700: #e5e7eb;
  --color-gray-900: #f9fafb;

  /* === SEMANTIC COLORS === */
  --bg-primary: #0f172a;
  --bg-secondary: #1e293b;
  --bg-tertiary: #334155;
  --bg-accent: #1e3a8a;

  --text-primary: #f9fafb;
  --text-secondary: #cbd5e0;
  --text-tertiary: #94a3b8;

  --border-color: #334155;
  --border-color-hover: #475569;

  /* === SHADOWS (deeper) === */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.6);
}
