/**
 * Design Tokens - Centralized CSS Custom Properties
 * Based on soft_light_blurr/DESIGN.md
 * 
 * Usage: var(--color-primary) or var(--font-family-sans)
 */

:root {
  /* ============================================
   * BRAND COLORS
   * ============================================ */
  
  /* Primary - Vibrant Teal (#40CFB0) */
  --color-primary: #40CFB0;
  --color-primary-dim: #35b094;
  --color-primary-container: #e8faf6;
  --color-on-primary: #ffffff;
  --color-on-primary-container: #1a5243;
  --color-primary-fixed: #40CFB0;
  --color-primary-fixed-dim: #35b094;
  --color-on-primary-fixed: #ffffff;
  --color-on-primary-fixed-variant: #1a5243;
  
  /* Secondary - Deep Blue (#3654c8) */
  --color-secondary: #3654c8;
  --color-secondary-dim: #2a43a0;
  --color-secondary-container: #e8ecfc;
  --color-on-secondary: #ffffff;
  --color-on-secondary-container: #1a2d6b;
  --color-secondary-fixed: #3654c8;
  --color-secondary-fixed-dim: #2a43a0;
  --color-on-secondary-fixed: #ffffff;
  --color-on-secondary-fixed-variant: #1a2d6b;
  
  /* Tertiary - Dark Navy (#243061) */
  --color-tertiary: #243061;
  --color-tertiary-dim: #1c264d;
  --color-tertiary-container: #e6e8f0;
  --color-on-tertiary: #ffffff;
  --color-on-tertiary-container: #121838;
  --color-tertiary-fixed: #243061;
  --color-tertiary-fixed-dim: #1c264d;
  --color-on-tertiary-fixed: #ffffff;
  --color-on-tertiary-fixed-variant: #121838;
  
  /* Neutral - Warm Gray (#b8b5af) */
  --color-neutral: #b8b5af;
  --color-neutral-dim: #9a9791;
  --color-neutral-container: #f5f4f2;
  --color-on-neutral: #ffffff;
  --color-on-neutral-container: #393833;
  
  /* ============================================
   * SURFACE & BACKGROUND COLORS
   * ============================================ */
  
  --color-background: #fffbff;
  --color-on-background: #393833;
  --color-surface: #ffffff;
  --color-on-surface: #393833;
  --color-surface-bright: #fffbff;
  --color-surface-dim: #e6e2da;
  
  /* Surface Containers (elevated surfaces) */
  --color-surface-container-lowest: #ffffff;
  --color-surface-container-low: #fdf9f3;
  --color-surface-container: #f7f3ec;
  --color-surface-container-high: #f2ede6;
  --color-surface-container-highest: #ece8e0;
  --color-surface-variant: #f7f3ec;
  --color-on-surface-variant: #66645e;
  
  /* Inverse (for overlays, modals) */
  --color-inverse-surface: #0f0e0c;
  --color-inverse-on-surface: #fafafa;
  --color-inverse-primary: #40CFB0;
  
  /* ============================================
   * OUTLINE & BORDER COLORS
   * ============================================ */
  
  --color-outline: #83807a;
  --color-outline-variant: #bcb9b2;
  
  /* ============================================
   * SEMANTIC COLORS
   * ============================================ */
  
  /* Error */
  --color-error: #ae4025;
  --color-error-dim: #962e19;
  --color-error-container: #fd795a;
  --color-on-error: #ffffff;
  --color-on-error-container: #6e1400;
  
  /* Surface Tint (for subtle highlights) */
  --color-surface-tint: #007260;
  
  /* ============================================
   * TYPOGRAPHY
   * ============================================ */
  
  /* Font Families */
  --font-family-sans: 'Public Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-headline: 'Public Sans', system-ui, sans-serif;
  --font-family-body: 'Public Sans', system-ui, sans-serif;
  --font-family-label: 'Public Sans', system-ui, sans-serif;
  --font-family-display: 'Public Sans', system-ui, sans-serif;
  --font-family-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  
  /* Font Weights */
  --font-weight-thin: 100;
  --font-weight-extralight: 200;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  
  /* Font Sizes (Tailwind-compatible scale) */
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
  --font-size-5xl: 3rem;       /* 48px */
  
  /* Line Heights */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
  
  /* Letter Spacing */
  --letter-spacing-tighter: -0.05em;
  --letter-spacing-tight: -0.025em;
  --letter-spacing-normal: 0em;
  --letter-spacing-wide: 0.025em;
  --letter-spacing-wider: 0.05em;
  --letter-spacing-widest: 0.1em;
  
  /* ============================================
   * BORDER RADIUS
   * Based on moderate roundedness (2/4)
   * ============================================ */
  
  --radius-none: 0;
  --radius-sm: 0.25rem;       /* 4px */
  --radius-md: 0.5rem;        /* 8px - DEFAULT */
  --radius-lg: 1rem;          /* 16px */
  --radius-xl: 1.5rem;        /* 24px */
  --radius-2xl: 2rem;         /* 32px */
  --radius-full: 9999px;       /* Pill/circle */
  
  /* ============================================
   * SHADOWS
   * Minimal use per design spec (border-based separation)
   * ============================================ */
  
  --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);
  
  /* ============================================
   * SPACING
   * Normal spacing (2/4)
   * ============================================ */
  
  --spacing-0: 0;
  --spacing-1: 0.25rem;   /* 4px */
  --spacing-2: 0.5rem;    /* 8px */
  --spacing-3: 0.75rem;   /* 12px */
  --spacing-4: 1rem;      /* 16px */
  --spacing-5: 1.25rem;   /* 20px */
  --spacing-6: 1.5rem;    /* 24px */
  --spacing-8: 2rem;      /* 32px */
  --spacing-10: 2.5rem;   /* 40px */
  --spacing-12: 3rem;     /* 48px */
  --spacing-16: 4rem;     /* 64px */
  --spacing-20: 5rem;     /* 80px */
  
  /* ============================================
   * TRANSITIONS
   * ============================================ */
  
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  --transition-slower: 500ms ease;
  
  /* ============================================
   * Z-INDEX SCALE
   * ============================================ */
  
  --z-index-dropdown: 100;
  --z-index-sticky: 200;
  --z-index-fixed: 300;
  --z-index-modal-backdrop: 400;
  --z-index-modal: 500;
  --z-index-popover: 600;
  --z-index-tooltip: 700;
}

/* ============================================
 * DARK MODE TOKENS (if needed in future)
 * ============================================ */

@media (prefers-color-scheme: dark) {
  :root.dark-auto {
    /* Dark mode overrides would go here */
  }
}

/* Force dark mode class */
.dark {
  --color-background: #0f0e0c;
  --color-on-background: #fafafa;
  --color-surface: #18181b;
  --color-on-surface: #e4e4e7;
  --color-surface-container: #1e1e22;
  --color-surface-container-high: #27272a;
  --color-outline: #3f3f46;
  --color-outline-variant: #27272a;
}
