/* ============================================
   Design Tokens — 设计令牌系统
   所有可变设计属性集中管理，确保全局一致性
   ============================================ */

:root {
  /* === 品牌色系 (Brand Blue) === */
  --brand-50:  #eff6ff;
  --brand-100: #dbeafe;
  --brand-200: #bfdbfe;
  --brand-300: #93c5fd;
  --brand-400: #60a5fa;
  --brand-500: #2563eb;
  --brand-600: #1d4ed8;
  --brand-700: #1e40af;

  /* === 语义色 === */
  --success-50:  #f0fdf4;
  --success-100: #dcfce7;
  --success-500: #10b981;
  --success-600: #059669;

  --warning-50:  #fffbeb;
  --warning-100: #fef3c7;
  --warning-400: #fbbf24;
  --warning-500: #f59e0b;
  --warning-600: #d97706;

  --danger-50:  #fef2f2;
  --danger-100: #fee2e2;
  --danger-500: #ef4444;
  --danger-600: #dc2626;

  --info-50:   #eff6ff;
  --info-100:  #dbeafe;
  --info-500:  #3b82f6;
  --info-600:  #2563eb;

  /* === 中性色 (Gray Scale) === */
  --gray-50:  #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;

  /* === 文本色 === */
  --text-primary:   var(--gray-900);
  --text-secondary: var(--gray-600);
  --text-muted:     var(--gray-400);
  --text-inverse:   #ffffff;

  /* === 背景色 === */
  --bg-page:        #f5f7fa;
  --bg-surface:     #ffffff;
  --bg-subtle:      var(--gray-50);
  --bg-sidebar:     #1e293b;

  /* === 边框色 === */
  --border-light:   var(--gray-200);
  --border-default: var(--gray-300);
  --border-focus:   var(--brand-500);

  /* === 圆角 === */
  --radius-sm:  6px;
  --radius-md:  10px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-full: 9999px;

  /* === 间距 (4px 基准) === */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* === 阴影 === */
  --shadow-sm:  0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.06);
  --shadow-lg:  0 8px 24px rgba(0,0,0,0.08);
  --shadow-xl:  0 16px 48px rgba(0,0,0,0.1);
  --shadow-brand: 0 4px 14px rgba(37,99,235,0.25);
  --shadow-success: 0 4px 14px rgba(16,185,129,0.25);

  /* === 排版 === */
  --font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', -apple-system, sans-serif;
  --font-mono: 'Consolas', 'SF Mono', 'Cascadia Code', monospace;

  --text-xs:   12px;
  --text-sm:   13px;
  --text-base: 15px;
  --text-lg:   17px;
  --text-xl:   20px;
  --text-2xl:  24px;
  --text-3xl:  32px;

  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  --leading-tight:  1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* === 过渡 === */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;

  /* === 层级 === */
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    300;
  --z-toast:    400;
}
