/* ===== CSS 变量系统 ===== */
:root {
  /* 颜色系统 */
  --primary-color: #2E8B57;        /* 森林绿 - 主色 */
  --secondary-color: #F5F5DC;      /* 米白 - 辅色 */
  --accent-color: #D4AF37;         /* 金色 - 强调色 */
  --dark-color: #1a1a1a;           /* 深色 */
  --light-color: #f9f9f9;          /* 浅色 */
  --text-primary: #333333;         /* 主文本色 */
  --text-secondary: #666666;       /* 次文本色 */
  --border-color: #e0e0e0;         /* 边框色 */
  --success-color: #27ae60;         /* 成功色 */
  --warning-color: #f39c12;         /* 警告色 */
  --error-color: #e74c3c;           /* 错误色 */
  --hover-color: #1f5a3f;           /* 悬停色 */

  /* 字体系统 */
  --font-family-primary: 'Microsoft YaHei', 'SimHei', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  --font-family-code: 'Courier New', Courier, monospace;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --font-size-3xl: 40px;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* 间距系统 */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;

  /* 圆角系统 */
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* 阴影系统 */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.2);

  /* 过渡动画 */
  --transition-fast: 150ms ease-in-out;
  --transition-normal: 300ms ease-in-out;
  --transition-slow: 500ms ease-in-out;

  /* 宽度限制 */
  --container-width: 1200px;
  --container-padding: 20px;
}

/* 响应式媒体查询 */
@media (max-width: 1024px) {
  :root {
    --font-size-3xl: 32px;
    --font-size-2xl: 28px;
    --spacing-3xl: 48px;
    --container-width: 960px;
  }
}

@media (max-width: 768px) {
  :root {
    --font-size-3xl: 28px;
    --font-size-2xl: 24px;
    --font-size-xl: 20px;
    --spacing-3xl: 32px;
    --spacing-2xl: 32px;
    --container-width: 100%;
    --container-padding: 16px;
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-3xl: 24px;
    --font-size-2xl: 20px;
    --font-size-xl: 18px;
    --spacing-3xl: 24px;
    --spacing-2xl: 24px;
  }
}

