/* Markdown 渲染样式 - 用于前台展示 Markdown 编写的内容 */
.md-content { font-size: 16px; line-height: 1.8; color: #333; word-wrap: break-word; }
.md-content h1, .md-content h2, .md-content h3, .md-content h4, .md-content h5, .md-content h6 { margin: 1.2em 0 0.6em; font-weight: 600; line-height: 1.4; color: #222; }
.md-content h1 { font-size: 28px; border-bottom: 2px solid #eee; padding-bottom: 10px; }
.md-content h2 { font-size: 24px; border-bottom: 1px solid #eee; padding-bottom: 8px; }
.md-content h3 { font-size: 20px; }
.md-content h4 { font-size: 17px; }
.md-content h5 { font-size: 15px; }
.md-content h6 { font-size: 14px; color: #666; }

/* 段落 */
.md-content p { margin: 0.8em 0; }

/* 链接 */
.md-content a { color: #1E9FFF; text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s; }
.md-content a:hover { color: #0d8bf2; border-bottom-color: #0d8bf2; }

/* 图片 */
.md-content img { max-width: 100%; height: auto; border-radius: 4px; margin: 10px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }

/* 引用块 */
.md-content blockquote { margin: 1em 0; padding: 12px 20px; border-left: 4px solid #1E9FFF; background: #f8f9fa; color: #555; border-radius: 0 4px 4px 0; }
.md-content blockquote p { margin: 0.4em 0; }
.md-content blockquote blockquote { border-left-color: #ccc; }

/* ========== 行内代码 (仅非 pre 内的 code) ========== */
.md-content :not(pre) > code {
    background: #f0f0f0;
    color: #c7254e;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.9em;
    border: 1px solid #e8e8e8;
}

/* ========== 代码块 ========== */
.md-content pre {
    margin: 1.2em 0;
    border-radius: 8px;
    overflow: hidden;
    background: #282c34;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    position: relative;
}

/* marked.js 生成: <pre><code class="language-xxx"> */
.md-content pre > code {
    display: block;
    padding: 18px 20px;
    background: transparent !important;
    color: #abb2bf;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.7;
    overflow-x: auto;
    border: none;
    border-radius: 0;
    white-space: pre;
    word-wrap: normal;
    tab-size: 4;
}

/* UEditor 生成: <pre> 无 code 内部 */
.md-content pre:not(:has(> code)) {
    padding: 18px 20px;
    color: #abb2bf;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.7;
    overflow-x: auto;
    white-space: pre;
    word-wrap: normal;
    tab-size: 4;
}

/* 语言标签 (由 JS 动态添加 data-lang) */
.md-content pre[data-lang]::before {
    content: attr(data-lang);
    position: absolute;
    top: 0;
    right: 0;
    padding: 3px 12px;
    font-size: 11px;
    color: #777;
    background: #21252b;
    border-radius: 0 8px 0 6px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    z-index: 1;
}
.md-content pre[data-lang] > code {
    padding-top: 28px;
}

/* 滚动条 */
.md-content pre::-webkit-scrollbar { height: 8px; }
.md-content pre::-webkit-scrollbar-track { background: #21252b; }
.md-content pre::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
.md-content pre::-webkit-scrollbar-thumb:hover { background: #777; }
.md-content pre > code::-webkit-scrollbar { height: 6px; }
.md-content pre > code::-webkit-scrollbar-thumb { background: #555; border-radius: 3px; }

/* 代码高亮 - Prism.js token 颜色 */
.md-content pre .token.comment,
.md-content pre .token.prolog,
.md-content pre .token.doctype,
.md-content pre .token.cdata { color: #5c6370; font-style: italic; }
.md-content pre .token.keyword { color: #c678dd; }
.md-content pre .token.string { color: #98c379; }
.md-content pre .token.number { color: #d19a66; }
.md-content pre .token.function { color: #61afef; }
.md-content pre .token.operator { color: #56b6c2; }
.md-content pre .token.punctuation { color: #abb2bf; }

/* 表格 */
.md-content table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 15px; }
.md-content table thead { background: #f5f7fa; }
.md-content table th { padding: 10px 14px; border: 1px solid #e0e6ed; font-weight: 600; text-align: left; color: #333; }
.md-content table td { padding: 10px 14px; border: 1px solid #e0e6ed; }
.md-content table tbody tr:nth-child(even) { background: #fafbfc; }
.md-content table tbody tr:hover { background: #f0f4ff; }

/* 列表 */
.md-content ul, .md-content ol { padding-left: 1.8em; margin: 0.6em 0; }
.md-content li { margin: 0.3em 0; }
.md-content ul li::marker { color: #1E9FFF; }
.md-content ol li::marker { color: #1E9FFF; font-weight: 600; }
.md-content li input[type="checkbox"] { margin-right: 6px; accent-color: #1E9FFF; }

/* 水平线 */
.md-content hr { border: none; height: 2px; background: linear-gradient(to right, #e0e6ed, #ccc, #e0e6ed); margin: 2em 0; }

/* 加粗/斜体 */
.md-content strong { font-weight: 600; color: #222; }
.md-content em { font-style: italic; }
.md-content del { text-decoration: line-through; color: #999; }

/* 目录 */
.md-content .toc { background: #f8f9fa; border: 1px solid #e0e6ed; border-radius: 6px; padding: 16px 20px; margin: 1em 0; }
.md-content .toc > ul { list-style: none; padding-left: 0; }
.md-content .toc ul { margin: 0; }
.md-content .toc li { margin: 4px 0; }
.md-content .toc a { color: #555; }
.md-content .toc a:hover { color: #1E9FFF; }

/* 脚注 */
.md-content .footnotes { font-size: 14px; color: #666; border-top: 1px solid #eee; margin-top: 2em; padding-top: 1em; }

/* 标记/高亮 */
.md-content mark { background: #fff3cd; padding: 1px 4px; border-radius: 2px; }

/* 键盘按键 */
.md-content kbd { background: #f7f7f7; border: 1px solid #ccc; border-radius: 3px; box-shadow: 0 1px 0 #ccc; padding: 2px 6px; font-size: 0.9em; font-family: monospace; }

/* 数学公式 */
.md-content .katex-display { overflow-x: auto; padding: 8px 0; }
.md-content .katex { font-size: 1.1em; }
