:root {
  /* === 浅色主题（默认） === */
  --bg: #f5f5f0;
  --bg-card: #ffffff;
  --bg-elevated: #fafaf8;
  --bg-hover: #f0f0ec;

  --text-primary: #1a1a1a;
  --text-secondary: #666666;
  --text-tertiary: #999999;

  --border-color: rgba(0, 0, 0, 0.08);
  --border-hover: rgba(0, 0, 0, 0.15);

  --accent: #2a2a2a;
  --accent-dim: rgba(42, 42, 42, 0.08);
  --accent-border: rgba(42, 42, 42, 0.2);

  --success: #5a8a5e;
  --success-bg: rgba(90, 138, 94, 0.1);
  --success-border: rgba(90, 138, 94, 0.2);

  --warning: #b8943a;
  --warning-bg: rgba(184, 148, 58, 0.1);
  --warning-border: rgba(184, 148, 58, 0.2);

  --error: #a06060;
  --error-bg: rgba(160, 96, 96, 0.1);
  --error-border: rgba(160, 96, 96, 0.2);

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.06);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  --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;
  --space-16: 64px;
  --space-20: 80px;

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --text-5xl: 48px;

  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  --sidebar-width: 220px;
  --content-max-width: 1280px;
  --header-height: 64px;
}

[data-theme="dark"] {
  --bg: #0c0c0c;
  --bg-card: #141414;
  --bg-elevated: #1a1a1a;
  --bg-hover: #222222;

  --text-primary: #f5f5f0;
  --text-secondary: #999999;
  --text-tertiary: #555555;

  --border-color: rgba(255, 255, 255, 0.06);
  --border-hover: rgba(255, 255, 255, 0.12);

  --accent: #e8e4dc;
  --accent-dim: rgba(232, 228, 220, 0.15);
  --accent-border: rgba(232, 228, 220, 0.25);

  --success: #7a9e7e;
  --success-bg: rgba(122, 158, 126, 0.1);
  --success-border: rgba(122, 158, 126, 0.2);

  --warning: #c4a35a;
  --warning-bg: rgba(196, 163, 90, 0.1);
  --warning-border: rgba(196, 163, 90, 0.2);

  --error: #b87070;
  --error-bg: rgba(184, 112, 112, 0.1);
  --error-border: rgba(184, 112, 112, 0.2);

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.7);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.3);
}
