/* ==========================================================================
   设计令牌 — 配色 / 字体 / 间距 / 圆角 / 阴影 / 容器
   所有尺寸集中管理，便于统一维护和响应式调整
   ========================================================================== */

:root {
  /* ---- 品牌色（专业科技蓝 + 活力橙 CTA） ---- */
  --color-primary: #0a4d8c;
  --color-primary-dark: #063a6b;
  --color-primary-light: #2e7bc4;
  --color-accent: #ff7a00;
  --color-accent-dark: #e06a00;

  /* ---- 中性色 ---- */
  --color-text: #1a1a2e;
  --color-text-2: #3d4a5c;
  --color-text-light: #6b7280;
  --color-bg: #ffffff;
  --color-bg-alt: #f5f7fa;
  --color-bg-dark: #0f1e33;
  --color-border: #e5e7eb;
  --color-border-light: #f0f2f5;

  /* ---- 状态色 ---- */
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;

  /* ---- 字体族 ---- */
  --font-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif;
  --font-heading: 'Inter', 'Segoe UI', Roboto, sans-serif;

  /* ---- 字号（桌面端基准，移动端通过媒体查询缩放根字号） ---- */
  --fs-xs: 0.75rem;    /* 12px */
  --fs-sm: 0.875rem;   /* 14px */
  --fs-base: 1rem;     /* 16px */
  --fs-md: 1.125rem;   /* 18px */
  --fs-lg: 1.25rem;    /* 20px */
  --fs-xl: 1.5rem;     /* 24px */
  --fs-2xl: 2rem;      /* 32px */
  --fs-3xl: 2.5rem;    /* 40px */
  --fs-4xl: 3.25rem;   /* 52px */

  /* ---- 字重 ---- */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ---- 行高 ---- */
  --lh-tight: 1.2;
  --lh-normal: 1.6;
  --lh-relaxed: 1.8;

  /* ---- 间距 ---- */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.5rem;    /* 24px */
  --space-6: 2rem;      /* 32px */
  --space-7: 3rem;      /* 48px */
  --space-8: 4rem;      /* 64px */
  --space-9: 6rem;      /* 96px */
  --space-10: 8rem;     /* 128px */

  /* ---- 圆角 ---- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  /* ---- 阴影 ---- */
  --shadow-xs: 0 1px 2px rgba(15, 30, 51, 0.06);
  --shadow-sm: 0 2px 8px rgba(15, 30, 51, 0.08);
  --shadow-md: 0 8px 24px rgba(15, 30, 51, 0.10);
  --shadow-lg: 0 16px 40px rgba(15, 30, 51, 0.14);

  /* ---- 布局 ---- */
  --container-width: 1200px;
  --container-gutter: 24px;
  --header-height: 90px;
  --section-padding: var(--space-8);

  /* ---- 过渡 ---- */
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* ---- 层级 ---- */
  --z-dropdown: 100;
  --z-sticky: 500;
  --z-header: 1000;
  --z-overlay: 2000;
  --z-modal: 3000;
}

/* 移动端根字号缩放 —— 通过改变 1rem 的基准，统一缩小字体和间距 */
@media (max-width: 768px) {
  :root {
    --fs-4xl: 2.25rem;   /* 36px */
    --fs-3xl: 1.875rem;  /* 30px */
    --fs-2xl: 1.625rem;  /* 26px */
    --fs-xl: 1.375rem;   /* 22px */
    --space-8: 2.5rem;   /* 40px */
    --space-9: 3.5rem;   /* 56px */
    --space-10: 4.5rem;  /* 72px */
    --section-padding: var(--space-7);
  }
}

@media (max-width: 480px) {
  :root {
    --fs-4xl: 1.875rem;  /* 30px */
    --fs-3xl: 1.625rem;  /* 26px */
    --fs-2xl: 1.375rem;  /* 22px */
    --fs-xl: 1.25rem;    /* 20px */
    --space-7: 2rem;     /* 32px */
    --space-8: 2.25rem;  /* 36px */
    --space-10: 3.5rem;  /* 56px */
  }
}
