:root {
  --font-family: "PingFang SC", "KaiTi", "STKaiti", "Microsoft YaHei", sans-serif;
  --fs-base: 16px;
  --fs-h1: 2rem;
  --fs-h2: 1.5rem;
  --fs-stat: 2.25rem;
  --color-primary: #C41E2A;
  --color-accent: #DAA520;
  --color-bg: #F5F0E8;
  --color-bg-card: #FFFFFF;
  --color-text: #2D3436;
  --color-text-secondary: #636E72;
  --color-border: #E0DBD2;
  --theme-shadow: 0 4px 20px rgba(0,0,0,0.08);
  --safe-area-bottom: env(safe-area-inset-bottom, 0px);
  --contact-footer-h: 72px;
  --bottom-nav-h: 44px;
}

[data-theme="ceremony"] {
  --color-primary: #C41E2A;
  --color-accent: #DAA520;
  --color-bg: #F5F0E8;
  --color-bg-card: #FFFFFF;
  --color-text: #2D3436;
}
[data-theme="youth"] {
  --color-primary: #FF6B35;
  --color-accent: #4ECDC4;
  --color-bg: #FFF8F0;
  --color-bg-card: #FFFFFF;
}
[data-theme="scholar"] {
  --color-primary: #1565C0;
  --color-accent: #FFC107;
  --color-bg: #F0F4F8;
  --color-bg-card: #FFFFFF;
}
[data-theme="tech"] {
  --color-primary: #6366F1;
  --color-accent: #22D3EE;
  --color-bg: #0F172A;
  --color-bg-card: #1E293B;
  --color-text: #F1F5F9;
  --color-text-secondary: #94A3B8;
  --color-border: rgba(148,163,184,0.2);
}
[data-theme="nature"] {
  --color-primary: #059669;
  --color-accent: #F59E0B;
  --color-bg: #ECFDF5;
  --color-bg-card: #FFFFFF;
}
[data-theme="warm"] {
  --color-primary: #E11D48;
  --color-accent: #FB923C;
  --color-bg: #FFF1F2;
  --color-bg-card: #FFFFFF;
}

[data-font="large"] { --fs-base: 20px; --fs-h1: 2.25rem; }
[data-font="xlarge"] { --fs-base: 24px; --fs-h1: 2.5rem; }
