/*
 * report.css — 报告页（/r/<slug>/）的 noehub 适配层
 * ─────────────────────────────────────────────────────────────────────
 * 报告是各篇独立生成的单文件 HTML，样式内联、变量名各成一派（至今 4 套模板）。
 * 本文件不改它们的版式，只做三件事，让每一篇都落到 noe.css 同一套设计语言上：
 *   ① 旧变量桥接：把历史上出现过的变量名（--paper / --ink / --red / --accent …）
 *      全部指到 --noe-* 语义 token。选择器 html:root[data-theme] 的优先级(0,2,1)
 *      高于报告里的 :root / :root[data-theme="dark"] / @media 暗色块(0,2,0)，所以无论
 *      报告怎么写，最终颜色都来自 noe.css，明暗切换也随之生效。
 *   ② 排版统一：正文 Source Sans 3、标题 Source Serif 4、数字与代码 Source Code Pro，
 *      背景改成 noehub 的平面底色（去掉旧的粉紫光晕）。
 *   ③ 外壳统一：隐藏各篇自带的「← Mahoro 档案」浮钮，由 report-fx.js 注入统一的导航条。
 *
 * 加载顺序（tools/noe_migrate.py 负责）：noe.css 在 <head> 靠前，本文件在 </head> 前最后一个。
 * 新报告出现新的变量名时：在 ① 里加一行映射即可，不用动报告本身。
 * 数据色（图表里区分指数/序列的分类色，如 --c-hs300、--s1、--up/--dn）故意不桥接——
 * 它们承担的是「可区分」，不是品牌。
 */

/* ── ① 旧变量 → noe 语义 token ───────────────────────────────────────── */
html:root[data-theme] {
  /* 底与面 */
  --paper: var(--noe-canvas);
  --page: var(--noe-canvas);
  --paper-deep: var(--noe-surface-sunken);
  --card: var(--noe-surface);
  --surface: var(--noe-surface);
  --white: var(--noe-surface);
  --chip-bg: var(--noe-surface-sunken);
  /* 文字 */
  --ink: var(--noe-text-strong);
  --ink2: var(--noe-text);
  --ink-2: var(--noe-text);
  --ink-3: var(--noe-text-2);
  --muted: var(--noe-text-2);
  /* 线 */
  --hair: var(--noe-border-subtle);
  --hairline: var(--noe-border-subtle);
  --line: var(--noe-border-subtle);
  --border: var(--noe-border-subtle);
  --grid: var(--noe-viz-grid);
  --baseline: var(--noe-border);
  /* 品牌：旧粉 / 旧橙 → noehub 橙。大字号用 display，小字号用 text（对比度见 noe.css） */
  --red: var(--noe-brand-display);
  --red-dark: var(--noe-brand-text);
  --accent: var(--noe-brand-text);
  --accent-ink: var(--noe-brand-text);
  --seq: var(--noe-brand-text);
  --seq-soft: var(--noe-orange-5);
  /* 旧紫 / 旧蓝（第二强调色）→ 墨色：Orange and Black */
  --blue: var(--noe-viz-2);
  --violet: var(--noe-viz-2);
  --accent-2: var(--noe-viz-4);
  /* 语义 */
  --green: var(--noe-pos);
  --gold: var(--noe-warn);
  /* 图表通用色 */
  --viz-1: var(--noe-viz-1);
  --viz-2: var(--noe-viz-2);
  --viz-3: var(--noe-viz-3);
  --viz-solo: var(--noe-viz-1);
  --viz-pos: var(--noe-pos);
  --viz-neg: var(--noe-neg);
  --viz-grid: var(--noe-viz-grid);
  --viz-ink: var(--noe-text);
  --viz-mute: var(--noe-text-2);
  /* 阴影与字体 */
  --shadow: var(--noe-shadow);
  --card-shadow: var(--noe-shadow);
  --sans: var(--noe-sans);
  --serif: var(--noe-serif);
  --mono: var(--noe-mono);
}

/* ── ② 排版 ─────────────────────────────────────────────────────────── */
html[data-theme] body {
  background: var(--noe-canvas);
  font-family: var(--noe-sans);
  -webkit-font-smoothing: antialiased;
}
html[data-theme] :is(h1, h2, h3, h4) {
  font-family: var(--noe-serif);
  font-weight: 500;
  letter-spacing: -0.02em;
}
html[data-theme] :is(h3, h4) { font-weight: 600; letter-spacing: -0.01em; }
html[data-theme] :is(code, pre, kbd, samp, .mono) { font-family: var(--noe-mono); }
html[data-theme] :is(table) { font-variant-numeric: tabular-nums; }

/* ── ③ 外壳 ─────────────────────────────────────────────────────────── */
/* 各篇自带的返回浮钮：由统一导航条取代 */
a.back,
a[aria-label="返回 Mahoro 档案"] { display: none !important; }

/* 统一导航条（report-fx.js 注入）：在文档流里、吸顶、往下读时收起 */
.noe-nav--report { z-index: 80; }
.noe-nav--report .noe-nav__links a { font-weight: 600; }
@media (max-width: 560px) {
  .noe-nav--report .noe-nav__back-label { display: none; }
}

@media print {
  .noe-nav--report { display: none !important; }
}
