:root {
  color-scheme: light;

  /* 只使用设备本地字体；不依赖 Google Fonts 或任何远程字体服务。 */
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei",
    "Noto Sans CJK SC", "Source Han Sans SC", Arial, sans-serif;

  /* V7 鸢尾紫 / 玉石绿 / 珊瑚橙；V6 原色板归档于 archive/v6-theme-tokens.css。 */
  --color-primary: #6658D3;
  --color-primary-50: #F6F4FF;
  --color-primary-100: #ECE9FF;
  --color-primary-200: #DDD8FF;
  --color-primary-300: #C4BBF3;
  --color-primary-400: #8174DD;
  --color-secondary: #3FAF94;
  --color-secondary-50: #F1FBF8;
  --color-secondary-100: #E2F7F1;
  --color-secondary-200: #CBEFE5;
  --color-secondary-300: #A9E1D3;
  --color-accent: #F28C68;
  --color-accent-50: #FFF6F2;
  --color-accent-100: #FFECE4;
  --color-accent-200: #FFD9CA;
  --color-accent-300: #F8B79E;
  --color-page: #FAF9FD;
  --color-surface: #FFFFFF;
  --color-surface-muted: #F3F1F7;
  --color-line: #E6E2EE;
  --color-control-line: #817B90;
  --color-text: #292736;
  --color-text-secondary: #736E7E;
  --color-text-secondary-aa: #686372;
  --color-danger: #D65667;
  --color-on-primary: #FFFFFF;
  --color-success-bg: #E6F8F2;
  --color-success-fg: #176B5A;
  --color-success-line: #69BBA7;
  --color-warning-bg: #FFF0E9;
  --color-warning-fg: #81432C;
  --color-warning-line: #E89A7C;
  --color-danger-bg: #FFF0F2;
  --color-danger-fg: #973544;
  --color-danger-line: #E28C98;
  --color-overlay: rgba(35, 28, 55, .46);
  --color-header-glass: rgba(255, 255, 255, .9);
  --color-soft-glass: rgba(255, 255, 255, .76);
  --color-chat-other: #FFFFFF;
  --color-chat-mine: #E9E5FF;
  --color-toast: #29243A;
  --color-toast-text: #FAF9FD;

  --gradient-hero: linear-gradient(135deg, #5142A3 0%, #6658D3 56%, #2B7468 100%);
  --gradient-page: radial-gradient(circle at 10% -4%, rgba(102, 88, 211, .13), transparent 34%), radial-gradient(circle at 92% 20%, rgba(63, 175, 148, .10), transparent 30%), radial-gradient(circle at 52% 105%, rgba(242, 140, 104, .07), transparent 34%);
  --shadow-card: 0 10px 30px rgba(54, 43, 92, .09);
  --shadow-float: 0 20px 52px rgba(54, 43, 92, .16);

  /* 现役组件的兼容变量；新组件只使用上面的语义 Token。 */
  --primary: var(--color-primary);
  --primary-2: var(--color-primary-400);
  --primary-soft: var(--color-primary-100);
  --accent: var(--color-accent);
  --accent-soft: var(--color-accent-100);
  --bg: var(--color-page);
  --card: var(--color-surface);
  --text: var(--color-text);
  --sub: var(--color-text-secondary-aa);
  --line: var(--color-line);
  --line-2: var(--color-control-line);
  --good: #257A68;
  --warn: #9B4F32;
  --bad: #B53E50;
  --tint: var(--color-surface-muted);
  --tint-2: var(--color-primary-100);
  --radius: 16px;
  --shadow: var(--shadow-card);
}

:root[data-theme="dark"] {
  color-scheme: dark;

  --color-primary: #B7ACFF;
  --color-primary-50: #211D36;
  --color-primary-100: #2A2547;
  --color-primary-200: #39325E;
  --color-primary-300: #50467A;
  --color-primary-400: #9D91E9;
  --color-secondary: #63CFB3;
  --color-secondary-50: #172B27;
  --color-secondary-100: #1D3933;
  --color-secondary-200: #285047;
  --color-secondary-300: #356C60;
  --color-accent: #FFAA87;
  --color-accent-50: #33231F;
  --color-accent-100: #432C25;
  --color-accent-200: #604033;
  --color-accent-300: #805744;
  --color-page: #121018;
  --color-surface: #1C1925;
  --color-surface-muted: #272331;
  --color-line: #3C3749;
  --color-control-line: #777083;
  --color-text: #F7F4FC;
  --color-text-secondary: #C2BDCC;
  --color-text-secondary-aa: #CBC5D4;
  --color-danger: #F18A99;
  --color-on-primary: #201A38;
  --color-success-bg: #18312B;
  --color-success-fg: #A9E7D7;
  --color-success-line: #397567;
  --color-warning-bg: #3B2821;
  --color-warning-fg: #FFD0BD;
  --color-warning-line: #875A47;
  --color-danger-bg: #3B222A;
  --color-danger-fg: #FFB8C2;
  --color-danger-line: #79414C;
  --color-overlay: rgba(8, 6, 13, .74);
  --color-header-glass: rgba(18, 16, 24, .86);
  --color-soft-glass: rgba(36, 32, 46, .84);
  --color-chat-other: #24202E;
  --color-chat-mine: #332C64;
  --color-toast: #F0ECF8;
  --color-toast-text: #211D2C;

  --gradient-hero: linear-gradient(135deg, #332A65 0%, #493B89 56%, #255D54 100%);
  --gradient-page: radial-gradient(circle at 12% -5%, rgba(153, 137, 235, .16), transparent 34%), radial-gradient(circle at 88% 18%, rgba(99, 207, 179, .09), transparent 30%), repeating-linear-gradient(118deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 5px);
  --shadow-card: 0 14px 38px rgba(5, 8, 12, .28), inset 0 1px rgba(255, 255, 255, .025);
  --shadow-float: 0 24px 60px rgba(4, 7, 11, .46), inset 0 1px rgba(255, 255, 255, .035);

  --good: #92DDCA;
  --warn: #FFC1A8;
  --bad: #F39AA7;
}
