/**
 * 百鸣软件 — 全站设计变量 v4
 * 企业级中性画布 · 克制品牌色
 */
:root {
  /* —— 品牌色（深青绿，稳重）—— */
  --bm-brand: #0f766e;
  --bm-brand-hover: #0d6b64;
  --bm-brand-active: #0a5852;
  --bm-brand-light: #14a38a;
  --bm-brand-subtle: rgba(15, 118, 110, 0.08);
  --bm-brand-muted: rgba(15, 118, 110, 0.18);
  --bm-brand-glow: rgba(15, 118, 110, 0.15);
  --bm-focus-ring: 0 0 0 3px rgba(15, 118, 110, 0.2);
  --bm-brand-rgb: 15, 118, 110;

  /* —— 辅助色（海军灰蓝，非亮蓝）—— */
  --bm-accent: #1e3a5f;
  --bm-accent-subtle: rgba(30, 58, 95, 0.08);
  --bm-accent-rgb: 30, 58, 95;
  --bm-sky: #64748b;
  --bm-sky-subtle: rgba(100, 116, 139, 0.1);
  --bm-sky-rgb: 100, 116, 139;

  /* —— 文字（石板灰，非墨绿）—— */
  --bm-ink: #0f172a;
  --bm-ink-2: #1e293b;
  --bm-ink-muted: #475569;

  /* —— 画布 —— */
  --bm-surface: #ffffff;
  --bm-surface-card: #ffffff;
  --bm-surface-muted: #f4f6f9;
  --bm-surface-section: #eceff4;
  --bm-surface-alt: #dfe4eb;
  --bm-surface-elevated: #ffffff;

  --bm-text: #0f172a;
  --bm-text-secondary: #334155;
  --bm-text-muted: #64748b;
  --bm-section-kicker: #64748b;

  --bm-inverse: #ffffff;

  --bm-bg-dark: #f1f5f9;
  --bm-bg-dark-deep: #f8fafc;
  --bm-bg-footer: #f8fafc;
  --bm-surface-dark: #ffffff;

  --bm-border-light: rgba(15, 23, 42, 0.08);
  --bm-border-light-strong: rgba(15, 23, 42, 0.14);
  --bm-border-brand: rgba(13, 159, 110, 0.35);
  --bm-border-on-dark: rgba(255, 255, 255, 0.12);
  --bm-border-on-dark-soft: rgba(255, 255, 255, 0.18);

  --bm-muted-on-dark: #94a3b8;
  --bm-line-on-dark: rgba(255, 255, 255, 0.12);

  /* —— 顶栏 —— */
  --bm-nav-bg: rgba(255, 255, 255, 0.82);
  --bm-nav-bg-solid: rgba(255, 255, 255, 0.96);
  --bm-nav-border: rgba(15, 23, 42, 0.06);
  --bm-nav-text: #0f172a;
  --bm-nav-text-muted: #475569;
  --bm-glass-blur: blur(12px);

  --bm-fg-on-dark: #ffffff;

  /* —— Hero —— */
  --bm-hero-sky: rgba(59, 130, 246, 0.08);
  --bm-hero-green: rgba(13, 159, 110, 0.06);
  --bm-hero-accent-glow: rgba(59, 130, 246, 0.1);
  --bm-hero-accent-line: rgba(15, 23, 42, 0.06);
  --bm-hero-gradient: linear-gradient(
    180deg,
    #ffffff 0%,
    #f8fafc 48%,
    #f1f5f9 100%
  );
  --bm-image-gradient-end: #e2e8f0;

  /* —— 阴影 —— */
  --bm-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --bm-shadow-md: 0 4px 16px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);
  --bm-shadow-lg: 0 16px 40px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.04);
  --bm-shadow-dark: 0 4px 16px rgba(15, 23, 42, 0.06);
  --bm-shadow-brand: 0 4px 14px rgba(13, 159, 110, 0.28);
  --bm-shadow-hover: 0 12px 28px rgba(15, 23, 42, 0.1), 0 2px 8px rgba(15, 23, 42, 0.05);
  --bm-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(15, 23, 42, 0.06);
  --bm-shadow-panel: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 0 0 1px rgba(15, 23, 42, 0.06), 0 10px 36px rgba(15, 23, 42, 0.07), 0 2px 8px rgba(15, 23, 42, 0.04);
  --bm-shadow-hero-search: 0 20px 50px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;

  /* —— 圆角 —— */
  --bm-radius-sm: 6px;
  --bm-radius-md: 10px;
  --bm-radius-lg: 12px;
  --bm-radius-xl: 14px;
  --bm-radius-pill: 999px;

  /* —— 间距 —— */
  --bm-space-1: 0.25rem;
  --bm-space-2: 0.5rem;
  --bm-space-3: 0.75rem;
  --bm-space-4: 1rem;
  --bm-space-5: 1.25rem;
  --bm-space-6: 1.5rem;
  --bm-space-8: 2rem;
  --bm-space-10: 2.5rem;
  --bm-space-12: 3rem;
  --bm-space-16: 4rem;

  /* —— 字体 —— */
  --bm-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --bm-font-mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;

  --bm-text-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --bm-text-sm: clamp(0.8125rem, 0.78rem + 0.2vw, 0.875rem);
  --bm-text-base: clamp(0.9375rem, 0.88rem + 0.25vw, 1rem);
  --bm-text-md: clamp(1rem, 0.92rem + 0.35vw, 1.0625rem);
  --bm-text-lg: clamp(1.0625rem, 0.95rem + 0.45vw, 1.125rem);
  --bm-text-xl: clamp(1.125rem, 1rem + 0.65vw, 1.25rem);
  --bm-text-2xl: clamp(1.25rem, 1.05rem + 0.95vw, 1.5rem);
  --bm-text-3xl: clamp(1.5rem, 1.2rem + 1.2vw, 1.875rem);
  --bm-text-4xl: clamp(1.875rem, 1.4rem + 2vw, 2.75rem);

  --bm-leading-tight: 1.15;
  --bm-leading-snug: 1.35;
  --bm-leading-normal: 1.6;
  --bm-leading-relaxed: 1.75;

  /* —— 兼容别名 —— */
  --bm-bg: var(--bm-surface-muted);
  --bm-surface-nav: var(--bm-nav-bg-solid);
  --bm-border: var(--bm-border-light);
  --bm-muted: var(--bm-text-muted);

  --primary-color: var(--bm-brand);
  --secondary-color: var(--bm-brand-hover);
  --accent-color: var(--bm-brand-light);
  --text-dark: var(--bm-text);
  --text-light: var(--bm-text-muted);
  --bg-light: var(--bm-surface-muted);
  --border-color: var(--bm-border-light);

  --bs-body-font-family: var(--bm-font-sans);
  --bs-body-font-size: var(--bm-text-base);
  --bs-body-line-height: var(--bm-leading-normal);
  --bs-body-color: var(--bm-text);
  --bs-body-bg: var(--bm-surface-muted);
  --bs-primary: var(--bm-brand);
  --bs-primary-rgb: var(--bm-brand-rgb);
}

html {
  color-scheme: light;
}

body {
  background-color: transparent;
}

@media (prefers-contrast: more) {
  :root {
    --bm-text-muted: #475569;
    --bm-text-secondary: #1e293b;
    --bm-section-kicker: #475569;
    --bm-border-light-strong: rgba(15, 23, 42, 0.22);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
