:root {
  /* 所有正文与关键文字对比度必须 >= 4.5:1；重要信息与小字优先 >= 7:1 */
  --font-heading-cn: "Noto Serif SC", "Source Han Serif SC", "LXGW WenKai Screen", Georgia, "Times New Roman", serif;
  --font-body-cn: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
  --font-heading-en: "Playfair Display", "Cormorant Garamond", Cinzel, Georgia, "Times New Roman", serif;
  --font-body-en: Inter, system-ui, sans-serif;

  --color-bg-primary: #F6F1E8;
  --color-bg-secondary: #E8E1D6;
  --color-surface: #FFFFFF;
  --color-surface-soft: rgba(255, 255, 255, 0.88);
  --surface-hero: linear-gradient(180deg, rgba(12, 32, 23, 0.92), rgba(12, 32, 23, 0.62));
  --surface-panel: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(251, 248, 242, 0.92));
  --surface-muted: rgba(255, 255, 255, 0.72);
  --color-text-primary: #1F1F1C;
  --color-text-secondary: #5F5B54;
  --color-brand: #173C34;
  --color-brand-soft: #2D6155;
  --color-accent: #9C835A;
  --interactive-primary: linear-gradient(135deg, #173C34 0%, #295245 100%);
  --interactive-secondary: rgba(23, 60, 52, 0.08);
  --color-border: rgba(23, 60, 52, 0.14);
  --color-border-strong: rgba(23, 60, 52, 0.22);
  --color-success: #2F6C52;
  --color-warning: #A06A2C;
  --color-error: #A3473A;

  --shadow-none: none;
  --shadow-1: 0 3px 12px rgba(15, 57, 37, 0.035);
  --shadow-2: 0 8px 22px rgba(15, 57, 37, 0.055);
  --shadow-3: 0 18px 42px rgba(15, 57, 37, 0.08);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-80: 80px;
  --space-96: 96px;
  --space-120: 120px;
  --space-160: 160px;

  --ease-luxury: cubic-bezier(.22, 1, .36, 1);

  /* Legacy aliases for incremental migration */
  --green: var(--color-brand);
  --green-deep: #0F3925;
  --green-soft: var(--color-brand-soft);
  --cream: var(--color-bg-primary);
  --white: var(--color-surface);
  --sand: #D9C8AA;
  --gold: #B99658;
  --gold-soft: #D8C298;
  --text: var(--color-text-primary);
  --text-soft: var(--color-text-secondary);
  --line: var(--color-border);
  --line-strong: var(--color-border-strong);
  --shadow: var(--shadow-2);
  --lift-soft: var(--shadow-2);
}

html {
  color-scheme: light;
}

body {
  font-family: var(--font-body-cn);
  color: var(--color-text-primary);
  background: linear-gradient(180deg, #f8f4ec 0%, var(--color-bg-primary) 100%);
}
