/**
 * variables.css - Core design tokens, theme palette, typography, shadows & transitions
 * Inspired by Bloomberg / Vercel Analytics dashboards
 */

:root {
  /* Color Palette - Dark Base */
  --bg-app: #0b0f19;
  --bg-surface: #111827;
  --bg-surface-elevated: #162033;
  --bg-surface-hover: #1f2d47;
  --bg-card: rgba(17, 24, 39, 0.85);
  --bg-card-hover: rgba(31, 41, 55, 0.95);
  --bg-glass: rgba(17, 24, 39, 0.75);
  --bg-glass-card: rgba(22, 32, 51, 0.8);

  /* Borders & Dividers */
  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-medium: rgba(255, 255, 255, 0.14);
  --border-strong: rgba(255, 255, 255, 0.22);
  --border-focus: #3b82f6;

  /* Typography Colors */
  --text-primary: #f9fafb;
  --text-secondary: #9ca3af;
  --text-tertiary: #6b7280;
  --text-muted: #4b5563;
  --text-inverse: #0f172a;

  /* Brand & Accents */
  --accent-primary: #3b82f6;
  --accent-primary-hover: #2563eb;
  --accent-primary-light: rgba(59, 130, 246, 0.15);
  --accent-primary-glow: rgba(59, 130, 246, 0.35);

  --accent-success: #10b981;
  --accent-success-light: rgba(16, 185, 129, 0.15);
  --accent-warning: #f59e0b;
  --accent-warning-light: rgba(245, 158, 11, 0.15);
  --accent-danger: #ef4444;
  --accent-danger-light: rgba(239, 68, 68, 0.15);

  /* Map Default States */
  --map-unvoted: #E2E8F0;
  --map-unvoted-stroke: #cbd5e1;
  --map-stroke: rgba(255, 255, 255, 0.5);
  --map-stroke-hover: #ffffff;
  --map-selected-stroke: #3b82f6;

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.8125rem;  /* 13px */
  --font-size-base: 0.875rem; /* 14px */
  --font-size-md: 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-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;

  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  /* Elevation Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.6), 0 4px 6px -4px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.7), 0 8px 10px -6px rgba(0, 0, 0, 0.6);
  --shadow-drawer: -10px 0 30px rgba(0, 0, 0, 0.75);

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-drawer: 350ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Layout Dimensions */
  --header-height: 64px;
  --sidebar-width: 300px;
  --drawer-width: 440px;
  --z-map: 1;
  --z-controls: 20;
  --z-sidebar: 30;
  --z-tooltip: 50;
  --z-drawer-backdrop: 90;
  --z-drawer: 100;
  --z-modal: 200;
}
