/* ===================== RDOA Markdown 渲染样式 ===================== */
/* 由 base.html 全局加载，供编辑器预览和详情页共用 */

/* --- 基础排版 --- */
.markdown-body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #24292e;
    word-wrap: break-word;
}
.markdown-body h1 {
    font-size: 2em; font-weight: 600; padding-bottom: 0.3em;
    border-bottom: 1px solid #eaecef; margin-top: 24px; margin-bottom: 16px;
}
.markdown-body h2 {
    font-size: 1.5em; font-weight: 600; padding-bottom: 0.3em;
    border-bottom: 1px solid #eaecef; margin-top: 24px; margin-bottom: 16px;
}
.markdown-body h3 { font-size: 1.25em; font-weight: 600; margin-top: 24px; margin-bottom: 16px; }
.markdown-body h4 { font-size: 1em; font-weight: 600; margin-top: 24px; margin-bottom: 16px; }
.markdown-body h5, .markdown-body h6 { font-size: 0.875em; font-weight: 600; margin-top: 24px; margin-bottom: 16px; }
.markdown-body p { margin-top: 0; margin-bottom: 16px; }
.markdown-body a { color: #0366d6; text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-body ul, .markdown-body ol { padding-left: 2em; margin-top: 0; margin-bottom: 16px; }
.markdown-body li + li { margin-top: 0.25em; }
.markdown-body hr { height: 0.25em; padding: 0; margin: 24px 0; background-color: #e1e4e8; border: 0; }
.markdown-body img { max-width: 100%; box-sizing: content-box; cursor: pointer; }

/* --- 表格 --- */
.markdown-body table { border-collapse: collapse; width: 100%; margin-bottom: 16px; }
.markdown-body table th, .markdown-body table td { padding: 6px 13px; border: 1px solid #dfe2e5; }
.markdown-body table th { font-weight: 600; background-color: #f6f8fa; }
.markdown-body table tr { background-color: #fff; border-top: 1px solid #c6cbd1; }
.markdown-body table tr:nth-child(2n) { background-color: #f6f8fa; }

/* --- 引用块 --- */
.markdown-body blockquote {
    padding: 8px 1em;
    color: #6a737d;
    border-left: 4px solid #dfe2e5;
    margin: 0 0 16px 0;
    background-color: #f9f9f9;
    border-radius: 0 4px 4px 0;
}
.markdown-body blockquote p:last-child { margin-bottom: 0; }

/* --- 行内代码 --- */
.markdown-body code {
    padding: 0.2em 0.4em; margin: 0; font-size: 85%;
    background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* --- 代码块容器（带语言标签 + 复制按钮） --- */
.markdown-body .code-block-wrapper {
    position: relative;
    margin-bottom: 16px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e1e4e8;
}
.markdown-body .code-block-wrapper pre {
    padding: 16px;
    overflow: auto;
    font-size: 85%;
    line-height: 1.45;
    background-color: #f6f8fa;
    border-radius: 0;
    margin-bottom: 0;
}
.markdown-body .code-block-wrapper pre code {
    padding: 0; margin: 0; font-size: 100%;
    background-color: transparent; border-radius: 0;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.markdown-body .code-lang-label {
    display: inline-block;
    position: absolute;
    top: 0; right: 60px;
    padding: 2px 8px;
    font-size: 12px;
    color: #6a737d;
    background: #eaecef;
    border-radius: 0 0 0 4px;
    z-index: 2;
    font-family: 'SFMono-Regular', Consolas, monospace;
}
.markdown-body .code-copy-btn {
    position: absolute;
    top: 8px; right: 8px;
    padding: 2px 10px;
    font-size: 12px;
    color: #586069;
    background: #fff;
    border: 1px solid #d1d5da;
    border-radius: 4px;
    cursor: pointer;
    z-index: 2;
    transition: all 0.2s;
}
.markdown-body .code-copy-btn:hover {
    color: #fff;
    background: #0366d6;
    border-color: #0366d6;
}
.markdown-body .code-copy-btn.copied {
    color: #fff;
    background: #28a745;
    border-color: #28a745;
}

/* 兼容无 wrapper 的裸 pre>code */
.markdown-body > pre {
    padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45;
    background-color: #f6f8fa; border-radius: 6px; margin-bottom: 16px;
}
.markdown-body > pre > code {
    padding: 0; margin: 0; font-size: 100%; background-color: transparent; border-radius: 0;
}

/* --- 轻量级语法高亮配色 --- */
.markdown-body .hl-keyword { color: #d73a49; font-weight: 500; }
.markdown-body .hl-string { color: #032f62; }
.markdown-body .hl-comment { color: #6a737d; font-style: italic; }
.markdown-body .hl-number { color: #005cc5; }

/* --- Mermaid 图表容器 --- */
.markdown-body .mermaid-container,
.markdown-body .mermaid {
    text-align: center;
    margin: 16px 0;
    padding: 16px;
    background: #fff;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    overflow-x: auto;
}
.markdown-body .mermaid svg {
    max-width: 100%;
    height: auto;
}
.markdown-body .mermaid-error {
    border-color: #d73a49;
    background: #ffeaea;
}
.markdown-body .mermaid-error-msg {
    color: #d73a49;
    font-size: 13px;
    margin-bottom: 8px;
    font-weight: 500;
}
.markdown-body .mermaid-error pre {
    background: #fff5f5;
    border: 1px solid #ffd0d0;
}

/* --- 数学公式块 --- */
.markdown-body .math-block {
    margin: 16px 0;
    padding: 16px;
    text-align: center;
    overflow-x: auto;
    background: #f9f9f9;
    border-radius: 4px;
}
.markdown-body .katex-display {
    margin: 0;
}
.markdown-body .katex {
    font-size: 1.05em;
}
