/* ============================================
   设计系统 - 变量定义
   ============================================ */
:root {
  /* 主色 - 深蓝科技 */
  --c-primary-900: #0a1628;
  --c-primary-800: #0f2547;
  --c-primary-700: #163770;
  --c-primary-600: #1e4ba0;
  --c-primary-500: #2563eb;
  --c-primary-400: #3b82f6;
  --c-primary-300: #60a5fa;
  --c-primary-200: #93c5fd;
  --c-primary-100: #dbeafe;
  --c-primary-50:  #eff6ff;

  /* 辅助色 - 金橙强调 */
  --c-accent-700: #b45309;
  --c-accent-600: #d97706;
  --c-accent-500: #f59e0b;
  --c-accent-400: #fbbf24;
  --c-accent-300: #fcd34d;

  /* 科技青 */
  --c-cyan-500: #06b6d4;
  --c-cyan-400: #22d3ee;
  --c-cyan-300: #67e8f9;

  /* 成功 / 警告 / 错误 */
  --c-success: #10b981;
  --c-warn:    #f59e0b;
  --c-danger:  #ef4444;

  /* 灰阶 */
  --c-gray-900: #0f172a;
  --c-gray-800: #1e293b;
  --c-gray-700: #334155;
  --c-gray-600: #475569;
  --c-gray-500: #64748b;
  --c-gray-400: #94a3b8;
  --c-gray-300: #cbd5e1;
  --c-gray-200: #e2e8f0;
  --c-gray-100: #f1f5f9;
  --c-gray-50:  #f8fafc;
  --c-white:    #ffffff;
  --c-black:    #000000;

  /* 文字 */
  --c-text-primary:   var(--c-gray-900);
  --c-text-secondary: var(--c-gray-600);
  --c-text-tertiary:  var(--c-gray-500);
  --c-text-inverse:   var(--c-white);

  /* 背景 */
  --c-bg-base:    var(--c-white);
  --c-bg-soft:    var(--c-gray-50);
  --c-bg-muted:   var(--c-gray-100);
  --c-bg-dark:    var(--c-primary-900);

  /* 边框 */
  --c-border:     var(--c-gray-200);
  --c-border-strong: var(--c-gray-300);

  /* 渐变 */
  --grad-hero: radial-gradient(ellipse at top left, rgba(37, 99, 235, 0.35) 0%, transparent 50%),
               radial-gradient(ellipse at top right, rgba(6, 182, 212, 0.25) 0%, transparent 50%),
               linear-gradient(180deg, #0a1628 0%, #0f2547 50%, #163770 100%);
  --grad-primary: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
  --grad-accent:  linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  --grad-cool:    linear-gradient(135deg, #1e4ba0 0%, #06b6d4 100%);
  --grad-warm:    linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
  --grad-glass:   linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.03) 100%);

  /* 阴影 */
  --shadow-sm:  0 1px 2px 0 rgba(0,0,0,0.05);
  --shadow:     0 1px 3px 0 rgba(0,0,0,0.08), 0 1px 2px -1px rgba(0,0,0,0.04);
  --shadow-md:  0 4px 12px -2px rgba(0,0,0,0.08), 0 2px 6px -2px rgba(0,0,0,0.04);
  --shadow-lg:  0 12px 24px -6px rgba(15,37,71,0.12), 0 4px 8px -2px rgba(15,37,71,0.06);
  --shadow-xl:  0 24px 48px -12px rgba(15,37,71,0.18);
  --shadow-glow: 0 0 32px rgba(37,99,235,0.35);
  --shadow-glow-accent: 0 0 32px rgba(245,158,11,0.35);

  /* 圆角 */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-2xl: 32px;
  --r-full: 9999px;

  /* 字体 */
  --font-sans: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont,
               "Segoe UI", "Helvetica Neue", "Hiragino Sans GB", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Consolas, "Source Code Pro", "Microsoft YaHei Mono", monospace;
  --font-display: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;

  /* 字号 */
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  30px;
  --fs-3xl:  38px;
  --fs-4xl:  48px;
  --fs-5xl:  60px;
  --fs-6xl:  76px;

  /* 行距 */
  --lh-tight:  1.1;
  --lh-snug:   1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  /* 间距 */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 28px;
  --sp-8: 32px;
  --sp-9: 36px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-14: 56px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --sp-32: 128px;

  /* 容器 */
  --w-container: 1280px;
  --w-narrow: 960px;
  --w-wide: 1440px;

  /* 过渡 */
  --t-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-base: 240ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);

  /* z-index */
  --z-base: 1;
  --z-dropdown: 50;
  --z-sticky: 100;
  --z-header: 200;
  --z-modal: 1000;
  --z-toast: 2000;
}
