:root {
  --color-bg-primary: #f5f5f7;
  --color-bg-secondary: #ffffff;
  --color-bg-card: #ffffff;
  --color-bg-card-hover: #ffffff;
  --color-bg-glass: rgba(255, 255, 255, 0.82);
  --color-bg-glass-strong: #ffffff;

  --color-accent: #0071e3;
  --color-accent-light: #0071e3;
  --color-accent-glow: rgba(0, 113, 227, 0.16);
  --color-accent-cyan: #5e5ce6;
  --color-accent-cyan-glow: rgba(94, 92, 230, 0.14);

  --color-text-primary: #1d1d1f;
  --color-text-secondary: #424245;
  --color-text-tertiary: #6e6e73;
  --color-text-muted: #86868b;

  --color-border: rgba(0, 0, 0, 0.08);
  --color-border-hover: rgba(0, 0, 0, 0.15);
  --color-border-accent: rgba(0, 113, 227, 0.28);

  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", "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.75rem;
  --font-size-5xl: 4rem;
  --font-size-6xl: 5.5rem;

  --spacing-xs: 0.5rem;
  --spacing-sm: 0.75rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-3xl: 4rem;
  --spacing-4xl: 6rem;
  --spacing-5xl: 8rem;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-full: 9999px;

  --shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.1);
  --shadow-glow: 0 10px 30px var(--color-accent-glow);
  --shadow-glow-strong: 0 18px 50px rgba(0, 113, 227, 0.2);

  --transition-fast: 0.16s ease;
  --transition-base: 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-slow: 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-spring: 0.45s cubic-bezier(0.22, 1, 0.36, 1);

  --blur-sm: blur(8px);
  --blur-md: blur(14px);
  --blur-lg: blur(18px);

  --max-width: 1180px;
  --max-width-narrow: 840px;
}
