/* ============================================
   md-body.css — Markdown 正文排版 v3
   ============================================ */

.md-body {
  font-size: 15.5px;
  line-height: 1.8;
  color: #1F2937;
  word-wrap: break-word;
}

/* 标题 */
.md-body h1,
.md-body h2,
.md-body h3,
.md-body h4,
.md-body h5,
.md-body h6 {
  margin-top: 1.8em;
  margin-bottom: 0.7em;
  font-weight: 700;
  line-height: 1.35;
  color: #0F172A;
  letter-spacing: -.3px;
}
.md-body h1 {
  font-size: 1.9em;
  padding-bottom: 0.4em;
  border-bottom: 2px solid #EEF2FF;
}
.md-body h2 {
  font-size: 1.55em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #F1F5F9;
}
.md-body h3 { font-size: 1.3em; }
.md-body h4 { font-size: 1.12em; }
.md-body h5 { font-size: 1em; }
.md-body h6 { font-size: 0.9em; color: #64748B; }
.md-body h1:first-child,
.md-body h2:first-child,
.md-body h3:first-child { margin-top: 0; }

/* 段落 */
.md-body p {
  margin: 0 0 1.1em;
}

/* 链接 */
.md-body a {
  color: #4F46E5;
  text-decoration: none;
  border-bottom: 1px solid rgba(79, 70, 229, .2);
  transition: all .15s;
}
.md-body a:hover {
  color: #4338CA;
  border-bottom-color: #4F46E5;
}

/* 加粗/斜体 */
.md-body strong { font-weight: 700; color: #0F172A; }
.md-body em { font-style: italic; }

/* 列表 */
.md-body ul,
.md-body ol {
  margin: 0 0 1.1em;
  padding-left: 1.6em;
}
.md-body li {
  margin-bottom: 0.35em;
  line-height: 1.7;
}
.md-body ul li::marker { color: #4F46E5; }
.md-body ol li::marker { color: #4F46E5; font-weight: 600; }
.md-body li > ul,
.md-body li > ol { margin-top: 0.35em; margin-bottom: 0.35em; }

/* 任务列表 */
.md-body li input[type="checkbox"] {
  margin-right: 0.5em;
  width: 16px; height: 16px;
  accent-color: #4F46E5;
  vertical-align: middle;
}
.md-body li:has(input[type="checkbox"]:checked) {
  color: #94A3B8;
  text-decoration: line-through;
}

/* 引用 */
.md-body blockquote {
  margin: 1.2em 0;
  padding: 0.8em 1.2em;
  border-left: 4px solid #4F46E5;
  background: #F8FAFC;
  border-radius: 0 10px 10px 0;
  color: #475569;
}
.md-body blockquote p { margin: 0.3em 0; }
.md-body blockquote p:first-child { margin-top: 0; }
.md-body blockquote p:last-child { margin-bottom: 0; }

/* 行内代码 */
.md-body code {
  padding: 0.2em 0.45em;
  background: #F1F5F9;
  color: #4F46E5;
  border-radius: 5px;
  font-size: 0.88em;
  font-family: "SF Mono", "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;
  font-weight: 500;
}

/* 代码块 */
.md-body pre {
  margin: 1.2em 0;
  padding: 18px 20px;
  background: #0F172A;
  border-radius: 12px;
  overflow-x: auto;
  line-height: 1.65;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .15);
}
.md-body pre code {
  padding: 0;
  background: transparent;
  color: #E2E8F0;
  font-size: 13.5px;
  border-radius: 0;
  font-weight: 400;
}

/* 表格 */
.md-body table {
  width: 100%;
  margin: 1.2em 0;
  border-collapse: collapse;
  font-size: 14px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #E2E8F0;
}
.md-body thead { background: #F8FAFC; }
.md-body th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 700;
  color: #475569;
  border-bottom: 2px solid #E2E8F0;
  font-size: 13px;
}
.md-body td {
  padding: 11px 16px;
  border-bottom: 1px solid #F1F5F9;
  color: #1F2937;
}
.md-body tbody tr:last-child td { border-bottom: none; }
.md-body tbody tr:hover { background: #F8FAFC; }

/* 图片 */
.md-body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1em 0;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
}

/* 分割线 */
.md-body hr {
  margin: 2em 0;
  border: none;
  height: 2px;
  background: linear-gradient(to right, transparent, #E2E8F0, transparent);
}

/* 脚注 */
.md-body .footnote-ref {
  font-size: 0.75em;
  vertical-align: super;
  color: #4F46E5;
  font-weight: 600;
}
.md-body .footnotes {
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid #E2E8F0;
  font-size: 13.5px;
  color: #64748B;
}
.md-body .footnotes ol { padding-left: 1.4em; }

/* Mermaid */
.md-body .mermaid {
  margin: 1.2em 0;
  text-align: center;
  background: #F8FAFC;
  border-radius: 12px;
  padding: 20px;
}

/* 数学公式 */
.md-body .katex-display {
  margin: 1.2em 0;
  overflow-x: auto;
  padding: 10px 0;
}

/* 暗色主题 */
[data-theme="dark"] .md-body { color: #CBD5E1; }
[data-theme="dark"] .md-body h1,
[data-theme="dark"] .md-body h2,
[data-theme="dark"] .md-body h3,
[data-theme="dark"] .md-body h4,
[data-theme="dark"] .md-body h5 { color: #F1F5F9; }
[data-theme="dark"] .md-body h1 { border-bottom-color: rgba(79, 70, 229, .3); }
[data-theme="dark"] .md-body h2 { border-bottom-color: #293548; }
[data-theme="dark"] .md-body strong { color: #F1F5F9; }
[data-theme="dark"] .md-body a { color: #818CF8; border-bottom-color: rgba(129, 140, 248, .3); }
[data-theme="dark"] .md-body blockquote { background: #1E293B; color: #94A3B8; }
[data-theme="dark"] .md-body code { background: #1E293B; color: #A5B4FC; }
[data-theme="dark"] .md-body pre { background: #0F172A; box-shadow: 0 4px 16px rgba(0, 0, 0, .3); }
[data-theme="dark"] .md-body pre code { color: #E2E8F0; }
[data-theme="dark"] .md-body table { box-shadow: 0 0 0 1px #334155; }
[data-theme="dark"] .md-body thead { background: #1E293B; }
[data-theme="dark"] .md-body th { color: #94A3B8; border-bottom-color: #334155; }
[data-theme="dark"] .md-body td { color: #CBD5E1; border-bottom-color: #293548; }
[data-theme="dark"] .md-body tbody tr:hover { background: #1E293B; }
[data-theme="dark"] .md-body hr { background: linear-gradient(to right, transparent, #334155, transparent); }
[data-theme="dark"] .md-body .mermaid { background: #1E293B; }
/* 暗色主题：图片（加边框避免与深色背景融为一体；浅色截图也有清晰边界） */
[data-theme="dark"] .md-body img {
  border: 1px solid #293548;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .45);
  background: #0F172A;
}
/* 暗色主题：数学公式（KaTeX 默认黑色，深底上不可读） */
[data-theme="dark"] .md-body .katex { color: #F1F5F9; }
[data-theme="dark"] .md-body .katex-display {
  background: #1E293B; border: 1px solid #293548; border-radius: 12px;
  padding: 16px 18px; margin: 1.2em 0;
}
[data-theme="dark"] .md-body .katex-display > .katex { color: #F1F5F9; }
/* 暗色主题：代码高亮（github.min 为浅色主题，token 深色字在深底不可读，映射为 GitHub Dark 配色） */
[data-theme="dark"] .md-body .hljs { color: #C9D1D9; background: transparent; }
[data-theme="dark"] .md-body .hljs-keyword,
[data-theme="dark"] .md-body .hljs-selector-tag,
[data-theme="dark"] .md-body .hljs-built_in,
[data-theme="dark"] .md-body .hljs-type,
[data-theme="dark"] .md-body .hljs-literal,
[data-theme="dark"] .md-body .hljs-meta { color: #FF7B72; }
[data-theme="dark"] .md-body .hljs-string,
[data-theme="dark"] .md-body .hljs-regexp,
[data-theme="dark"] .md-body .hljs-attr-value { color: #A5D6FF; }
[data-theme="dark"] .md-body .hljs-number,
[data-theme="dark"] .md-body .hljs-symbol { color: #79C0FF; }
[data-theme="dark"] .md-body .hljs-title,
[data-theme="dark"] .md-body .hljs-title.function_,
[data-theme="dark"] .md-body .hljs-function .hljs-title,
[data-theme="dark"] .md-body .hljs-section { color: #D2A8FF; }
[data-theme="dark"] .md-body .hljs-title.class_,
[data-theme="dark"] .md-body .hljs-title.class_.inherited__,
[data-theme="dark"] .md-body .hljs-attr,
[data-theme="dark"] .md-body .hljs-attribute,
[data-theme="dark"] .md-body .hljs-name { color: #7EE787; }
[data-theme="dark"] .md-body .hljs-comment,
[data-theme="dark"] .md-body .hljs-quote { color: #8B949E; font-style: italic; }
[data-theme="dark"] .md-body .hljs-variable,
[data-theme="dark"] .md-body .hljs-template-variable,
[data-theme="dark"] .md-body .hljs-bullet { color: #FFA657; }
[data-theme="dark"] .md-body .hljs-emphasis { font-style: italic; }
[data-theme="dark"] .md-body .hljs-strong { font-weight: bold; }
[data-theme="dark"] .md-body .hljs-addition { color: #7EE787; }
[data-theme="dark"] .md-body .hljs-deletion { color: #FF7B72; }
