:root {
  /* Primary - Black and White */
  --color-primary: #111111;
  --color-secondary: #333333;
  --color-text: #1a1a1a;
  --color-text-secondary: #555555;
  --color-text-muted: #888888;
  --color-bg: #ffffff;
  --color-bg-secondary: #fafafa;
  --color-bg-tertiary: #f5f5f5;

  /* Auxiliary Grays */
  --color-gray-50: #fafafa;
  --color-gray-100: #f5f5f5;
  --color-gray-200: #eeeeee;
  --color-gray-300: #e0e0e0;
  --color-gray-400: #cccccc;
  --color-gray-500: #999999;
  --color-gray-600: #666666;
  --color-gray-700: #444444;

  /* Accent */
  --color-accent: #2563eb;
  --color-accent-hover: #1d4ed8;
  --color-accent-light: #dbeafe;
  --color-accent-bg: #eff6ff;

  /* Exam Point Highlighting */
  --color-high-freq: #fef3c7;
  --color-high-freq-border: #f59e0b;
  --color-high-freq-text: #92400e;
  --color-key-point: #f0fdf4;
  --color-key-point-border: #22c55e;
  --color-key-point-text: #166534;

  /* Semantic */
  --color-border: #e0e0e0;
  --color-border-light: #eeeeee;
  --color-shadow: rgba(0, 0, 0, 0.05);
  --color-overlay: rgba(0, 0, 0, 0.3);

  /* Typography */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Consolas", monospace;

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

  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

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

  /* Layout */
  --sidebar-width: 280px;
  --toc-width: 220px;
  --header-height: 56px;
  --content-max-width: 780px;

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;
}

/* Dark Mode */
[data-theme="dark"] {
  --color-primary: #f5f5f5;
  --color-secondary: #cccccc;
  --color-text: #e0e0e0;
  --color-text-secondary: #aaaaaa;
  --color-text-muted: #777777;
  --color-bg: #111111;
  --color-bg-secondary: #1a1a1a;
  --color-bg-tertiary: #222222;

  --color-gray-50: #1a1a1a;
  --color-gray-100: #222222;
  --color-gray-200: #2a2a2a;
  --color-gray-300: #333333;
  --color-gray-400: #555555;
  --color-gray-500: #777777;
  --color-gray-600: #999999;
  --color-gray-700: #bbbbbb;

  --color-accent: #60a5fa;
  --color-accent-hover: #93bbfd;
  --color-accent-light: #1e3a5f;
  --color-accent-bg: #172554;

  --color-high-freq: #422006;
  --color-high-freq-border: #b45309;
  --color-high-freq-text: #fbbf24;
  --color-key-point: #052e16;
  --color-key-point-border: #15803d;
  --color-key-point-text: #4ade80;

  --color-border: #333333;
  --color-border-light: #222222;
  --color-shadow: rgba(0, 0, 0, 0.3);
  --color-overlay: rgba(0, 0, 0, 0.6);
}
