/* ===== TMSBook 设计系统 tokens v2「温度光谱 2.0」（冷媒蓝 → 热流红）=====
   全站唯一色语义来源；组件/页面只引用变量，禁止硬编码色值。
   v2 增量（2026-07-15，规划=docs/全站UI设计语言v2规划.md）：
   间距阶 --s* / 流式字阶 clamp + --fs-display / 动效 --ease·--dur-* /
   图表专用 --chart-*（暗色压暗变体，dataviz 校验器通过）/ 板块温标 --sect-* /
   手动明暗（[data-theme] 覆盖系统偏好，暗色块双选择器镜像——改一处必同步另一处）。 */
:root {
  color-scheme: light;   /* 声明后原生控件/滚动条随明暗自适应（暗色块翻为 dark） */
  /* 温度光谱主色 */
  --c-cool: #0a6ebd;   /* 冷媒蓝（低压/冷侧/主品牌蓝） */
  --c-cyan: #22b8cf;   /* 冷水青 */
  --c-warm: #f59e0b;   /* 热水橙 */
  --c-hot:  #e6394a;   /* 热流红（高压/热侧/强调） */
  --spectrum: linear-gradient(90deg, var(--c-cool), var(--c-cyan), var(--c-warm), var(--c-hot));

  /* 光谱软色调（染色底/胶囊/热度条统一取此，勿再各页手写 rgba） */
  --cool-soft: rgba(10,110,189,.10);
  --cyan-soft: rgba(34,184,207,.12);
  --warm-soft: rgba(245,158,11,.14);
  --hot-soft:  rgba(230,57,74,.11);
  --ok-soft:   rgba(15,157,88,.12);
  --member: #c77700;                 /* 会员琥珀（pill-member 文字） */
  --member-soft: rgba(199,119,0,.12);
  --warn-ink: #b45309;               /* 警示/待办文字（pill-warn；浅底可读深琥珀，与会员琥珀语义分离） */

  /* 回路色语义（架构模式拆解 §4②：全站唯一，原理图由平台按 circuit_role 强制着色） */
  --circuit-refrig-hi: var(--c-hot);     /* 高压冷媒·红 */
  --circuit-refrig-lo: var(--c-cool);    /* 低压冷媒·蓝 */
  --circuit-coolant-hot: var(--c-warm);  /* 热水·橙 */
  --circuit-coolant-cold: #1f9d61;       /* 冷水·绿 */
  --circuit-air: var(--c-cyan);          /* 风路·青 */
  --circuit-other: #8a97a8;              /* 其他·灰 */

  /* ★v2 图表专用系列色（ECharts/内联 SVG 图表统一取此；浅色底=光谱原值。
     校验结论：浅色底 CVD ΔE 35.3 PASS；青/橙对比度<3:1 → 图表必配直接标签或表格视图 */
  --chart-cool: #0a6ebd;
  --chart-cyan: #22b8cf;
  --chart-warm: #f59e0b;
  --chart-hot:  #e6394a;

  /* ★v2 板块温标（九板块在光谱上的身份色；页头带/subnav/卡片顶边消费 var(--sect,...)） */
  --sect-insight:   #0a6ebd;   /* 数据 · COOL 客观 */
  --sect-catalog:   #1587c9;   /* 目录 */
  --sect-arch:      #1d9fd2;   /* 方案 */
  --sect-kb:        #22b8cf;   /* 百科 · 中性知识 */
  --sect-news:      #1ba8d8;   /* 资讯 */
  --sect-org:       #ef8a3c;   /* 名企/企业 */
  --sect-tools:     #63b795;   /* 工具 · 实用 */
  --sect-academy:   #b3a94e;   /* 课程 */
  --sect-events:    #f59e0b;   /* 展会 · 人气 */
  --sect-community: #ee6b2e;   /* 社区 · 人 */
  --sect-member:    #e6394a;   /* 会员 · 交易 */

  /* 中性色 */
  --ink: #0f2137;      /* 正文 */
  --ink-2: #3d566e;    /* 次级文字 */
  --muted: #6b7f92;    /* 弱化文字 */
  --line: #e4ebf1;     /* 边线 */
  --bg: #f6f9fc;       /* 页面底 */
  --card: #ffffff;     /* 卡片底 */
  --soft: #eef4f9;     /* 浅底块 */
  --header-bg: rgba(255,255,255,.88);  /* 吸顶头部半透明底（暗色翻转） */

  /* 深色底（数据看板/图表区/页头带/页脚）——冷墨深底，光谱在其上更亮 */
  --dark-1: #07182b;
  --dark-2: #0c3358;
  --ink-deep: #061320;   /* 页脚近黑冷墨 */
  --on-dark: #f4f9fe;    /* 深底正文（2026-07-15 提亮：用户反馈深底文字看不清） */
  --on-dark-2: #c6d8e9;  /* 深底次文（同上提亮，对比度 ≥9:1 on #07182b） */
  --on-dark-3: #8fa9c2;  /* 深底弱文（同上微提） */
  --on-dark-accent: #7fd6ea;  /* ★v2 深底青强调（永远用在深底上，明暗恒定，无需暗色覆写） */
  --hair-dark: rgba(255,255,255,.10);  /* 深底发丝线 */

  /* 语义状态 */
  --ok: #0f9d58;
  --warn: var(--c-warm);
  --danger: var(--c-hot);

  /* 形状与阴影 */
  --radius: 14px;
  --radius-sm: 9px;
  --shadow: 0 8px 30px rgba(11, 58, 99, .08);
  --shadow-lg: 0 20px 50px rgba(11, 58, 99, .14);

  /* 版心 */
  --maxw: 1160px;

  /* 等宽字（编号/数值/技术标签统一取此） */
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;  /* 自托管 JBM 栈首=技术声部全平台统一 */

  /* ★v2 间距阶（8pt 网格；新代码用令牌，勿手写 px） */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px;
  --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;

  /* 字阶（v2 h1/h2 转流式 clamp：桌面更大气、随视口收缩；≤680/≤380 的 px 覆写仍优先生效） */
  --fs-display: clamp(38px, 5.5vw, 60px);   /* ★v2 新增：首页/封面 Hero 专用 */
  --fs-h1: clamp(28px, 3.6vw, 40px);
  --fs-h2: clamp(22px, 2.6vw, 28px);
  --fs-h3: 19px; --fs-body: 15px; --fs-sm: 13px;

  /* ★v2 动效令牌（进场/hover 统一节奏；reduced-motion 由组件各自尊重） */
  --ease: cubic-bezier(.16, 1, .3, 1);
  --dur-1: .22s; --dur-2: .55s; --dur-3: .9s;
}

/* ===== 暗色模式：翻转中性 + 提亮光谱（全站继承，各 app 无需自理）=====
   v2 双通道：① 跟随系统 prefers-color-scheme（用户未手动指定时）；
   ② 手动 [data-theme=dark]（base.html 切换钮写入，localStorage 记忆，覆盖系统偏好）。
   ⚠ 两个块的变量必须逐行一致——改任何一处务必同步另一处（无法用 CSS 复用块）。 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;   /* 原生 input/select/滚动条转深色主题 */
    /* 光谱主色提亮——暗底上需更亮才够对比 */
    --c-cool: #3f92e0;
    --c-cyan: #40c9dd;
    --c-warm: #f5b53f;
    --c-hot:  #f0616e;
    /* 软色调（暗底提高不透明度才看得见） */
    --cool-soft: rgba(63,146,224,.16);
    --cyan-soft: rgba(64,201,221,.15);
    --warm-soft: rgba(245,181,63,.16);
    --hot-soft:  rgba(240,97,110,.16);
    --ok-soft:   rgba(63,190,137,.15);
    --member: var(--c-warm);
    --member-soft: rgba(245,181,63,.16);
    --warn-ink: var(--c-warm);
    /* 图表专用（暗底压暗变体：OKLCH 明度带 0.48–0.67 校验通过，青/橙不可直用提亮值） */
    --chart-cool: #3f92e0;
    --chart-cyan: #1a97ad;
    --chart-warm: #c8821a;
    --chart-hot:  #ef5b69;
    /* 板块温标（暗底适度提亮） */
    --sect-insight:   #3f92e0;
    --sect-catalog:   #3fa3dd;
    --sect-arch:      #43b4de;
    --sect-kb:        #40c9dd;
    --sect-news:      #45b9e6;
    --sect-org:       #f5a163;
    --sect-tools:     #74c8a4;
    --sect-academy:   #c4ba62;
    --sect-events:    #f5b53f;
    --sect-community: #f0824e;
    --sect-member:    #f0616e;
    /* 中性翻转 */
    --ink: #e7eef6;
    --ink-2: #b0c1d2;
    --muted: #8298ab;
    --line: #223547;
    --bg: #0c1a27;
    --card: #122636;
    --soft: #17293a;
    --header-bg: rgba(14,28,41,.9);
    /* 深色底与状态在暗色下微调 */
    --dark-1: #050f1d;
    --dark-2: #0a2b4b;
    --ink-deep: #040c16;
    --hair-dark: rgba(255,255,255,.09);
    --ok: #3fbe89;
    /* 阴影在暗底加深 */
    --shadow: 0 8px 30px rgba(0,0,0,.4);
    --shadow-lg: 0 20px 50px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --c-cool: #3f92e0;
  --c-cyan: #40c9dd;
  --c-warm: #f5b53f;
  --c-hot:  #f0616e;
  --cool-soft: rgba(63,146,224,.16);
  --cyan-soft: rgba(64,201,221,.15);
  --warm-soft: rgba(245,181,63,.16);
  --hot-soft:  rgba(240,97,110,.16);
  --ok-soft:   rgba(63,190,137,.15);
  --member: var(--c-warm);
  --member-soft: rgba(245,181,63,.16);
  --warn-ink: var(--c-warm);
  --chart-cool: #3f92e0;
  --chart-cyan: #1a97ad;
  --chart-warm: #c8821a;
  --chart-hot:  #ef5b69;
  --sect-insight:   #3f92e0;
  --sect-catalog:   #3fa3dd;
  --sect-arch:      #43b4de;
  --sect-kb:        #40c9dd;
  --sect-news:      #45b9e6;
  --sect-org:       #f5a163;
  --sect-tools:     #74c8a4;
  --sect-academy:   #c4ba62;
  --sect-events:    #f5b53f;
  --sect-community: #f0824e;
  --sect-member:    #f0616e;
  --ink: #e7eef6;
  --ink-2: #b0c1d2;
  --muted: #8298ab;
  --line: #223547;
  --bg: #0c1a27;
  --card: #122636;
  --soft: #17293a;
  --header-bg: rgba(14,28,41,.9);
  --dark-1: #050f1d;
  --dark-2: #0a2b4b;
  --ink-deep: #040c16;
  --hair-dark: rgba(255,255,255,.09);
  --ok: #3fbe89;
  --shadow: 0 8px 30px rgba(0,0,0,.4);
  --shadow-lg: 0 20px 50px rgba(0,0,0,.55);
}
