/* 由 scripts/gen-tokens.js 从 design/tokens.json 生成，请勿手改
   令牌来源：胖狐云印设计规范（W3C DTCG / Figma Variables）
   重新生成：npm run tokens */

:root{
  --color-brand-green-50: #ECFAF3;
  --color-brand-green-100: #D1F5E2;
  --color-brand-green-200: #A7EAC5;
  --color-brand-green-300: #72D99F;
  --color-brand-green-400: #3FC279;
  --color-brand-green-500: #27A261;
  --color-brand-green-600: #1E7E4B;
  --color-brand-green-700: #19643D;
  --color-brand-green-800: #155032;
  --color-brand-green-900: #12422A;
  --color-neutral-white: #FFFFFF;
  --color-neutral-gray-50: #F8FAFC;
  --color-neutral-gray-100: #F1F5F9;
  --color-neutral-gray-200: #E2E8F0;
  --color-neutral-gray-300: #CBD5E1;
  --color-neutral-gray-400: #94A3B8;
  --color-neutral-gray-500: #64748B;
  --color-neutral-gray-600: #4A5568;
  --color-neutral-gray-700: #334155;
  --color-neutral-gray-800: #1F2937;
  --color-neutral-gray-900: #0F172A;
  --color-neutral-gray-950: #020617;
  --color-neutral-gray-black: #000000;
  --color-state-destructive: #EF4444;
  --color-state-warning: #F59E0B;
  --color-state-info: #3B82F6;
  --color-state-success: #10B981;
  --spacing-0: 0px;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-8: 32px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-16: 64px;
  --spacing-20: 80px;
  --spacing-24: 96px;
  --border-radius-none: 0px;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-2xl: 20px;
  --border-radius-full: 9999px;
  --box-shadow-card: 0 1px 3px 0 rgba(16, 24, 40, 0.06), 0 1px 2px 0 rgba(16, 24, 40, 0.04);
  --box-shadow-hover: 0 8px 24px 0 rgba(16, 24, 40, 0.10);
  --font-families-heading: PingFang SC, HarmonyOS Sans, Microsoft YaHei, sans-serif;
  --font-families-body: HarmonyOS Sans, system-ui, -apple-system, sans-serif;
  --font-families-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sizes-xs: 12px;
  --font-sizes-sm: 14px;
  --font-sizes-base: 16px;
  --font-sizes-lg: 18px;
  --font-sizes-xl: 20px;
  --font-sizes-2xl: 24px;
  --font-sizes-3xl: 30px;
  --font-sizes-4xl: 36px;
  --font-weights-regular: 400;
  --font-weights-medium: 500;
  --font-weights-semibold: 600;
  --font-weights-bold: 700;
  --line-heights-tight: 1.25;
  --line-heights-snug: 1.375;
  --line-heights-normal: 1.5;
  --line-heights-relaxed: 1.625;

  /* 语义别名（light） */
  --primary: #27A261;
  --primary-hover: #1E7E4B;
  --primary-foreground: #FFFFFF;
  --accent: #ECFAF3;
  --accent-foreground: #1E7E4B;
  --background: #FFFFFF;
  --background-secondary: #F8FAFC;
  --foreground: #1F2937;
  --foreground-muted: #4A5568;
  --border: #E2E8F0;
  --card: #FFFFFF;
  --card-foreground: #1F2937;

  /* 组件令牌 */
  --button-border-radius: 8px;
  --button-padding-x: 20px;
  --button-padding-y: 8px;
  --button-height: 40px;
  --badge-border-radius: 9999px;
  --badge-padding-x: 16px;
  --badge-padding-y: 4px;
  --card-border-radius: 12px;
  --card-border-width: 1px;
  --card-shadow: 0 1px 3px 0 rgba(16, 24, 40, 0.06), 0 1px 2px 0 rgba(16, 24, 40, 0.04);
  --card-shadow-hover: 0 8px 24px 0 rgba(16, 24, 40, 0.10);
  --container-max-width: 1280px;

  /* 业务别名：沿用旧变量名的页面无需改动（都指向规范令牌，不新增色值） */
  --canvas: var(--background-secondary);
  --surface: var(--background-secondary);
  --surface-2: var(--color-neutral-gray-100);
  --primary-dark: var(--primary-hover);
  --primary-soft: var(--accent);
  --primary-soft-fg: var(--accent-foreground);
  --muted-foreground: var(--foreground-muted);
  --subtle: var(--color-neutral-gray-500);
  --danger: var(--color-state-destructive);
  --warning: var(--color-state-warning);
  --info: var(--color-state-info);
  --success: var(--color-state-success);
  --radius: var(--border-radius-md);
  --radius-lg: var(--border-radius-lg);
  --radius-xl: var(--border-radius-xl);
  --shadow-card: var(--card-shadow);
  --shadow-hover: var(--card-shadow-hover);
  --font-sans: HarmonyOS Sans, system-ui, -apple-system, sans-serif;
}

[data-theme="dark"]{
  --primary: #3FC279;
  --primary-hover: #27A261;
  --primary-foreground: #020617;
  --accent: #12422A;
  --accent-foreground: #A7EAC5;
  --background: #020617;
  --background-secondary: #0F172A;
  --foreground: #F8FAFC;
  --foreground-muted: #94A3B8;
  --border: #1F2937;
  --card: #0F172A;
  --card-foreground: #F8FAFC;

  /* 深色下这几项不能继续指向浅色灰阶 */
  --canvas: var(--background-secondary);
  --surface: var(--background-secondary);
  --surface-2: var(--color-neutral-gray-900);
  --subtle: var(--color-neutral-gray-400);
}
