/* ==========================================================================
   Markdown 正文排版（全站共用一份）
   --------------------------------------------------------------------------
   消费方有三处：
     1. 管理后台的编辑预览（零构建，<link> 引入）
     2. 独立公开文档页 /doc/{slug}（服务端渲染）
     3. 开发者门户的文档页（Vue 组件内 scoped，复制本文件的核心规则）
   改这里就能让后台预览与公开页保持一致；门户那份是复制的，改动时要同步。

   颜色全部走局部 CSS 变量，便于各消费方按自己的主题覆盖，
   而不必为了改一个链接色去动这篇文章的规则。
   ========================================================================== */
.md-body {
  --md-text: #1f2937;
  --md-sub: #4b5563;
  --md-muted: #8b94a3;
  --md-border: #e5e8ef;
  --md-soft: #f7f9fc;
  --md-link: #2b7fd4;
  --md-code-bg: #1e2532;
  --md-code-text: #d6deeb;
  --md-inline-bg: #f2f4f8;
  --md-inline-text: #c2410c;

  font-size: 14.5px;
  line-height: 1.9;
  color: var(--md-text);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.md-body > *:first-child { margin-top: 0; }
.md-body > *:last-child { margin-bottom: 0; }

/* ---------- 标题 ---------- */
.md-body h1,
.md-body h2,
.md-body h3,
.md-body h4 {
  font-weight: 600;
  line-height: 1.4;
  margin: 26px 0 12px;
  /* 标题自带锚点 id（HeadingPermalink 扩展），滚动到锚点时留出顶部间距 */
  scroll-margin-top: 76px;
}
.md-body h1 { font-size: 22px; padding-bottom: 10px; border-bottom: 1px solid var(--md-border); }
.md-body h2 {
  font-size: 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--md-border);
}
.md-body h3 {
  font-size: 15.5px;
  padding-left: 10px;
  border-left: 3px solid var(--md-link);
}
.md-body h4 { font-size: 14.5px; color: var(--md-sub); }

/* ---------- 段落与强调 ---------- */
.md-body p { margin: 0 0 13px; }
.md-body strong { font-weight: 600; color: #111827; }
.md-body em { font-style: normal; color: var(--md-sub); }

/* ---------- 列表 ---------- */
.md-body ul,
.md-body ol { margin: 0 0 13px; padding-left: 22px; }
.md-body li { margin-bottom: 6px; }
.md-body li > ul,
.md-body li > ol { margin: 6px 0 0; }
/* 表格或代码块紧跟在列表项里时，避免撑破缩进 */
.md-body li table { margin: 8px 0; }

/* ---------- 引用 ---------- */
.md-body blockquote {
  margin: 0 0 14px;
  padding: 10px 16px;
  background: var(--md-soft);
  border-left: 3px solid var(--md-border);
  border-radius: 0 8px 8px 0;
  color: var(--md-sub);
}
.md-body blockquote p { margin: 0 0 8px; }
.md-body blockquote p:last-child { margin-bottom: 0; }

/* ---------- 链接 ---------- */
.md-body a { color: var(--md-link); text-decoration: none; border-bottom: 1px solid rgba(43, 127, 212, .3); }
.md-body a:hover { border-bottom-color: var(--md-link); }

/* ---------- 行内代码 ---------- */
.md-body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;
  font-size: .9em;
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--md-inline-bg);
  color: var(--md-inline-text);
}

/* ---------- 代码块 ---------- */
.md-body pre {
  margin: 0 0 16px;
  padding: 15px 17px;
  background: var(--md-code-bg);
  border-radius: 9px;
  overflow-x: auto;
  /* 长行横向滚动而不是折行：代码折行后缩进全乱，反而更难读 */
  line-height: 1.7;
}
.md-body pre code {
  padding: 0;
  background: none;
  color: var(--md-code-text);
  font-size: 12.8px;
  white-space: pre;
}

/* ---------- 表格 ---------- */
.md-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 16px;
  font-size: 13.5px;
  /* 表格比正文更宽时允许横向滚动，而不是把页面撑破 */
  display: block;
  overflow-x: auto;
}
.md-body table th,
.md-body table td {
  padding: 9px 13px;
  border: 1px solid var(--md-border);
  text-align: left;
  vertical-align: top;
}
.md-body table th {
  background: var(--md-soft);
  font-weight: 600;
  white-space: nowrap;
}
.md-body table tr:nth-child(even) td { background: #fcfdfe; }

/* ---------- 分隔线 ---------- */
.md-body hr { border: none; border-top: 1px solid var(--md-border); margin: 24px 0; }

/* ---------- 图片 ---------- */
.md-body img { max-width: 100%; height: auto; border-radius: 8px; }

/* ---------- 任务列表（GFM） ---------- */
.md-body ul.contains-task-list { list-style: none; padding-left: 4px; }
.md-body .task-list-item { display: flex; gap: 8px; align-items: flex-start; }
.md-body .task-list-item input { margin-top: 6px; }
