/* ==========================================================
   文章排版主题与组件样式
   —— 预览时生效；复制/导出时由 exporter.js 递归内联成行内样式
   —— 硬性约束：禁止使用伪元素(::before/::after)，装饰一律用真实 DOM
   ========================================================== */

/* ===== 正文容器 ===== */
#article{
  --bg:#ffffff; --ink:#222222; --soft:#666666; --line:#d8d8d8; --accent:#8a1f1f;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;
  --body-font:"Microsoft YaHei","PingFang SC",sans-serif;
  --body-size:16px; --body-lh:1.85; --width:680px; --radius:8px;
  max-width:var(--width); margin:0 auto; background:var(--bg); color:var(--ink);
  font-family:var(--body-font); font-size:var(--body-size); line-height:var(--body-lh);
  padding:30px 26px; word-break:break-word;
}

/* ===== 标题 ===== */
#article h1,#article h2,#article h3,#article h4{
  font-family:var(--title-font); color:var(--accent); font-weight:700; line-height:1.35;
}
#article h1{font-size:23px;text-align:center;letter-spacing:1px;margin:6px 0 16px}
#article h2{font-size:19px;margin:26px 0 12px;padding-left:11px;border-left:4px solid var(--accent)}
#article h3{font-size:17px;margin:20px 0 8px;color:var(--ink)}
#article h4{font-size:15.5px;margin:16px 0 6px;color:var(--soft)}

/* ===== 段落与行内 ===== */
#article p{margin:0 0 16px;text-indent:2em}
#article.no-indent p{text-indent:0}
#article.justify p{text-align:justify}
#article strong{color:var(--accent);font-weight:700}
#article em{font-style:normal;color:var(--soft);border-bottom:1px solid var(--line)}
#article del{color:var(--soft)}
/* 4.1.2 合规：文字背景不用渐变，改为纯色半透明底 */
#article mark{background:rgba(255,214,0,.42);color:inherit;padding:0 2px;border-radius:2px}
#article code.ico{background:rgba(0,0,0,.07);padding:1px 6px;border-radius:4px;font-size:.9em;font-family:Consolas,Monaco,monospace}

/* 超链接（行内）：公众号正文外链大多不可点，但保留颜色与下划线用于版式表达 */
#article a.lnk{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent)}
#article a.lnk .lnk-ico{font-size:.85em;margin-left:2px}

/* ===== 引用 / 列表 ===== */
#article blockquote{margin:18px 0;padding:12px 16px;background:rgba(0,0,0,.04);
  border-left:4px solid var(--accent);color:var(--soft);font-size:15px}
#article blockquote p{text-indent:0;margin:0 0 8px}
#article blockquote p:last-child{margin-bottom:0}
#article ul,#article ol{margin:0 0 16px;padding-left:2.4em}
#article li{margin:6px 0;line-height:1.8}

/* ===== 图片 / 表格 / 代码 ===== */
#article img.pic{display:block;max-width:100%;margin:16px auto;border-radius:4px}
#article .pic-cap{text-align:center;color:var(--soft);font-size:13px;margin:-6px 0 16px}
#article table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
#article th,#article td{border:1px solid var(--line);padding:8px 10px;text-align:left}
#article th{background:rgba(0,0,0,.05);color:var(--accent);font-weight:700}
#article table.zebra tbody tr:nth-child(even){background:rgba(0,0,0,.025)}
#article pre.code{background:rgba(0,0,0,.05);border:1px solid var(--line);border-radius:6px;
  padding:14px 16px;overflow:auto;margin:16px 0}
#article pre.code code{font-family:Consolas,Monaco,monospace;font-size:13.5px;color:var(--ink);white-space:pre}
/* 代码语法高亮（静态着色，粘贴后依然有效） */
#article .tk{color:#b7265b;font-weight:700}
#article .ts{color:#2a9d5c}
#article .tc{color:#8a8a8a}
#article .tn{color:#c76b12}

/* ===== 分隔线 ===== */
#article hr.hr-simple{border:0;border-top:1px solid var(--line);margin:28px 0}
#article .hr-deco{text-align:center;color:var(--line);letter-spacing:10px;font-size:13px;margin:28px 0}
#article .hr-deco span{display:inline-block;background:var(--bg);padding:0 6px}
#article .hr-dot{text-align:center;margin:26px 0}
#article .hr-dot i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin:0 5px}

/* ===== 提示框 ===== */
#article .callout{border-radius:var(--radius);padding:13px 16px;margin:18px 0;font-size:.96em}
#article .callout .ctitle{font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:6px;font-family:var(--title-font)}
#article .callout p{text-indent:0;margin:0 0 8px}
#article .callout p:last-child{margin-bottom:0}
#article .callout.tip{background:rgba(46,204,113,.13);border-left:4px solid #2ecc71}
#article .callout.info{background:rgba(52,152,219,.13);border-left:4px solid #3498db}
#article .callout.warning{background:rgba(241,156,11,.15);border-left:4px solid #f39c0b}
#article .callout.danger{background:rgba(231,76,60,.13);border-left:4px solid #e74c3c}
#article .callout.success{background:rgba(39,174,96,.13);border-left:4px solid #27ae60}
#article .callout.note{background:rgba(149,165,166,.15);border-left:4px solid #95a5a6}

/* ===== 卡片 / 金句 / 首字下沉 ===== */
#article .card{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:20px 0;background:var(--bg)}
#article .card .chead{background:var(--accent);color:#fff;padding:10px 16px;font-weight:700;font-family:var(--title-font);font-size:15px}
#article .card .cbody{padding:14px 16px}
#article .card .cbody p{text-indent:0;margin:0 0 10px}
#article .card .cbody p:last-child{margin-bottom:0}
#article .quote{margin:22px 0;padding:18px 22px 18px 46px;background:rgba(0,0,0,.03);
  border-left:5px solid var(--accent);font-style:italic;font-size:1.05em;color:var(--soft);position:relative;border-radius:0 6px 6px 0}
/* 引号用 float + 负 margin，不依赖 position:absolute（微信会剥离定位属性） */
#article .quote .qm{float:left;margin-left:-34px;margin-top:-8px;font-size:2.6em;color:var(--accent);font-family:serif;line-height:1}
#article .quote p{text-indent:0;margin:0 0 8px}
#article .quote p:last-child{margin-bottom:0}
#article .hero{margin:24px 0;padding:22px 18px;text-align:center;font-size:1.28em;font-weight:700;
  color:var(--accent);line-height:1.7;background:rgba(0,0,0,.03);border-top:3px double var(--accent);border-bottom:3px double var(--accent)}
#article .lead{margin:0 0 16px}
#article .lead p{text-indent:0}
#article .lead .drop{float:left;font-size:3.1em;line-height:.82;font-weight:700;color:var(--accent);font-family:var(--title-font);margin:4px 8px 0 0}

/* ===== 题注 / 落款 / 注释 ===== */
#article .meta{text-align:center;color:var(--soft);font-size:13px;letter-spacing:2px;margin-bottom:22px}
#article .sign{text-align:right;color:var(--soft);font-size:14px;margin-top:26px;line-height:1.9}
#article .sign p{text-indent:0}
#article .annot{font-size:13.5px;color:var(--soft);border-left:3px solid var(--line);padding:8px 12px;margin:16px 0;background:rgba(0,0,0,.03);line-height:1.8}
#article .annot .annot-tag{color:var(--accent);font-weight:700;margin-right:4px}

/* ===== 超链接卡片（重点新增） ===== */
#article a.linkcard{display:flex;align-items:center;gap:12px;padding:13px 15px;margin:16px 0;
  border:1px solid var(--line);border-radius:var(--radius);background:rgba(0,0,0,.02);text-decoration:none;color:inherit}
#article .linkcard .lc-icon{width:38px;height:38px;flex:none;border-radius:8px;background:var(--accent);color:#fff;
  font-size:18px;display:flex;align-items:center;justify-content:center}
#article .linkcard .lc-main{flex:1;min-width:0}
#article .linkcard .lc-title{font-weight:700;font-size:15px;color:var(--ink);margin:0 0 3px;line-height:1.4}
#article .linkcard .lc-desc{font-size:13px;color:var(--soft);margin:0;line-height:1.5}
#article .linkcard .lc-arrow{flex:none;color:var(--accent);font-weight:700;font-size:16px}

/* ===== 按钮（重点新增） ===== */
#article .btnwrap{text-align:center;margin:22px 0}
#article a.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 30px;
  border-radius:24px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:1px}
#article .btnwrap.ghost a.btn{background:transparent;color:var(--accent);border:1px solid var(--accent)}

/* ===== 关注引导（涨粉组件，重点新增） ===== */
#article .follow{display:flex;align-items:center;gap:13px;padding:15px 16px;margin:24px 0;
  border-radius:10px;background:rgba(0,0,0,.03);border:1px dashed var(--line)}
#article .follow .fa-avatar{width:48px;height:48px;flex:none;border-radius:50%;background:var(--accent);
  color:#fff;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center}
#article .follow .fa-main{flex:1;min-width:0}
#article .follow .fa-name{font-weight:700;font-size:15px;color:var(--ink);line-height:1.4}
#article .follow .fa-tip{font-size:12.5px;color:var(--soft);margin-top:4px;line-height:1.5}

/* ===== 二维码卡 ===== */
#article .qrcode{display:flex;align-items:center;gap:14px;padding:15px;margin:22px 0;
  border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.02)}
#article .qrcode .qr-img{width:90px;height:90px;flex:none;border-radius:6px;object-fit:cover}
#article .qrcode .qr-main{flex:1;min-width:0}
#article .qrcode .qr-title{font-weight:700;font-size:15px;color:var(--ink);margin:0 0 4px}
#article .qrcode .qr-desc{font-size:13px;color:var(--soft);margin:0;line-height:1.6}

/* ===== 往期推荐 ===== */
#article .recommend{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:22px 0}
#article .recommend .rc-head{font-weight:700;font-size:15px;color:var(--accent);margin:0 0 6px;
  padding-bottom:7px;border-bottom:1px solid var(--line)}
#article .recommend a.rc-item{display:block;padding:9px 0;border-top:1px dashed var(--line);
  color:var(--ink);text-decoration:none;font-size:14.5px;line-height:1.6}
#article .recommend a.rc-item:first-of-type{border-top:0}
#article .recommend .rc-item .rc-mark{color:var(--accent);font-weight:700;margin-right:6px}

/* ===== 标签胶囊 ===== */
#article .tags{margin:16px 0;line-height:2.2}
#article .tags .tag{display:inline-block;padding:4px 13px;border-radius:14px;font-size:13px;
  color:var(--soft);background:rgba(0,0,0,.05);margin:0 7px 7px 0}
#article .tags.center{text-align:center}

/* ===== 图文卡 ===== */
#article .imgtxt{display:flex;gap:14px;align-items:center;padding:12px;margin:18px 0;
  border:1px solid var(--line);border-radius:10px}
#article .imgtxt .it-img{width:100px;height:74px;flex:none;border-radius:6px;object-fit:cover}
#article .imgtxt .it-main{flex:1;min-width:0}
#article .imgtxt .it-title{font-weight:700;font-size:15px;color:var(--ink);margin:0 0 5px;line-height:1.4}
#article .imgtxt .it-desc{font-size:13px;color:var(--soft);margin:0;line-height:1.6}

/* ===== 时间轴 ===== */
#article .timeline{margin:20px 0;padding-left:8px;border-left:2px solid var(--line)}
#article .timeline .tl-item{position:relative;padding:0 0 16px 20px}
/* 圆点用 inline-block + 负 margin，不依赖 position:absolute（微信会剥离定位） */
#article .timeline .tl-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);margin-left:-32px;margin-right:9px;vertical-align:middle}
#article .timeline .tl-time{display:inline-block;font-weight:700;color:var(--accent);font-size:13.5px;line-height:1.5}
#article .timeline .tl-text{font-size:14.5px;color:var(--ink);line-height:1.7;margin-top:2px}

/* ===== 对话气泡 ===== */
#article .chat{margin:16px 0}
#article .chat .ch-row{display:flex;align-items:flex-start;gap:9px;margin:10px 0}
#article .chat .ch-row.me{flex-direction:row-reverse}
#article .chat .ch-avatar{width:34px;height:34px;flex:none;border-radius:50%;background:var(--accent);
  color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}
#article .chat .ch-bubble{max-width:74%;padding:9px 13px;border-radius:10px;
  background:rgba(0,0,0,.06);font-size:14.5px;line-height:1.7;color:var(--ink)}
#article .chat .ch-row.me .ch-bubble{background:var(--accent);color:#fff}

/* ===== 赞赏 / 自由捐助 ===== */
#article .donate{margin:26px 0;padding:18px 18px 16px;text-align:center;
  border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.025)}
#article .donate .dn-head{font-weight:700;font-size:16px;color:var(--accent);margin-bottom:6px;font-family:var(--title-font)}
#article .donate .dn-desc{font-size:13.5px;color:var(--soft);line-height:1.75;margin-bottom:12px}
#article .donate .dn-qr{display:block;width:132px;height:132px;margin:0 auto 12px;border-radius:8px;object-fit:cover}
#article .donate .dn-amounts{margin:2px 0 8px;line-height:2.2}
#article .donate .dn-amt{display:inline-block;padding:5px 14px;margin:0 6px 6px;border-radius:18px;
  font-size:13.5px;font-weight:700;color:var(--accent);background:rgba(0,0,0,.05);border:1px solid var(--line)}
#article .donate .dn-tip{font-size:12px;color:var(--soft);line-height:1.7}

/* ===== 步骤流程 ===== */
#article .steps{margin:20px 0}
#article .steps .st-item{display:flex;align-items:flex-start;gap:11px;margin:0 0 14px}
#article .steps .st-item:last-child{margin-bottom:0}
#article .steps .st-no{width:26px;height:26px;flex:none;border-radius:50%;background:var(--accent);
  color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
#article .steps .st-main{flex:1;min-width:0}
#article .steps .st-title{font-weight:700;font-size:15px;color:var(--ink);line-height:1.5;margin-bottom:3px}
#article .steps .st-desc{font-size:13.5px;color:var(--soft);line-height:1.7;margin:0}

/* ===== 数据指标 ===== */
#article .metrics{display:flex;gap:10px;margin:20px 0;padding:14px 10px;
  border-radius:10px;background:rgba(0,0,0,.03)}
#article .metrics .metric{flex:1;min-width:0;text-align:center;padding:0 4px}
#article .metrics .m-num{font-size:24px;font-weight:700;color:var(--accent);line-height:1.2;
  font-family:var(--title-font);letter-spacing:-.5px}
#article .metrics .m-num .unit{font-size:13px;font-weight:400;margin-left:2px}
#article .metrics .m-label{font-size:12.5px;color:var(--soft);margin-top:4px;line-height:1.5}

/* ===== 问答 FAQ ===== */
#article .faq{border:1px solid var(--line);border-radius:10px;padding:4px 14px;margin:20px 0}
#article .faq .qa{padding:12px 0;border-bottom:1px dashed var(--line)}
#article .faq .qa:last-child{border-bottom:0}
#article .faq .q{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px}
#article .faq .q-ico{width:20px;height:20px;flex:none;border-radius:5px;background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}
#article .faq .q-t{font-weight:700;font-size:15px;color:var(--ink);line-height:1.6}
#article .faq .a{display:flex;align-items:flex-start;gap:8px}
#article .faq .a-ico{width:20px;height:20px;flex:none;border-radius:5px;background:rgba(0,0,0,.10);color:var(--soft);
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}
#article .faq .a-t{font-size:14.5px;color:var(--soft);line-height:1.75;text-align:justify}

/* ===== 人物介绍卡 ===== */
#article .profile{display:flex;gap:14px;align-items:center;padding:15px;margin:20px 0;
  border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.02)}
#article .profile .pf-avatar{width:62px;height:62px;flex:none;border-radius:50%;object-fit:cover;
  background:var(--accent);color:#fff;font-size:24px;font-weight:700;
  display:flex;align-items:center;justify-content:center}
#article .profile .pf-main{flex:1;min-width:0}
#article .profile .pf-name{font-weight:700;font-size:16px;color:var(--ink);line-height:1.4}
#article .profile .pf-role{font-size:12.5px;color:var(--accent);margin:3px 0 5px}
#article .profile .pf-desc{font-size:13px;color:var(--soft);line-height:1.65;margin:0}

/* ===== 公告条 ===== */
#article .notice{display:flex;align-items:center;gap:9px;padding:10px 13px;margin:18px 0;
  border-radius:8px;background:rgba(217,121,37,.10);border-left:4px solid #d97925}
#article .notice .n-tag{flex:none;font-size:11.5px;font-weight:700;color:#fff;background:#d97925;
  padding:2px 7px;border-radius:4px;letter-spacing:.5px}
#article .notice .n-text{flex:1;min-width:0;font-size:14px;color:var(--ink);line-height:1.65}

/* ===== 文字分隔线 ===== */
#article .divider{display:flex;align-items:center;gap:10px;margin:28px 0}
#article .divider .dv-line{flex:1;height:1px;background:var(--line)}
#article .divider .dv-txt{font-size:13.5px;color:var(--accent);font-weight:700;letter-spacing:1px}
#article .divider.dotted .dv-line{height:0;border-top:1px dashed var(--line);background:none}

/* ===== 勾选清单 ===== */
#article .checklist{margin:16px 0}
#article .checklist .ck{display:flex;align-items:flex-start;gap:9px;margin:9px 0}
#article .checklist .ck-ico{width:19px;height:19px;flex:none;border-radius:50%;
  border:1.5px solid var(--accent);color:var(--accent);font-size:11px;
  display:flex;align-items:center;justify-content:center;margin-top:3px}
#article .checklist .ck.done .ck-ico{background:var(--accent);color:#fff}
#article .checklist .ck-text{flex:1;min-width:0;font-size:14.5px;color:var(--ink);line-height:1.75}
#article .checklist .ck.done .ck-text{color:var(--soft);text-decoration:line-through}

/* ===== 重点句 ===== */
#article .keysent{margin:24px 0;padding:16px 20px;text-align:center;font-size:16.5px;font-weight:700;
  color:var(--accent);line-height:1.75;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);
  background:rgba(0,0,0,.025)}

/* ===== 双栏对比 ===== */
#article table.compare{margin:20px 0;font-size:14px}
#article table.compare th{text-align:center;font-size:14.5px}
#article table.compare th.ca{background:rgba(46,204,113,.16);color:#1e8449}
#article table.compare th.cb{background:rgba(231,76,60,.14);color:#c0392b}
#article table.compare td{line-height:1.7;vertical-align:top}
#article table.compare td.ck{width:88px;text-align:center;color:var(--accent);font-weight:700;
  background:rgba(0,0,0,.03)}
#article table.compare td .ci{display:block;margin:4px 0;line-height:1.6}
#article table.compare td .ci .cm{margin-right:5px;font-weight:700}

/* ===== 进度条 ===== */
#article .progress{margin:16px 0}
#article .progress .pg-row{margin:0 0 12px}
#article .progress .pg-row:last-child{margin-bottom:0}
#article .progress .pg-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
#article .progress .pg-name{font-size:14px;color:var(--ink);font-weight:600}
#article .progress .pg-val{font-size:13px;color:var(--accent);font-weight:700}
#article .progress .pg-track{height:9px;border-radius:5px;background:rgba(0,0,0,.09);overflow:hidden}
#article .progress .pg-bar{height:9px;border-radius:5px;background:var(--accent)}
/* 兼容不支持 overflow 的场景：bar 用 inline-block 也能显示 */
#article .progress .pg-bar{display:block}

/* ===== 评分星级 ===== */
#article .rate{margin:14px 0;font-size:15px;line-height:1.9}
#article .rate .stars{letter-spacing:2px;color:#e0b400;font-size:17px}
#article .rate .stars .off{color:rgba(0,0,0,.18)}
/* 半星：用半透明色表达，不依赖伪元素与定位 */
#article .rate .stars .half{color:rgba(224,180,0,.55)}
#article .rate .r-txt{color:var(--soft);font-size:13px;margin-left:8px}

/* ===== 免责声明 ===== */
#article .disclaimer{margin:22px 0;padding:12px 14px;font-size:12.5px;color:var(--soft);
  line-height:1.8;background:rgba(0,0,0,.03);border:1px dashed var(--line);border-radius:8px}
#article .disclaimer .dl-title{font-weight:700;color:var(--ink);margin-bottom:4px;font-size:13px}

/* ===== 徽章 ===== */
#article .badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
#article .badges .bd{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;
  font-size:13px;font-weight:700;line-height:1.4;background:var(--accent);color:#fff}
#article .badges .bd.green{background:#149e77}
#article .badges .bd.orange{background:#d97925}
#article .badges .bd.red{background:#d94a34}
#article .badges .bd.blue{background:#1a6fd4}
#article .badges .bd.gray{background:rgba(0,0,0,.35)}
#article .badges .bd.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}

/* ===== 双栏排版 ===== */
#article table.cols2{margin:18px 0;border:0;font-size:14px}
#article table.cols2 td{width:50%;border:0;padding:0 10px;vertical-align:top;line-height:1.75}
#article table.cols2 td:first-child{padding-left:0}
#article table.cols2 td:last-child{padding-right:0}
#article table.cols2 td p{text-indent:0;margin:0 0 8px}

/* ==========================================================
   主题库（CSS 变量驱动，切换 body class 即生效）
   ========================================================== */
body.theme-mao #article{--bg:#f5f1e8;--ink:#1f1b16;--soft:#5b5247;--line:#b08d57;--accent:#8a1f1f;
  --title-font:"FZXiaoBiaoSong-B05S","STZhongsong","SimSun",serif;--body-font:"SimSun","STSong","Noto Serif SC",serif}
body.theme-gov #article{--bg:#fff;--ink:#222;--soft:#444;--line:#c0202a;--accent:#c0202a;
  --title-font:"SimHei","Microsoft YaHei",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-min #article{--bg:#fff;--ink:#222;--soft:#666;--line:#ddd;--accent:#111;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-paper #article{--bg:#faf8f5;--ink:#2b2b2b;--soft:#5a5a5a;--line:#c9c2b6;--accent:#333;
  --title-font:"SimHei","Microsoft YaHei",sans-serif;--body-font:"Songti SC","SimSun",serif;--body-lh:1.95}
body.theme-fresh #article{--bg:#fbfaf5;--ink:#3a3a34;--soft:#7c8a72;--line:#a7b89a;--accent:#5b7a4b;
  --title-font:"STKaiti","KaiTi","SimSun",serif;--body-font:"Songti SC","STSong","SimSun",serif}
body.theme-biz #article{--bg:#fff;--ink:#1f2a37;--soft:#5b6b7d;--line:#2f6fb0;--accent:#1f5fa8;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-redbook #article{--bg:#fff;--ink:#2b2b2b;--soft:#8a8a8a;--line:#ff5a7a;--accent:#ff2d55;--width:660px;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-ink #article{--bg:#f3ede1;--ink:#23211c;--soft:#6b6253;--line:#9c3b2e;--accent:#9c3b2e;
  --title-font:"STKaiti","KaiTi",serif;--body-font:"STKaiti","KaiTi","SimSun",serif}
body.theme-tech #article{--bg:#10141c;--ink:#d7e3f0;--soft:#8aa0b8;--line:#1fb6c9;--accent:#1fe0d0;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-mint #article{--bg:#f4fbf8;--ink:#22322c;--soft:#5e7d70;--line:#8fd3bd;--accent:#149e77;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-warm #article{--bg:#fffaf3;--ink:#33291f;--soft:#7a6a58;--line:#e0b98c;--accent:#d97925;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-noble #article{--bg:#fbf9fd;--ink:#2e2438;--soft:#6d5f7d;--line:#b9a3cc;--accent:#7b4fa8;
  --title-font:"Microsoft YaHei","PingFang SC",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}
body.theme-dark #article{--bg:#1c1a17;--ink:#e9e2d2;--soft:#b7ad97;--line:#7a6336;--accent:#e0b964;
  --title-font:"SimHei","Microsoft YaHei",sans-serif;--body-font:"Microsoft YaHei","PingFang SC",sans-serif}

/* 暗色主题下中性背景微调（避免纯黑块在深色下过闷） */
body.theme-dark #article .callout,body.theme-tech #article .callout{background:rgba(255,255,255,.06)}
body.theme-dark #article .quote,body.theme-tech #article .quote{background:rgba(255,255,255,.05)}
body.theme-dark #article .hero,body.theme-tech #article .hero{background:rgba(255,255,255,.05)}
body.theme-dark #article pre.code,body.theme-tech #article pre.code{background:rgba(255,255,255,.06)}
body.theme-dark #article th,body.theme-tech #article th{background:rgba(255,255,255,.08)}
body.theme-dark #article mark{background:rgba(224,185,100,.35)}

/* ===== 整文对齐（仅预览与内联，不产生非标准 text-align） ===== */
#article.align-center p,#article.align-center h1,#article.align-center h2,
#article.align-center h3,#article.align-center h4{text-align:center;text-indent:0}
#article.align-right p{text-align:right;text-indent:0}
#article.align-left p{text-align:left}
