:root {
  --font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  --fs-base: 16px;
  --fs-h1: 2rem;
  --fs-h2: 1.5rem;
  --fs-h3: 1.25rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-stat: 2.5rem;
  --spacing-base: 1rem;
  --radius-md: 12px;
  --radius-lg: 16px;
  --transition-base: 0.3s ease;
  --z-nav: 100;
  --z-fab: 120;
  --z-lightbox: 200;
  --theme-bg-primary: #0a1628;
  --theme-bg-panel: #132744;
  --theme-data-highlight: #00d4ff;
  --theme-accent: #00e5a0;
  --theme-warning: #ff4757;
  --theme-text-primary: #e8edf2;
  --theme-text-secondary: #8899aa;
  --theme-border: rgba(0, 212, 255, 0.15);
  --theme-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  --color-primary: var(--theme-data-highlight);
  --color-accent: var(--theme-accent);
  --color-bg: var(--theme-bg-primary);
  --color-bg-card: var(--theme-bg-panel);
  --color-text: var(--theme-text-primary);
  --color-text-secondary: var(--theme-text-secondary);
  --color-border: var(--theme-border);
}

[data-theme="gov-blue"] { /* default */ }

[data-theme="smart-community"] {
  --theme-bg-primary: #f8fafc;
  --theme-bg-panel: #ffffff;
  --theme-data-highlight: #2563eb;
  --theme-accent: #f97316;
  --theme-warning: #ef4444;
  --theme-text-primary: #1e293b;
  --theme-text-secondary: #64748b;
  --theme-border: rgba(37, 99, 235, 0.1);
  --theme-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

[data-theme="digital-village"] {
  --theme-bg-primary: #0f2914;
  --theme-bg-panel: #1a3f22;
  --theme-data-highlight: #4ade80;
  --theme-accent: #fbbf24;
  --theme-text-primary: #ecfdf5;
  --theme-text-secondary: #86efac;
  --theme-border: rgba(74, 222, 128, 0.15);
}

[data-theme="industrial-park"] {
  --theme-bg-primary: #1a1a2e;
  --theme-bg-panel: #2a2a4a;
  --theme-data-highlight: #a78bfa;
  --theme-accent: #f59e0b;
  --theme-text-primary: #e8e8f0;
  --theme-text-secondary: #9ca3af;
  --theme-border: rgba(167, 139, 250, 0.15);
}

[data-theme="warm-brown"] {
  --theme-bg-primary: #2c1810;
  --theme-bg-panel: #3d2618;
  --theme-data-highlight: #f59e0b;
  --theme-accent: #ef4444;
  --theme-text-primary: #fef3c7;
  --theme-text-secondary: #d4a574;
  --theme-border: rgba(245, 158, 11, 0.15);
}

[data-theme="elderly-care"] {
  --theme-bg-primary: #faf5f0;
  --theme-bg-panel: #ffffff;
  --theme-data-highlight: #6366f1;
  --theme-accent: #ec4899;
  --theme-text-primary: #3d2e28;
  --theme-text-secondary: #8b7355;
  --theme-border: rgba(99, 102, 241, 0.1);
  --theme-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

[data-theme="party-red"] {
  --theme-bg-primary: #1a0a0a;
  --theme-bg-panel: #2d1515;
  --theme-data-highlight: #fbbf24;
  --theme-accent: #ef4444;
  --theme-text-primary: #fef2f2;
  --theme-text-secondary: #fca5a5;
  --theme-border: rgba(239, 68, 68, 0.2);
}

[data-font="large"] {
  --fs-base: 20px;
  --fs-h1: 2.25rem;
  --fs-h2: 1.75rem;
  --fs-stat: 2.75rem;
}

[data-font="xlarge"] {
  --fs-base: 24px;
  --fs-h1: 2.5rem;
  --fs-h2: 2rem;
  --fs-stat: 3rem;
}

[data-high-contrast="true"] {
  --theme-bg-primary: #000000;
  --theme-bg-panel: #111111;
  --theme-text-primary: #ffffff;
  --theme-text-secondary: #cccccc;
  --theme-border: rgba(255, 255, 255, 0.3);
}
