.prose { max-width: 880px; font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; font-size: 16px; color: var(--ink, #233654); overflow-wrap: anywhere; overflow-x: auto; line-height: 1.85; }
.prose, .prose * { box-sizing: border-box; }
.prose p, .prose ul, .prose ol, .prose blockquote { margin-block: 16px; }
.prose h2 { font-size: 24px; line-height: 1.3; margin-block: 32px 16px; }
.prose h3 { font-size: 20px; line-height: 1.4; margin-block: 24px 12px; }
.prose a { color: var(--primary, #2e4a7c); text-decoration: underline; text-underline-offset: 3px; }
.prose img { display: block; max-width: 100%; height: auto; margin-block: 24px; border-radius: 12px; }
.prose img.emoji { display: inline; width: 1em; height: 1em; margin: 0 .07em; border-radius: 0; vertical-align: -.1em; }
.prose blockquote { margin-inline: 0; border-left: 3px solid var(--primary, #2e4a7c); padding-left: 20px; color: var(--muted, #5e6d82); }
.prose table { width: 100%; margin-block: 24px; border-collapse: collapse; font-size: .95em; line-height: 1.6; }
.prose th, .prose td { padding: 12px 16px; border: 1px solid var(--line, #e1e7f0); text-align: left; vertical-align: top; }
.prose tbody > tr:nth-child(even) { background: #f7f9fc; }
.prose th { background: var(--surface, #edf2f9); font-weight: 600; }
.prose thead > tr > *, .prose table:not(:has(> thead)) > tbody:first-of-type > tr:first-child > * { background: var(--surface, #edf2f9); font-weight: 600; }
.prose caption { padding-bottom: 10px; color: var(--muted, #5e6d82); text-align: left; }
@media (max-width: 767px) {
    .prose { font-size: 14px; }
    .prose h2 { font-size: 21px; }
}
