/* Markdown 答案渲染样式（配合 md-render.js 使用） */

/*
 * 用双类名 .md-body.md-body（而非 .md-body）提高优先级。
 *
 * 原因：气泡自身的 .bubble 规则里带了 white-space:pre-wrap 与 word-break:break-word，
 * 它与 .md-body 同级、且在页面中后加载，会反过来覆盖这里的排版设置：
 *   - pre-wrap 会把 HTML 源码里的换行原样显示 → 答案出现多余空行；
 *   - word-break:break-word 等价于 overflow-wrap:anywhere → 单元格最小宽度塌成 1 字符，
 *     表格被压扁，出现「1 0」「RerankServi ce」这类断字换行。
 * 提升优先级后由 Markdown 样式接管气泡内部排版。
 */
.md-body.md-body {
  white-space: normal; line-height: 1.7; word-break: normal; overflow-wrap: break-word;
}
.md-body > *:first-child { margin-top: 0 !important; }
.md-body > *:last-child { margin-bottom: 0 !important; }

.md-body p { margin: 6px 0; }

/* 模型未加 # 标记的「独立短行」小标题（如「其他球友的个人能力信息」）：
   上间距与上文分隔，下间距紧贴正文，避免出现一堆孤立段落导致换行过多 */
.md-body p.md-subtitle {
  font-weight: 600;
  margin: 10px 0 2px;
}
.md-body > p.md-subtitle:first-child { margin-top: 0; }

.md-body h1, .md-body h2, .md-body h3,
.md-body h4, .md-body h5, .md-body h6 {
  font-weight: 600; line-height: 1.35; margin: 14px 0 6px;
}
/* 正文首行标题不留多余上边距 */
.md-body > h1:first-child, .md-body > h2:first-child,
.md-body > h3:first-child, .md-body > h4:first-child { margin-top: 0; }
.md-body h1 { font-size: 19px; }
.md-body h2 { font-size: 17px; padding-bottom: 5px; border-bottom: 1px solid var(--border); }
.md-body h3 { font-size: 15px; }
.md-body h4, .md-body h5, .md-body h6 { font-size: 14px; }

.md-body ul, .md-body ol { margin: 6px 0; padding-left: 22px; }
.md-body li { margin: 2px 0; }
.md-body li > ul, .md-body li > ol { margin: 2px 0; }
/* 兜底：即使仍渲染出松散列表（li 内包 p），也彻底抹平内层段落边距 */
.md-body li > p { margin: 0; }
.md-body li + li { margin-top: 2px; }
.md-body input[type="checkbox"] { margin-right: 5px; }

.md-body strong { font-weight: 600; }
.md-body em { font-style: italic; }
.md-body del { color: var(--muted); }

.md-body code {
  background: #f2f4f8; border: 1px solid #e8ebf0; border-radius: 5px;
  padding: 1px 5px; font-size: 12.5px;
  font-family: Consolas, Monaco, "Courier New", monospace;
}
.md-body pre {
  position: relative; background: #f7f8fa; border: 1px solid var(--border);
  border-radius: 9px; padding: 12px 14px; margin: 10px 0; overflow: auto;
}
.md-body pre code {
  background: none; border: none; padding: 0; font-size: 12.5px; line-height: 1.6;
}

.md-body blockquote {
  margin: 10px 0; padding: 6px 14px; border-left: 3px solid var(--brand);
  background: #fafbfd; color: #555; border-radius: 0 8px 8px 0;
}
.md-body blockquote p { margin: 4px 0; }

.md-body table {
  border-collapse: collapse; width: 100%; margin: 0; font-size: 13px;
}
.md-body th, .md-body td {
  border: 1px solid var(--border); padding: 6px 10px; text-align: left; vertical-align: top;
  /* 显式覆盖从气泡继承来的 pre-wrap / break-word，避免表格被压扁与多余换行 */
  white-space: normal; word-break: normal; overflow-wrap: break-word; min-width: 3em;
}
/* 表头单行显示，避免「改造项」「核心说明」被拆成两行 */
.md-body th { background: #fafbfd; font-weight: 600; white-space: nowrap; }
.md-body tbody tr:nth-child(even) { background: #fcfcfe; }
/* 表格单独成块：装不下时整体横向滚动，而不是把列压变形 */
.md-table-wrap {
  overflow-x: auto; margin: 10px 0;
  border: 1px solid var(--border); border-radius: 8px;
  -webkit-overflow-scrolling: touch;
}
.md-table-wrap table { margin: 0; }
.md-table-wrap table th:first-child, .md-table-wrap table td:first-child { border-left: none; }
.md-table-wrap table th:last-child, .md-table-wrap table td:last-child { border-right: none; }
.md-table-wrap table tr:first-child > * { border-top: none; }
.md-table-wrap table tr:last-child > * { border-bottom: none; }

.md-body a { color: var(--brand); text-decoration: none; }
.md-body a:hover { text-decoration: underline; }

.md-body hr { border: none; border-top: 1px solid var(--border); margin: 14px 0; }
.md-body img { max-width: 100%; border-radius: 8px; }

/* 代码块复制按钮：悬停显示，避免干扰阅读 */
.md-copy {
  position: absolute; top: 6px; right: 8px;
  border: 1px solid var(--border); background: #fff; color: #666;
  border-radius: 6px; padding: 2px 8px; font-size: 12px; cursor: pointer;
  opacity: 0; transition: opacity .15s;
}
.md-body pre:hover .md-copy { opacity: 1; }
.md-copy:hover { color: var(--brand); border-color: var(--brand); }
