/* ==========================================================================
   my-docs-site — apps/ 独立页面的「站点统一主题」
   --------------------------------------------------------------------------
   用途：把 apps/ 下的自包含 HTML（md2html + pygments 生成的章节页等，自带一套
   「亮色优先」的 GitHub 风格样式）接入站点主题，配色 / 字体 / 圆角 / 代码高亮
   全部对齐 static/style.css 的暗色令牌。

   注入方式：由 build.py 在构建时把本表以 <link> 追加到目标页 </head> 之前
   （命中规则见 site.config.json → appsOverrides）。源 HTML 保持原样，
   重新用 md2html 生成章节页后无需再手工改样式。

   为什么能压过页面自带样式：
   - 变量层：html:root（优先级 0,1,1）高于页面的 :root 与
     @media (prefers-color-scheme: dark) :root（0,1,0），因此**不依赖系统**
     的明暗偏好 —— 站点默认就是暗色。
   - 规则层：本表在页面自带 <style> 之后加载，同优先级时后者胜。
   ========================================================================== */

html:root {
  color-scheme: dark;

  /* —— 站点令牌（与 static/style.css :root 保持一致）—— */
  --bg: #0b1020;
  --bg-soft: #0f1730;
  --bg-elev: #121c38;
  --border: #24304f;
  --text: #dbe3f4;
  --text-dim: #93a0bd;
  --text-faint: #6b7899;
  --accent: #5eead4;
  --accent-soft: rgba(94, 234, 212, .12);
  --link: #7dd3fc;
  --code-bg: #0a1122;
  --shadow: 0 1rem 3rem rgb(0 0 0 / 45%);
  --radius: .75rem;
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Microsoft YaHei",
          "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Consolas,
          "Cascadia Mono", Menlo, monospace;

  /* —— 章节页自带的变量名 → 站点令牌 —— */
  --fg: var(--text);
  --muted: var(--text-dim);
  --pre-bg: var(--code-bg);
  --stripe: var(--bg-soft);
  --quote-bar: var(--accent);
  --border-soft: rgba(36, 48, 79, .55);
}

/* ---------- 基础排版 ---------- */
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* 标题：字号 / 行高 / 字距对齐站点 .doc */
.markdown-body h1 { font-size: 2.05rem; line-height: 1.25; letter-spacing: -.015em; }
.markdown-body h2 { font-size: 1.4rem; }
.markdown-body h3 { font-size: 1.15rem; }
.markdown-body h4 { font-size: 1rem; color: var(--text-dim); }
.markdown-body h5, .markdown-body h6 { color: var(--text-dim); }

.markdown-body a { color: var(--link); }
.markdown-body hr { background: var(--border); }

/* 引用块：站点 .doc blockquote 的样子（左侧强调色 + 柔和底色） */
.markdown-body blockquote {
  padding: .7rem 1rem;
  background: var(--bg-soft);
  border-left: 3px solid var(--accent);
  border-radius: 0 .5rem .5rem 0;
  color: var(--text-dim);
}

/* ---------- 代码 ---------- */
.markdown-body code {
  font-family: var(--mono);
  font-size: .87em;
  padding: .1rem .35rem;
  border: 1px solid var(--border);
  border-radius: .3rem;
  background: var(--code-bg);
}
/* 块内代码由外层 .highlight / pre 提供底色与边框，不再叠加行内码样式 */
.markdown-body pre code {
  padding: 0;
  border: 0;
  background: none;
}

.markdown-body pre,
.markdown-body .highlight {
  border-radius: var(--radius);
  background: var(--code-bg);
}
.markdown-body pre {
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  font-size: .86em;
  line-height: 1.65;
}
.markdown-body .highlight {
  border: 1px solid var(--border);
}

/* ---------- 表格 ---------- */
.markdown-body table th { background: var(--bg-soft); font-weight: 700; }
.markdown-body table th,
.markdown-body table td { border-color: var(--border); }
.markdown-body table tr:nth-child(2n) td { background: var(--bg-soft); }

/* ---------- 图片（含 SVG 图表：保留浅色画布，仅在暗色页上套统一外框）---------- */
.markdown-body img {
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  box-shadow: none;
}

/* ---------- 页脚 ---------- */
.doc-footer { color: var(--text-faint); }

/* ==========================================================================
   代码高亮：章节页自带浅色 pygments 主题（顶部一整套浅色 token 规则），
   这里整体覆盖为暗色调色板（等价 GitHub Dark）。句子里的 font-weight 也一并
   显式声明，避免继承浅色主题里的加粗。
   ========================================================================== */
.highlight { color: #e6edf3; }
.highlight .hll { background-color: #6e7681; }

.highlight .c, .highlight .ch, .highlight .cm, .highlight .cpf, .highlight .c1 {
  color: #8b949e; font-weight: 400; font-style: italic;
}
.highlight .cp, .highlight .cs {
  color: #8b949e; font-weight: 700; font-style: italic;
}

.highlight .esc, .highlight .g, .highlight .n, .highlight .na, .highlight .nb,
.highlight .bp, .highlight .nx, .highlight .p, .highlight .pm, .highlight .x {
  color: #e6edf3; font-weight: 400;
}
.highlight .ge { color: #e6edf3; font-weight: 400; font-style: italic; }
.highlight .gs { color: #e6edf3; font-weight: 700; }
.highlight .ges { color: #e6edf3; font-weight: 700; font-style: italic; }

.highlight .k, .highlight .kd, .highlight .kn, .highlight .kr, .highlight .kt,
.highlight .nn, .highlight .gt { color: #ff7b72; font-weight: 400; }
.highlight .o, .highlight .ow { color: #ff7b72; font-weight: 700; }

.highlight .kc, .highlight .kp, .highlight .ld, .highlight .nv, .highlight .py,
.highlight .sa, .highlight .dl, .highlight .se, .highlight .sh, .highlight .sr,
.highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm, .highlight .gu {
  color: #79c0ff; font-weight: 400;
}
.highlight .no, .highlight .nl, .highlight .gh { color: #79c0ff; font-weight: 700; }

.highlight .l, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh,
.highlight .mi, .highlight .mo, .highlight .il, .highlight .s, .highlight .s1,
.highlight .s2, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .si,
.highlight .sx, .highlight .ss { color: #a5d6ff; font-weight: 400; }

.highlight .nd, .highlight .nf, .highlight .fm { color: #d2a8ff; font-weight: 700; }
.highlight .nc, .highlight .ne { color: #f0883e; font-weight: 700; }
.highlight .ni { color: #ffa657; font-weight: 400; }
.highlight .nt { color: #7ee787; font-weight: 400; }
.highlight .go, .highlight .gp { color: #8b949e; font-weight: 400; }
.highlight .w { color: #6e7681; }

.highlight .gr { color: #ffa198; }
.highlight .gd { color: #ffa198; background-color: #490202; }
.highlight .gi { color: #56d364; background-color: #0f5323; }
.highlight .err { color: #f85149; border: 0; }