/* macro.css — 全局宏观 (2026-09-06)
 *
 * ⚠️ 每条选择器都必须 scope 在 #macro-view 下 (防样式外泄到别的 tab)。
 * ⛔ 不手写 hex: 一律用 tokens.css 的 var(--*)。
 * ⚠️ 涨/跌是 `--up` / `--dn` —— **不是** `--down`(不存在)。带 fallback 的错
 *    token 是静默的: 不报错, 只是一直用着回退色。
 *
 * 版式与其余全局特征 tab 对齐: 无边框卡片, 靠留白分组 (与 anomalies/rotation 同)。
 */

#macro-view .global-feature-head,
#macro-view .global-feature-card {
  overflow: visible; border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}
#macro-view .global-feature-head { padding: var(--sp-3) 0 var(--sp-5); }
#macro-view .global-feature-card + .global-feature-card { margin-top: var(--sp-6); }
#macro-view .global-feature-section-head {
  padding: var(--sp-4) 0 var(--sp-3); border-bottom: 0;
}

#macro-view .mac-desc {
  color: var(--text-2); font-size: var(--fs-meta);
  line-height: var(--lh-body); margin: 0 0 var(--sp-3);
}

/* ── 数据源状态条 ───────────────────────────────────────────────────── */
#macro-view .mac-src-grid {
  display: grid; gap: var(--sp-3);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
#macro-view .mac-src {
  display: flex; flex-direction: column; gap: var(--sp-1);
  padding: var(--sp-3); border-radius: var(--r-md);
  background: var(--bg-1); border-left: 3px solid var(--border-strong);
}
#macro-view .mac-src b { font-size: var(--fs-ui); color: var(--text-0); }
#macro-view .mac-src span { font-size: var(--fs-micro); color: var(--text-2); }
#macro-view .mac-src em {
  font-style: normal; font-size: var(--fs-micro); color: var(--text-3);
}
#macro-view .mac-src-ok { border-left-color: var(--up); }
/* 「取不到」必须一眼可见 —— 它与「读数很低」是两件事 */
#macro-view .mac-src-down { border-left-color: var(--accent-orange); }
#macro-view .mac-src-down span { color: var(--accent-orange); }
#macro-view .mac-src-none,
#macro-view .mac-state-warn {
  color: var(--accent-orange); font-size: var(--fs-meta);
  line-height: var(--lh-body); margin: var(--sp-3) 0 0;
}
#macro-view .mac-state-warn code {
  font-family: var(--font-mono); background: var(--tag-bg);
  padding: 0 var(--sp-1); border-radius: var(--r-sm);
}

/* ── 分组表 ────────────────────────────────────────────────────────── */
#macro-view .mac-group + .mac-group { margin-top: var(--sp-5); }
#macro-view .mac-group-head {
  display: flex; align-items: baseline; gap: var(--sp-3);
  padding-bottom: var(--sp-2);
}
#macro-view .mac-group-head b { font-size: var(--fs-ui); color: var(--text-0); }
#macro-view .mac-when { font-size: var(--fs-micro); color: var(--text-3); }

#macro-view .mac-table {
  width: 100%; border-collapse: collapse; font-size: var(--fs-meta);
}
#macro-view .mac-table th {
  text-align: left; font-weight: 400; color: var(--text-3);
  font-size: var(--fs-micro); padding: var(--pad-cell-y) var(--pad-cell-x);
  border-bottom: 1px solid var(--border-soft);
}
#macro-view .mac-table td {
  padding: var(--pad-cell-y) var(--pad-cell-x);
  border-bottom: 1px solid var(--border-soft); color: var(--text-1);
}
#macro-view .mac-table tbody tr:hover { background: var(--row-hover); }
#macro-view .mac-out { color: var(--text-0); }
#macro-view .mac-prob {
  font-family: var(--font-mono); color: var(--text-0);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
#macro-view .mac-prob small {
  display: block; font-family: var(--font-sans);
  font-size: var(--fs-micro); color: var(--text-3);
}
#macro-view .mac-delta, #macro-view .mac-spread {
  font-family: var(--font-mono); font-variant-numeric: tabular-nums;
  white-space: nowrap; color: var(--text-2);
}
#macro-view .mac-src-tag, #macro-view .mac-note {
  font-size: var(--fs-micro); color: var(--text-3);
}
#macro-view .mac-chg { font-family: var(--font-mono); }
#macro-view .mac-up { color: var(--up); }
#macro-view .mac-dn { color: var(--dn); }

/* 不可作数的行整体压暗 —— 但**仍然显示**, 因为"这个数不可信"本身是信息 */
#macro-view .mac-row-weak td { color: var(--text-3); }

/* ── 流动性徽标 ────────────────────────────────────────────────────── */
#macro-view .mac-liq {
  display: inline-block; padding: 0 var(--sp-2);
  border-radius: var(--r-pill); font-size: var(--fs-micro);
  background: var(--tag-bg); color: var(--text-2); white-space: nowrap;
}
#macro-view .mac-liq-deep { color: var(--up); }
#macro-view .mac-liq-thin { color: var(--text-2); }
#macro-view .mac-liq-untradeable { color: var(--accent-orange); }
#macro-view .mac-liq-unknown { color: var(--text-3); }
#macro-view .mac-back {
  margin-left: var(--sp-1); font-size: var(--fs-micro);
  color: var(--text-3); border-bottom: 1px dotted var(--border-strong);
}

/* ── 归一提示 ──────────────────────────────────────────────────────── */
#macro-view .mac-norm {
  margin: var(--sp-2) 0 0; font-size: var(--fs-micro);
  color: var(--text-3); line-height: var(--lh-body);
}
#macro-view .mac-norm-bad { color: var(--accent-orange); }

/* ── 空态 ──────────────────────────────────────────────────────────── */
/* 「没有」与「是 0」必须长得不一样: 空态是散文, 不是一个数字 0。 */
#macro-view .mac-empty {
  color: var(--text-2); font-size: var(--fs-meta);
  line-height: var(--lh-body); margin: var(--sp-3) 0;
}

/* ── 口径说明 ──────────────────────────────────────────────────────── */
#macro-view .mac-list {
  margin: 0 0 var(--sp-3); padding-left: var(--sp-5);
  font-size: var(--fs-meta); color: var(--text-2); line-height: var(--lh-body);
}
#macro-view .mac-list li::marker { color: var(--accent); }
#macro-view .mac-caveat li::marker { color: var(--accent-orange); }

@media (max-width: 640px) {
  #macro-view .mac-table { font-size: var(--fs-micro); }
  #macro-view .mac-src-grid { grid-template-columns: 1fr; }
}

/* ── 利率期权隐含 (SOFR 窗口) ──────────────────────────────────────── */
/* 这一段与美联储路径**不是同一个量**, 警示句用强调色, 免得被顺手对照读。 */
#macro-view .mac-sofr-warn { color: var(--accent-orange); }
