/* 正文排版 — 前台文章页与后台编辑器共用（编辑器所见即所得） */
.mce-content-body {
    font-family: "WX Song", "Noto Serif TC", "Songti TC", "PMingLiU", serif;
    font-size: 18px; line-height: 2; color: #1f1b16; background: #fffdf8;
    max-width: 780px; margin: 24px auto; padding: 10px 36px 60px;
}

.wx-content { font-size: 18px; line-height: 2; color: #1f1b16; overflow-wrap: anywhere; }
.wx-content p { margin: 0 0 1.1em; }
.wx-content h2, .mce-content-body h2 { font-family: "WX Dong", "WX Song", serif; font-weight: 400; font-size: 1.6em; letter-spacing: .1em; margin: 1.8em 0 .7em; line-height: 1.4; }
.wx-content h3, .mce-content-body h3 { font-size: 1.25em; margin: 1.6em 0 .6em; letter-spacing: .06em; }
.wx-content h4, .mce-content-body h4 { font-size: 1.08em; margin: 1.4em 0 .5em; }
.wx-content blockquote, .mce-content-body blockquote {
    margin: 1.6em 0; padding: .4em 1.4em; border-left: 3px solid #a3312a;
    background: rgba(239, 231, 214, .55); color: #3d362e;
}
.wx-content a { color: #a3312a; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.wx-content img, .mce-content-body img { max-width: 100%; height: auto; }
.wx-content figure, .mce-content-body figure { margin: 1.6em 0; }
.wx-content figcaption, .mce-content-body figcaption { text-align: center; font-size: .82em; color: #857a6c; margin-top: .5em; }
.wx-content hr, .mce-content-body hr { border: 0; text-align: center; margin: 2.4em 0; height: 1.4em; }
.wx-content hr::before, .mce-content-body hr::before { content: "◇　◇　◇"; color: #a8874c; letter-spacing: .4em; font-size: .9em; }
.wx-content ul, .wx-content ol { padding-left: 2em; margin: 0 0 1.1em; }
.wx-content table, .mce-content-body table { border-collapse: collapse; margin: 1.4em 0; font-size: .92em; }
.wx-content td, .wx-content th, .mce-content-body td, .mce-content-body th { border: 1px solid #dccfb8; padding: .5em .8em; }
.wx-content th { background: #efe7d6; }
.wx-table-wrap { overflow-x: auto; }
.wx-content iframe, .mce-content-body iframe { max-width: 100%; border: 0; }
.wx-content iframe[src*="youtube"], .wx-content iframe[src*="vimeo"], .wx-content iframe[src*="bilibili"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }

/* 图文混排（后台图片「樣式」下拉选择） */
.wx-left { float: left; margin: .3em 1.4em .8em 0; max-width: 46%; }
.wx-right { float: right; margin: .3em 0 .8em 1.4em; max-width: 46%; }
.wx-center { display: block; margin: 1.4em auto; }
.wx-full { display: block; width: 100%; margin: 1.6em 0; }
.wx-content::after { content: ""; display: block; clear: both; }

/* 中文排版样式（后台「格式」下拉） */
.wx-indent { text-indent: 2em; }
.wx-poem { text-align: center; letter-spacing: .12em; line-height: 2.3; margin: 1.6em 0; }
.wx-poem p { margin: 0; }
.wx-sign { text-align: right; color: #3d362e; margin-top: 1.6em; }
.wx-note { font-size: .86em; color: #857a6c; border-top: 1px solid #dccfb8; padding-top: .8em; margin-top: 2em; }
.wx-vertical {
    writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl;
    margin: 1.8em auto; padding: 1.2em 1em; max-height: 30em; max-width: 100%;
    line-height: 2.2; letter-spacing: .18em; overflow-x: auto;
    border-top: 1px solid #dccfb8; border-bottom: 1px solid #dccfb8;
}
.wx-vertical p { margin: 0 0 0 .6em; }
.wx-box { border: 1px solid #dccfb8; background: #fbf7ee; padding: 1.2em 1.4em; margin: 1.6em 0; box-shadow: inset 0 0 0 6px #fffdf8, inset 0 0 0 7px #e6dcc6; }
.wx-dropcap::first-letter { float: left; font-family: "WX Dong", serif; font-size: 3.2em; line-height: 1; margin: .05em .12em 0 0; color: #a3312a; }

@media (max-width: 640px) {
    .wx-content { font-size: 17px; }
    .wx-left, .wx-right { float: none; margin: 1em auto; max-width: 100%; display: block; }
}
