/* 正文独立于官网布局：重置站点对后代元素的排版，再应用正文默认值。
 * inline style 优先于这些规则；图片高度除外，统一按原图比例随宽度缩放。
 * 仅保留编辑器支持且经服务端清洗的文章格式。
 * 首屏原文、链接、打印和无脚本阅读仍在原文档中。 */
.association-rich-text.prose :where(*) { all: revert; box-sizing: border-box; }
/* 协会正文共用排版：后台文章可视编辑与官网首屏/异步详情加载同一份规则。 */
.association-rich-text:is(.ql-editor, .ck-content, .prose) {
  font: 18px/2 "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;
  color: #222;
  text-align: left;
  /* 顶层忽略历史 HTML 序列化缩进，正文元素单独保留手动空白。 */
  white-space: normal;
  overflow-wrap: anywhere;
  counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8;
}
.association-rich-text:is(.ql-editor, .ck-content, .prose) :is(p,h1,h2,h3,h4,h5,h6,li,blockquote,td,th) { white-space: pre-wrap; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) p { margin: 0 0 20px; padding: 0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) :is(h1,h2,h3,h4,h5,h6) {
  font-family: inherit;
  font-weight: 600;
  font-synthesis: auto;
  color: inherit;
  line-height: 1.6;
  padding: 0;
  margin: 25px 0 12px;
}
.association-rich-text:is(.ql-editor, .ck-content, .prose) h1 { font-size: 2em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) h2 { font-size: 1.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) h3 { font-size: 1.17em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) h4 { font-size: 1em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) h5 { font-size: .83em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) h6 { font-size: .67em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-size-small { font-size: .75em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-size-large { font-size: 1.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-size-huge { font-size: 2.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-align-center { text-align: center; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-align-right { text-align: right; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-align-justify { text-align: justify; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-direction-rtl { direction: rtl; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-font-serif { font-family: Georgia, "Times New Roman", serif; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-font-monospace { font-family: Monaco, "Courier New", monospace; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) a { color: #268fdf; text-decoration: underline; text-underline-offset: 4px; }
/* 历史正文可能写死内联高度，必须覆盖它，避免手机端只缩小宽度而拉长图片。 */
.association-rich-text:is(.ql-editor, .ck-content, .prose) img { max-width: 100%; height: auto !important; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) blockquote { margin: 25px 0; padding: 18px 24px; border-left: 3px solid #b69864; background: #f5f6f3; font-style: italic; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) blockquote p:last-child { margin-bottom: 0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) :is(pre,.ql-code-block-container) { white-space: pre-wrap; font-family: monospace; font-size: .85em; color: #f8f8f2; background: #23241f; border: 0; border-radius: 3px; margin: 20px 0; padding: 8px 12px; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-code-block { padding: 0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) :is(ol,ul) { margin: 0 0 20px; padding: 0 0 0 1.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li { position: relative; padding: 0; }
/* Quill 2 使用 ol + data-list + 标记 span；源码中的普通 ul/ol 仍使用浏览器原生标记。 */
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list] { list-style: none; padding-left: 1.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li > .ql-ui { position: absolute; left: 0; top: 0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li > .ql-ui::before { position: absolute; left: -1.5em; width: 1.2em; margin: 0; text-align: right; white-space: nowrap; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=bullet] > .ql-ui::before { content: "\2022"; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered] { counter-increment: list-0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered] > .ql-ui::before { content: counter(list-0, decimal) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list]:not([class*="ql-indent-"]) { counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-1:not(.ql-direction-rtl) { padding-left: 3em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-1:not(.ql-direction-rtl) { padding-left: 4.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-1.ql-direction-rtl { padding-right: 3em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-1 { counter-increment: list-1; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-1 > .ql-ui::before { content: counter(list-1, lower-alpha) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-1 > .ql-ui { left: 3em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-1 { counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-2:not(.ql-direction-rtl) { padding-left: 6em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-2:not(.ql-direction-rtl) { padding-left: 7.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-2.ql-direction-rtl { padding-right: 6em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-2 { counter-increment: list-2; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-2 > .ql-ui::before { content: counter(list-2, lower-roman) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-2 > .ql-ui { left: 6em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-2 { counter-reset: list-3 list-4 list-5 list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-3:not(.ql-direction-rtl) { padding-left: 9em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-3:not(.ql-direction-rtl) { padding-left: 10.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-3.ql-direction-rtl { padding-right: 9em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-3 { counter-increment: list-3; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-3 > .ql-ui::before { content: counter(list-3, decimal) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-3 > .ql-ui { left: 9em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-3 { counter-reset: list-4 list-5 list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-4:not(.ql-direction-rtl) { padding-left: 12em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-4:not(.ql-direction-rtl) { padding-left: 13.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-4.ql-direction-rtl { padding-right: 12em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-4 { counter-increment: list-4; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-4 > .ql-ui::before { content: counter(list-4, lower-alpha) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-4 > .ql-ui { left: 12em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-4 { counter-reset: list-5 list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-5:not(.ql-direction-rtl) { padding-left: 15em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-5:not(.ql-direction-rtl) { padding-left: 16.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-5.ql-direction-rtl { padding-right: 15em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-5 { counter-increment: list-5; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-5 > .ql-ui::before { content: counter(list-5, lower-roman) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-5 > .ql-ui { left: 15em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-5 { counter-reset: list-6 list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-6:not(.ql-direction-rtl) { padding-left: 18em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-6:not(.ql-direction-rtl) { padding-left: 19.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-6.ql-direction-rtl { padding-right: 18em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-6 { counter-increment: list-6; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-6 > .ql-ui::before { content: counter(list-6, decimal) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-6 > .ql-ui { left: 18em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-6 { counter-reset: list-7 list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-7:not(.ql-direction-rtl) { padding-left: 21em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-7:not(.ql-direction-rtl) { padding-left: 22.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-7.ql-direction-rtl { padding-right: 21em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-7 { counter-increment: list-7; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-7 > .ql-ui::before { content: counter(list-7, lower-alpha) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-7 > .ql-ui { left: 21em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list].ql-indent-7 { counter-reset: list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-8:not(.ql-direction-rtl) { padding-left: 24em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-8:not(.ql-direction-rtl) { padding-left: 25.5em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-indent-8.ql-direction-rtl { padding-right: 24em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-8 { counter-increment: list-8; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li[data-list=ordered].ql-indent-8 > .ql-ui::before { content: counter(list-8, lower-roman) ". "; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) li.ql-indent-8 > .ql-ui { left: 24em; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-white { color: #fff; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-white { background-color: #fff; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-black { color: #000; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-black { background-color: #000; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-red { color: #e60000; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-red { background-color: #e60000; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-orange { color: #f90; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-orange { background-color: #f90; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-yellow { color: #ff0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-yellow { background-color: #ff0; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-green { color: #008a00; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-green { background-color: #008a00; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-blue { color: #06c; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-blue { background-color: #06c; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-color-purple { color: #93f; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) .ql-bg-purple { background-color: #93f; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) table { border-collapse: collapse; display: block; table-layout: auto; width: auto; max-width: 100%; overflow-x: auto; margin: 24px 0; font-size: 14px; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) :is(td,th) { border: 1px solid #d6e0e5; padding: 10px 14px; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) th { background: #eff4f5; text-align: left; }
.association-rich-text:is(.ql-editor, .ck-content, .prose) caption { color: #7e8f98; font-size: 12px; padding-bottom: 8px; }

/* CKEditor 标准内容结构，与编辑时的图片、表格及空段落保持一致。 */
.association-rich-text:is(.ck-content, .prose) { --ck-content-font-family: inherit; --ck-content-font-size: 18px; --ck-content-line-height: 2; }
.association-rich-text:is(.ck-content, .prose) p:empty::after { content: "\00a0"; }
/* 50px 与 CKEditor 图片内容的最小宽度一致，防止很小百分比在官网变成另一种尺寸。 */
.association-rich-text:is(.ck-content, .prose) figure.image { display: table; clear: both; margin: 1em auto; min-width: 50px; max-width: 100%; text-align: center; }
.association-rich-text:is(.ck-content, .prose) figure.image img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; }
.association-rich-text:is(.ck-content, .prose) figure.image_resized { display: block; box-sizing: border-box; }
.association-rich-text:is(.ck-content, .prose) figure.image-style-align-left { float: left; clear: none; margin: 0 1.5em 1em 0; }
.association-rich-text:is(.ck-content, .prose) figure.image-style-align-right { float: right; clear: none; margin: 0 0 1em 1.5em; }
.association-rich-text:is(.ck-content, .prose) figure.image.image-style-align-center { display: block; float: none; margin-left: auto; margin-right: auto; }
/* 图片独占一行的左右对齐，与浮动环绕类分别维护，兼容早期类名。 */
.association-rich-text:is(.ck-content, .prose) figure.image:is(.image-style-block-align-left,.image-style-align-block-left) { float: none; margin-left: 0; margin-right: auto; }
.association-rich-text:is(.ck-content, .prose) figure.image:is(.image-style-block-align-right,.image-style-align-block-right) { float: none; margin-left: auto; margin-right: 0; }
.association-rich-text:is(.ck-content, .prose) figcaption { display: table-caption; caption-side: bottom; padding: .5em; text-align: center; font-size: .85em; background: #f5f5f5; color: inherit; border: 0; }
.association-rich-text:is(.ck-content, .prose) figure.table { display: table; width: auto; max-width: 100%; margin: 1em auto; overflow: auto; }
.association-rich-text:is(.ck-content, .prose) figure.table table { display: table; width: 100%; margin: 0; font-size: inherit; }
/* 覆盖编辑器内置表格的深层选择器，内联单元格属性仍有更高优先级。 */
.association-rich-text:is(.ck-content, .prose) figure.table:not(.layout-table) > table { border: 1px solid #d6e0e5; border-spacing: 0; }
.association-rich-text:is(.ck-content, .prose) figure.table:not(.layout-table) > table > :is(thead,tbody,tfoot) > tr > :is(td,th) { border: 1px solid #d6e0e5; padding: 10px 14px; min-width: 2em; }
.association-rich-text:is(.ck-content, .prose) figure.table:not(.layout-table) > table > :is(thead,tbody,tfoot) > tr > th { background: #eff4f5; text-align: left; }
.association-rich-text:is(.ck-content, .prose) figure.table :is(td,th) > p:last-child { margin-bottom: 0; }
.association-rich-text:is(.ck-content, .prose) figure.table th { font-weight: bold; }
.association-rich-text:is(.ck-content, .prose) figure.table-style-align-left { float: left; margin-right: 1.5em; }
.association-rich-text:is(.ck-content, .prose) figure.table-style-align-right { float: right; margin-left: 1.5em; }
.association-rich-text:is(.ck-content, .prose) figure.table-style-align-center { margin-left: auto; margin-right: auto; }
.association-rich-text:is(.ck-content, .prose) figure.table-style-block-align-left { margin-left: 0; margin-right: auto; }
.association-rich-text:is(.ck-content, .prose) figure.table-style-block-align-right { margin-left: auto; margin-right: 0; }
.association-rich-text:is(.ck-content, .prose) table.ck-table-resized { table-layout: fixed; }
.association-rich-text:is(.ck-content, .prose) code { font-family: monospace; white-space: pre-wrap; }
.association-rich-text:is(.ck-content, .prose) :not(pre) > code { background-color: rgba(199,199,199,.3); border-radius: 2px; padding: .15em; }
.association-rich-text:is(.ck-content, .prose) pre > code { background: none; padding: 0; border-radius: 0; }
.association-rich-text:is(.ck-content, .prose) hr { display: block; vertical-align: middle; width: 100%; height: 2px; background: #d6e0e5; border: 0; margin: 15px 0; }
.association-rich-text.prose::after { content: ""; display: block; clear: both; }
