/**
 * 泰拉瑞亚一周目复盘设计系统变量 (Design Tokens)
 * 严格遵循单一 px 单位制、限定色板、字体阶梯与 4px 间距网格
 */
:root {
  /* 品牌与语义色（最多 3 种主视觉色，无霓虹色、无蓝紫渐变） */
  --color-primary: #15803d;
  --color-primary-hover: #126e34;
  --color-secondary: #b45309;
  --color-secondary-hover: #9a4608;
  --color-success: #15803d;
  --color-warning: #b45309;
  --color-error: #b91c1c;

  /* 中性色与受限背景色（背景仅允许 #ffffff, #f8f9fa, #f3f4f6） */
  --color-neutral-50: #ffffff;
  --color-neutral-100: #f8f9fa;
  --color-neutral-200: #f3f4f6;
  --color-neutral-300: #e5e7eb;
  --color-neutral-400: #d1d5db;
  --color-neutral-500: #9ca3af;
  --color-neutral-600: #6b7280;
  --color-neutral-900: #111827;

  /* 文本语义映射 */
  --text-color-primary: var(--color-neutral-900);
  --text-color-secondary: var(--color-neutral-600);
  --text-color-tertiary: var(--color-neutral-500);

  /* 字体阶梯（严格限定 12, 14, 16, 20, 24, 32px） */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 32px;

  /* 字重与行高 */
  --font-normal: 400;
  --font-semibold: 600;
  --leading-body: 1.5;
  --leading-heading: 1.25;

  /* 4px 间距网格（严格限定 4, 8, 12, 16, 24, 32, 48, 64px） */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;

  /* 圆角与边框（卡片圆角限定 6px 或 8px） */
  --radius-sm: 6px;
  --radius-md: 8px;
  --border-card: 1px solid var(--color-neutral-300);
  --border-input: 1px solid var(--color-neutral-400);
  --border-primary: 1px solid var(--color-primary);
  --border-secondary: 1px solid var(--color-secondary);
  --border-error: 1px solid var(--color-error);

  /* 阴影层级（全站最多 2 级阴影，且与卡片边框严格互斥） */
  --shadow-level-1: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-level-2: 0 4px 12px rgba(0, 0, 0, 0.1);

  /* 图标尺寸规范（行内 16px，独立 20px） */
  --icon-inline: 16px;
  --icon-standalone: 20px;

  /* 布局尺寸变量 */
  --layout-max-width: 1280px;
  --font-family-sans: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-mono: "JetBrains Mono", Consolas, "Courier New", monospace;
}
