:root {
  /* ===== 色彩系统 - 爆更引擎品牌色（橙紫渐变） ===== */
  /* 品牌橙色 - 与首页landing一致 */
  --brand-orange-50: #fff7ed;
  --brand-orange-100: #ffedd5;
  --brand-orange-200: #fed7aa;
  --brand-orange-300: #fdba74;
  --brand-orange-400: #fb923c;
  --brand-orange-500: #f97316;
  --brand-orange-600: #ea580c;
  --brand-orange-700: #c2410c;
  --brand-orange-800: #9a3412;
  --brand-orange-900: #7c2d12;

  /* 品牌紫色 - 主色 */
  --color-primary-50: #f5f3ff;
  --color-primary-100: #ede9fe;
  --color-primary-200: #ddd6fe;
  --color-primary-300: #c4b5fd;
  --color-primary-400: #a78bfa;
  --color-primary-500: #8b5cf6;
  --color-primary-600: #7c3aed;
  --color-primary-700: #6d28d9;
  --color-primary-800: #5b21b6;
  --color-primary-900: #4c1d95;
  --color-primary-950: #2e1065;

  /* 品牌深紫 */
  --brand-purple-deep: #4a1a6b;
  --brand-purple-mid: #6b2d8f;

  /* 辅助色 - 青色点缀 */
  --color-accent-50: #ecfeff;
  --color-accent-100: #cffafe;
  --color-accent-200: #a5f3fc;
  --color-accent-300: #67e8f9;
  --color-accent-400: #22d3ee;
  --color-accent-500: #06b6d4;
  --color-accent-600: #0891b2;

  /* 中性色 - 纯净灰阶 */
  --color-gray-50: #fafafa;
  --color-gray-100: #f4f4f5;
  --color-gray-150: #ededee;
  --color-gray-200: #e4e4e7;
  --color-gray-250: #d4d4d8;
  --color-gray-300: #c4c4c8;
  --color-gray-400: #9ca3af;
  --color-gray-500: #71717a;
  --color-gray-600: #52525b;
  --color-gray-700: #3f3f46;
  --color-gray-800: #27272a;
  --color-gray-900: #18181b;
  --color-gray-950: #09090b;

  /* 功能色 */
  --color-success: #10b981;
  --color-success-light: #ecfdf5;
  --color-warning: #f59e0b;
  --color-warning-light: #fffbeb;
  --color-error: #ef4444;
  --color-error-light: #fef2f2;
  --color-info: #3b82f6;
  --color-info-light: #eff6ff;

  /* 背景色 - 白底为主 */
  --bg-primary: #ffffff;
  --bg-secondary: #fafafa;
  --bg-tertiary: #f4f4f5;
  --bg-elevated: #ffffff;
  --bg-card: #ffffff;
  --bg-hover: #f5f3ff;
  --bg-gradient: linear-gradient(135deg, #fff7ed 0%, #f5f3ff 50%, #faf5ff 100%);

  /* 文字色 */
  --text-primary: #18181b;
  --text-secondary: #3f3f46;
  --text-tertiary: #71717a;
  --text-muted: #9ca3af;
  --text-inverse: #ffffff;

  /* 边框色 */
  --border-primary: #e4e4e7;
  --border-secondary: #f4f4f5;
  --border-focus: #7c3aed;
  --border-subtle: rgba(24, 24, 27, 0.04);
  --border-divider: rgba(24, 24, 27, 0.06);

  /* ===== 品牌渐变 - 与首页landing统一（橙→紫→深紫） ===== */
  --gradient-primary: linear-gradient(135deg, #f97316 0%, #7c3aed 50%, #4a1a6b 100%);
  --gradient-accent: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
  --gradient-mix: linear-gradient(135deg, #f97316 0%, #7c3aed 100%);
  --gradient-hero: linear-gradient(160deg, #fff7ed 0%, #fef3c7 20%, #ffffff 50%, #f5f3ff 80%, #faf5ff 100%);
  --gradient-text: linear-gradient(135deg, #ea580c 0%, #7c3aed 50%, #4a1a6b 100%);
  --gradient-soft: linear-gradient(135deg, #fff7ed 0%, #f5f3ff 50%, #faf5ff 100%);
  --brand-shadow: 0 20px 60px -15px rgba(124, 58, 237, 0.25);

  /* ===== 字体系统 ===== */
  --font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Display", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  --font-mono: "SF Mono", Monaco, Inconsolata, "Roboto Mono", Consolas, monospace;

  /* 字号体系 */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --text-5xl: 48px;
  --text-6xl: 60px;
  --text-7xl: 72px;

  /* 字重 */
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;

  /* 行高 */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 1.8;

  /* 字间距 */
  --tracking-tight: -0.02em;
  --tracking-tighter: -0.03em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;

  /* ===== 间距系统 - 8px基准 ===== */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --space-40: 160px;

  /* ===== 圆角系统 ===== */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===== 阴影系统 ===== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.03);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.12);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  --shadow-hover: 0 12px 24px -4px rgba(124, 58, 237, 0.15), 0 4px 8px -2px rgba(249, 115, 22, 0.08);
  --shadow-glow: 0 0 40px rgba(124, 58, 237, 0.15);
  --shadow-glow-orange: 0 0 40px rgba(249, 115, 22, 0.12);

  /* ===== 过渡动画 ===== */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-smooth: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ===== 布局 ===== */
  --container-max: 1280px;
  --container-wide: 1400px;
  --container-narrow: 860px;
  --sidebar-width: 260px;
  --topbar-height: 64px;
}

/* ===== 全局动画 ===== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(124, 58, 237, 0.15); }
  50% { box-shadow: 0 0 40px rgba(124, 58, 237, 0.3); }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes typing {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-6px); opacity: 1; }
}

.animate-fade-in-up {
  animation: fadeInUp 0.6s ease-out forwards;
}

.animate-fade-in {
  animation: fadeIn 0.6s ease-out forwards;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}
