/* 由 build.py 从 data/design-tokens.json 自动生成 */
:root {
  /* colors */
  --bg-primary: #0d0d0d;
  --bg-card: #141414;
  --bg-elevated: #1e1e1e;
  --text-primary: #f0f0f0;
  --text-secondary: #888888;
  --text-muted: #555555;
  --accent: #d4bc94;
  --accent-hover: #e8d5b0;
  --accent-dim: #b8a07a;
  --border: rgba(255,255,255,0.08);
  --border-light: rgba(255,255,255,0.05);
  --error: #e05555;
  --success: #6bbf6b;
  /* spacing */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 32px;
  --spacing-xl: 64px;
  --spacing-2xl: 128px;
  /* radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 20px;
  /* shadows */
  --card: 0 2px 8px rgba(0,0,0,0.4);
  --elevated: 0 4px 16px rgba(0,0,0,0.5);
  /* typography */
  --font-sans: system-ui, -apple-system, 'Segoe UI', 'Noto Sans SC', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --size-xs: 12px;
  --size-sm: 14px;
  --size-base: 16px;
  --size-lg: 20px;
  --size-xl: 26px;
  --size-2xl: 45px;
  --weight-light: 300;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-bold: 700;
  --line-height: 1.8;
  --letter-wide: 3px;
  --letter-normal: 1px;
  /* layout */
  --max-width: 880px;
  --nav-height: 56px;
  --transition: 200ms ease;
  /* breakpoints */
  --breakpoints-mobile: 768px;
  --breakpoints-tablet: 1024px;
}