

/* Base Styles */
body {
  /* Text Selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  
  /* Color Scheme */
  color-scheme: light dark;
  background-color: Canvas;
  color: CanvasText;
  
  /* Typography */
  font-family: var(--base-font-family);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  
  /* Layout */
  margin: 0;
  min-height: 100vh;
}

/* Light Theme */
html[data-theme='light'] {
  color-scheme: light;
  
  --text-primary: var(--text-color-normal);
  --text-secondary: var(--text-color-light);
  --background-primary: var(--background-light);
  --background-secondary: var(--surface-light);
  
  body {
    background-color: var(--background-primary);
    color: var(--text-primary);
  }
}

/* Dark Theme */
html[data-theme='dark'] {
  color-scheme: dark;
  
  --text-primary: #f0f0f0;
  --text-secondary: #a0a0a0;
  --background-primary: var(--background-dark);
  --background-secondary: var(--surface-dark);
  
  body {
    background-color: var(--background-primary);
    color: var(--text-primary);
  }
}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Print Styles */
@media print {
  body {
    background-color: white !important;
    color: black !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}