/* ============================================================
 * markdown-content.css —— Markdown 正文排版（可复用 widget）
 *
 * 来源：static/css/index_v2.css 第 2027-2324 行原样搬移（2026-10-18）
 * 作用域：仅 .assistant-message .message-content 内部
 * 覆盖：标题 / 段落 / 列表 / 表格 / 引用 / 代码块 / Callout / 图片
 *
 * 用法：
 *   <link rel="stylesheet" href="/static/widgets/markdown-content/markdown-content.css">
 *   DOM: <div class="assistant-message"><div class="message-content">...</div></div>
 * ============================================================ */

/* ================================================================
   ★ 2026-10-18 正文排版重构（对齐文档样板图规格，深色底适配）
   作用域：仅 .assistant-message .message-content 内部
   ================================================================ */

.assistant-message .message-content {
    padding: 20px 22px !important;
    border-radius: 14px !important;
    background: #1b2433 !important;
    color: #d6dee8 !important;
    line-height: 1.8 !important;
    font-size: 0.95rem !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
}

.assistant-message .message-content h1 {
    font-size: 1.65rem !important;
    margin: 30px 0 16px !important;
    color: #eaf0f7 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    border: none !important;
    padding: 0 !important;
}
.assistant-message .message-content h2 {
    font-size: 1.38rem !important;
    margin: 28px 0 14px !important;
    color: #e2e8f0 !important;
    font-weight: 700 !important;
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
}
.assistant-message .message-content h3 {
    font-size: 1.18rem !important;
    margin: 24px 0 12px !important;
    color: #dde5ee !important;
    font-weight: 650 !important;
    border: none !important;
}
.assistant-message .message-content h4 {
    font-size: 1.05rem !important;
    margin: 20px 0 10px !important;
    color: #d5dee8 !important;
    font-weight: 600 !important;
}
.assistant-message .message-content h1:first-child,
.assistant-message .message-content h2:first-child,
.assistant-message .message-content h3:first-child {
    margin-top: 4px !important;
}

.assistant-message .message-content p {
    margin: 0 0 14px 0 !important;
    line-height: 1.8 !important;
    color: #d6dee8 !important;
}
.assistant-message .message-content p:last-child { margin-bottom: 0 !important; }

.assistant-message .message-content ul {
    margin: 0 0 16px 0 !important;
    padding-left: 22px !important;
    list-style-type: disc !important;
}
.assistant-message .message-content ol {
    margin: 0 0 16px 0 !important;
    padding-left: 22px !important;
}
.assistant-message .message-content li {
    margin-bottom: 6px !important;
    line-height: 1.75 !important;
    color: #d6dee8 !important;
}
.assistant-message .message-content li:last-child { margin-bottom: 0 !important; }
.assistant-message .message-content li > p { margin: 0 !important; }

.assistant-message .message-content strong,
.assistant-message .message-content b {
    font-weight: 700 !important;
    color: #eef3f9 !important;
}

/* --- 行内代码（样板：浅灰底、圆角 4px、等宽略小于正文）--- */
.assistant-message .message-content code:not(pre code) {
    background: #26303f !important;
    color: #dbe4ef !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-size: 0.86em !important;
    font-family: 'SF Mono', 'Menlo', 'Consolas', 'Fira Code', monospace !important;
    border: none !important;
}

/* --- 代码块容器（样板：圆角 8-10px、无边框）--- */
.assistant-message .message-content .code-block-wrapper {
    margin: 14px 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid #2a3546 !important;
    background: #141b26 !important;
}

/* --- 代码块工具栏（左语言标签 + 右复制/下载）--- */
.assistant-message .message-content .code-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 14px !important;
    background: #1a2230 !important;
    color: #8b98a9 !important;
    font-size: 0.78rem !important;
    border-bottom: 1px solid #2a3546 !important;
}
.assistant-message .message-content .code-actions button {
    background: none !important;
    border: none !important;
    color: #8b98a9 !important;
    cursor: pointer !important;
    padding: 2px 8px !important;
    border-radius: 5px !important;
    font-size: 0.78rem !important;
    transition: all 0.15s !important;
}
.assistant-message .message-content .code-actions button:hover {
    background: #26303f !important;
    color: #e2e8f0 !important;
}

/* --- 代码文字（等宽 13-14px，行高 1.65）--- */
.assistant-message .message-content pre {
    margin: 0 !important;
    padding: 14px 16px !important;
    background: #141b26 !important;
    overflow-x: auto !important;
    border-radius: 0 !important;
    border: none !important;
}
.assistant-message .message-content pre code {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: 0.84rem !important;
    line-height: 1.65 !important;
    font-family: 'SF Mono', 'Menlo', 'Consolas', 'Fira Code', monospace !important;
    color: #e2e8f0 !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}

/* --- 表格（深色适配，对齐样板的轻量感）--- */
.assistant-message .message-content table {
    width: 100% !important;
    margin: 14px 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #2a3546 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    font-size: 0.88rem !important;
}
.assistant-message .message-content thead {
    background: #1a2230 !important;
}
.assistant-message .message-content th {
    padding: 9px 13px !important;
    text-align: left !important;
    font-weight: 600 !important;
    color: #dbe4ef !important;
    border-bottom: 1px solid #2a3546 !important;
    white-space: nowrap !important;
}
.assistant-message .message-content td {
    padding: 8px 13px !important;
    border-bottom: 1px solid #222c3a !important;
    color: #c9d4e2 !important;
    line-height: 1.6 !important;
}
.assistant-message .message-content tbody tr:last-child td {
    border-bottom: none !important;
}
.assistant-message .message-content tbody tr:nth-child(even) {
    background: #181f2b !important;
}
.assistant-message .message-content tbody tr:hover {
    background: #202a39 !important;
}

/* --- 引用块（左边框 + 淡底）--- */
.assistant-message .message-content blockquote {
 margin: 14px 0 !important;
 padding: 12px 16px !important;
 border-left:3px solid #3b82f6 !important;
 background: #1a2230 !important;
 border-radius: 0 6px 6px 0 !important;
 color: #a7b4c4 !important;
}
.assistant-message .message-content blockquote p {
 margin:0 !important;
 color: inherit !important;
}

/* --- 分隔线 --- */
.assistant-message .message-content hr {
 margin: 22px 0 !important;
 border: none !important;
 border-top:1px solid #2a3546 !important;
}

/* --- 链接 --- */
.assistant-message .message-content a {
 color: #6aa9f0 !important;
 text-decoration: underline !important;
 text-underline-offset:2px !important;
}
.assistant-message .message-content a:hover {
 color: #8fc0f5 !important;
}

/* --- 图片 --- */
.assistant-message .message-content img {
 max-width:100% !important;
 border-radius:8px !important;
 margin: 10px 0 !important;
}

/* white-space fix: message-content was pre-wrap, breaks paragraph spacing */
.assistant-message .message-content {
    white-space: normal !important;
}

/* hljs dark adaptation: original github.min.css is a light theme */
.assistant-message .message-content pre code.hljs,
.assistant-message .message-content .hljs {
    background: transparent !important;
    color: #c9d4e2 !important;
}
.assistant-message .message-content .hljs-doctag,
.assistant-message .message-content .hljs-keyword,
.assistant-message .message-content .hljs-template-tag,
.assistant-message .message-content .hljs-template-variable,
.assistant-message .message-content .hljs-type,
.assistant-message .message-content .hljs-variable.language_ {
    color: #ff7b9c !important;
}
.assistant-message .message-content .hljs-title,
.assistant-message .message-content .hljs-title.class_,
.assistant-message .message-content .hljs-title.function_ {
    color: #c792ea !important;
}
.assistant-message .message-content .hljs-attr,
.assistant-message .message-content .hljs-attribute,
.assistant-message .message-content .hljs-literal,
.assistant-message .message-content .hljs-number,
.assistant-message .message-content .hljs-operator,
.assistant-message .message-content .hljs-variable {
    color: #79c0ff !important;
}
.assistant-message .message-content .hljs-string,
.assistant-message .message-content .hljs-regexp,
.assistant-message .message-content .hljs-meta .hljs-string {
    color: #a5d6a7 !important;
}
.assistant-message .message-content .hljs-built_in,
.assistant-message .message-content .hljs-symbol {
    color: #ffab70 !important;
}
.assistant-message .message-content .hljs-comment,
.assistant-message .message-content .hljs-code,
.assistant-message .message-content .hljs-formula {
    color: #6e7d8f !important;
    font-style: italic !important;
}
.assistant-message .message-content .hljs-name,
.assistant-message .message-content .hljs-quote,
.assistant-message .message-content .hljs-selector-tag {
    color: #7ee787 !important;
}
.assistant-message .message-content .hljs-section {
    color: #79c0ff !important;
    font-weight: 700 !important;
}
.assistant-message .message-content .hljs-emphasis { font-style: italic !important; }
.assistant-message .message-content .hljs-strong { font-weight: 700 !important; }

.assistant-message .message-content pre {
 max-width: 100% !important;
 box-sizing: border-box !important;
}
.assistant-message .message-content .code-block-wrapper {
 max-width: 100% !important;
 box-sizing: border-box !important;
}
.assistant-message .message-content .code-block-wrapper pre code.hljs {
 padding: 0 !important;
 display: block !important;
 overflow-x: visible !important;
}
