:root {
  /* Brand */
  --color-primary: #059669;
  --color-primary-dark: #047857;
  --color-primary-light: #10b981;
  --color-accent: #0891b2;
  --color-accent-soft: rgba(8, 145, 178, 0.08);
  --color-primary-glow: rgba(5, 150, 105, 0.15);
  --color-primary-rgb: 5, 150, 105;

  /* Background — 浅色 */
  --color-bg-dark: #ffffff;
  --color-bg-section: #f8fafc;
  --color-bg-elevated: #ffffff;
  --glass-bg: rgba(255, 255, 255, 0.38);
  --glass-border: rgba(255, 255, 255, 0.82);
  --glass-blur: blur(22px) saturate(1.45);
  --glass-shadow:
    0 8px 32px rgba(15, 23, 42, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 0 0 1px rgba(5, 150, 105, 0.07);
  --color-bg-card: var(--glass-bg);
  --color-bg-card-hover: rgba(255, 255, 255, 0.58);

  /* Text */
  --color-text-primary: #0f172a;
  --color-text-secondary: #475569;
  --color-text-muted: #94a3b8;

  /* Border */
  --color-border: rgba(15, 23, 42, 0.08);
  --color-border-hover: rgba(5, 150, 105, 0.35);

  /* Typography */
  --font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-size-4xl: 2.5rem;
  --font-size-5xl: 3.25rem;

  /* Spacing */
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2rem;
  --spacing-xl: 3rem;
  --spacing-2xl: 5rem;
  --spacing-3xl: 6.5rem;

  /* Layout */
  --container-max: 1180px;
  --header-height: 68px;

  /* Effects */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-full: 9999px;
  --shadow-card: 0 4px 24px rgba(15, 23, 42, 0.08);
  --shadow-glow: 0 8px 32px rgba(5, 150, 105, 0.12);
  --shadow-soft: 0 2px 12px rgba(15, 23, 42, 0.06);
  --transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  --gradient-brand: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
  --gradient-section: linear-gradient(180deg, rgba(5, 150, 105, 0.06) 0%, rgba(8, 145, 178, 0.03) 100%);
}
