/* ========================================
   MUSEALYTICS - Base Styles
   Variables, Reset, Typography
   ======================================== */

/* ----------------------------------------
   CSS Variables
   ---------------------------------------- */
:root {
  /* Colors - Dark Theme (default) */
  --bg-base: #09090b;
  --bg-surface: #18181b;
  --bg-elevated: #27272a;
  --bg-hover: #3f3f46;
  
  --text-primary: #fafafa;
  --text-secondary: #a1a1aa;
  --text-muted: #71717a;
  
  --border: #27272a;
  --border-light: #3f3f46;
  
  --accent: #8b5cf6;
  --accent-hover: #7c3aed;
  --accent-glow: rgba(139, 92, 246, 0.25);
  
  --spotify: #1db954;
  --spotify-hover: #1ed760;
  
  --success: #22c55e;
  --warning: #f59e0b;
  --error: #ef4444;
  
  /* Heatmap */
  --heat-0: #27272a;
  --heat-1: #3b2667;
  --heat-2: #5b3a9e;
  --heat-3: #8b5cf6;
  --heat-4: #a78bfa;
  
  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  
  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-xs: 0.75rem;
  --font-sm: 0.875rem;
  --font-base: 1rem;
  --font-lg: 1.125rem;
  --font-xl: 1.25rem;
  --font-2xl: 1.5rem;
  --font-3xl: 2rem;
  
  /* Radius */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  
  /* Transitions */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
}

/* Light Theme */
[data-theme="light"] {
  --bg-base: #ffffff;
  --bg-surface: #f4f4f5;
  --bg-elevated: #e4e4e7;
  --bg-hover: #d4d4d8;
  
  --text-primary: #18181b;
  --text-secondary: #52525b;
  --text-muted: #a1a1aa;
  
  --border: #e4e4e7;
  --border-light: #d4d4d8;
  
  --heat-0: #e4e4e7;
  --heat-1: #ddd6fe;
  --heat-2: #c4b5fd;
  --heat-3: #a78bfa;
  --heat-4: #8b5cf6;
  
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
}

/* ----------------------------------------
   Reset
   ---------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--font-base);
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--bg-base);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

input {
  font-family: inherit;
}

img, svg {
  display: block;
  max-width: 100%;
}
