/* Buildcalchub 设计令牌：颜色 / 字号 / 间距 / 阴影 / 过渡
   全站基础变量，所有组件样式从这里取值，确保视觉一致性。 */

:root {
  /* ═══ 主色：建筑工程深海军蓝 + 工程橙 ═══ */
  --color-primary: #0F4C81;
  --color-primary-dark: #093560;
  --color-primary-light: #2A6BAC;
  --color-primary-soft: #E8F1FA;

  /* 强调色 / CTA：高对比工程橙 */
  --color-accent: #F4A732;
  --color-accent-dark: #D88E1A;
  --color-accent-soft: #FFF5E1;

  /* 状态色 */
  --color-success: #2D8659;
  --color-warning: #C77A0F;
  --color-danger: #B53D3D;
  --color-info: #2B7CB8;

  /* 中性色（高 WCAG 对比度） */
  --color-text: #0E1A2B;
  --color-text-secondary: #475569;
  --color-text-muted: #6B7B91;
  --color-bg: #ffffff;
  --color-bg-soft: #F4F7FB;
  --color-bg-panel: #FAFCFE;
  --color-border: #D9DEE5;
  --color-border-strong: #B8C2CF;

  /* 集群强调色（每集群独立色） */
  --cluster-asphalt: #2A2A2E;
  --cluster-concrete: #6B7480;
  --cluster-aggregate: #8B6F47;
  --cluster-landscape: #4A7C59;
  --cluster-measurement: #5B5FA8;
  --cluster-color: var(--color-primary); /* 默认色，页面内联覆盖 */

  /* ═══ 字体 ═══ */
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Cascadia Mono', Menlo, Consolas, monospace;
  --font-display: 'Inter', system-ui, sans-serif;

  /* 字号阶梯（移动端基准 17px） */
  --fs-xs: 13px;
  --fs-sm: 15px;
  --fs-base: 17px;
  --fs-md: 19px;
  --fs-lg: 22px;
  --fs-xl: 26px;
  --fs-2xl: 32px;
  --fs-3xl: 40px;
  --fs-4xl: 48px;
  --fs-hero: 56px;

  /* 行高 */
  --lh-tight: 1.2;
  --lh-snug: 1.4;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  /* 字重 */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ═══ 间距 8 倍数系统 ═══ */
  --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;
  --space-20: 80px;
  --space-24: 96px;

  /* ═══ 圆角 ═══ */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;

  /* ═══ 阴影 ═══ */
  --shadow-xs: 0 1px 2px rgba(15, 76, 129, 0.06);
  --shadow-sm: 0 2px 4px rgba(15, 76, 129, 0.08);
  --shadow-md: 0 4px 12px rgba(15, 76, 129, 0.12);
  --shadow-lg: 0 12px 28px rgba(15, 76, 129, 0.16);
  --shadow-focus: 0 0 0 3px rgba(244, 167, 50, 0.4);

  /* ═══ 容器 ═══ */
  --container-narrow: 760px;
  --container-base: 1100px;
  --container-wide: 1280px;

  /* ═══ 过渡 ═══ */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 320ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ═══ Z-index ═══ */
  --z-header: 50;
  --z-dropdown: 60;
  --z-overlay: 80;
  --z-progress: 999;
}

/* 平板 / 桌面字号微调 */
@media (min-width: 768px) {
  :root { --fs-base: 17px; }
}
@media (min-width: 1024px) {
  :root { --fs-base: 18px; --lh-relaxed: 1.7; }
}

/* 暗色模式（保留入口，未启用） */
@media (prefers-color-scheme: dark) {
  /* 当前浅色模式 first，不启用暗色覆盖以保证 AdSense 可读性 */
}
