/* 文章、創作內文的排版（文章頁、創作頁、CMS 預覽共用） */
.lx-prose { font-size: 16.5px; line-height: 1.85; color: var(--color-text); overflow-wrap: anywhere; }
.lx-prose > * + * { margin-top: 1em; }
.lx-prose p { margin: 0; }
.lx-prose h2, .lx-prose h3, .lx-prose h4, .lx-prose h5 { font-family: var(--font-heading); line-height: 1.25; margin: 1.8em 0 .4em; }
.lx-prose h2 { font-size: 30px; } .lx-prose h3 { font-size: 24px; } .lx-prose h4 { font-size: 20px; } .lx-prose h5 { font-size: 17px; }
.lx-prose a { color: var(--color-accent-700); text-underline-offset: 3px; }
.lx-prose strong { font-weight: 700; }
.lx-prose ul, .lx-prose ol { padding-left: 1.4em; margin-bottom: 0; }
.lx-prose li + li { margin-top: .3em; }
.lx-prose blockquote { margin: 1.4em 0; padding: .2em 0 .2em 1.1em; border-left: 3px solid var(--color-accent); color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.lx-prose code { font-family: ui-monospace, Menlo, monospace; font-size: .88em; background: color-mix(in srgb, var(--color-text) 7%, transparent); padding: .1em .35em; }
.lx-prose pre { background: #1d1f20; color: #eaeaea; padding: 14px 16px; overflow-x: auto; font-size: 13.5px; line-height: 1.6; }
.lx-prose pre code { background: none; padding: 0; color: inherit; }
.lx-prose hr { border: 0; border-top: 1px solid var(--color-divider); margin: 2em 0; }
.lx-prose figure { margin: 1.6em 0; }
.lx-prose figure img { display: block; max-width: 100%; height: auto; border: 1px solid var(--color-divider); }
.lx-prose figcaption { font-size: 13px; margin-top: 6px; color: color-mix(in srgb, var(--color-text) 58%, transparent); }
