.markdown-body {
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--color-text-secondary, #374151);
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4 {
    color: var(--color-text-heading, #111827);
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.3;
}

.markdown-body > :first-child {
    margin-top: 0;
}

.markdown-body h1 { font-size: 1.5em; border-bottom: 1px solid var(--color-border, #e5e7eb); padding-bottom: 0.3em; }
.markdown-body h2 { font-size: 1.25em; border-bottom: 1px solid var(--color-border, #e5e7eb); padding-bottom: 0.3em; }
.markdown-body h3 { font-size: 1.1em; }
.markdown-body h4 { font-size: 1em; }

.markdown-body p {
    margin: 0.75em 0;
}

.markdown-body strong {
    font-weight: 600;
    color: var(--color-text-heading, #111827);
}

.markdown-body em {
    font-style: italic;
}

.markdown-body ul,
.markdown-body ol {
    margin: 0.5em 0;
    padding-left: 1.5em;
}

.markdown-body li {
    margin: 0.25em 0;
}

.markdown-body code {
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 0.85em;
    padding: 0.15em 0.4em;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.05);
    color: var(--syntax-string);
}

.markdown-body pre {
    margin: 0.75em 0;
    padding: 0.75em 1em;
    border-radius: 6px;
    background-color: rgba(0, 0, 0, 0.04);
    border: 1px solid var(--color-border, #e5e7eb);
    overflow-x: auto;
}

.markdown-body pre code {
    padding: 0;
    background: none;
    color: inherit;
    font-size: 0.8em;
    line-height: 1.6;
}

.markdown-body blockquote {
    margin: 0.75em 0;
    padding: 0.25em 1em;
    border-left: 3px solid var(--color-border, #e5e7eb);
    color: var(--color-text-placeholder, #9ca3af);
}

.markdown-body table {
    border-collapse: collapse;
    margin: 0.75em 0;
    width: 100%;
}

.markdown-body th,
.markdown-body td {
    border: 1px solid var(--color-border, #e5e7eb);
    padding: 0.4em 0.75em;
    text-align: left;
    font-size: 0.85em;
}

.markdown-body th {
    font-weight: 600;
    background-color: rgba(0, 0, 0, 0.03);
}

.markdown-body a {
    color: #1d4ed8;
    text-decoration: underline;
}

.markdown-body hr {
    border: none;
    border-top: 1px solid var(--color-border, #e5e7eb);
    margin: 1.5em 0;
}

/* Dark mode */
:is(.dark) .markdown-body {
    color: var(--color-text-secondary, #d1d5db);
}

:is(.dark) .markdown-body strong,
:is(.dark) .markdown-body h1,
:is(.dark) .markdown-body h2,
:is(.dark) .markdown-body h3,
:is(.dark) .markdown-body h4 {
    color: var(--color-text-heading, #f3f4f6);
}

:is(.dark) .markdown-body code {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--syntax-string);
}

:is(.dark) .markdown-body pre {
    background-color: rgba(255, 255, 255, 0.04);
}

:is(.dark) .markdown-body th {
    background-color: rgba(255, 255, 255, 0.05);
}

:is(.dark) .markdown-body a {
    color: #60a5fa;
}
