/* ==========================================================================
   966SEO 文章页：面包屑 / 文章头 / 目录 / 楼层（作者栏+正文）/ 快速回复 / 相关
   依赖 site.css 的 token
   ========================================================================== */
/* ==========================================================
   文章页（论坛体）
   左作者栏 176px + 右楼层正文；楼层整体是一张卡
   ========================================================== */
.th{max-width:1240px;margin:0 auto}
.prog{position:fixed;top:0;left:0;height:2px;z-index:70;width:0;
  background:linear-gradient(90deg,var(--a1),var(--accent));transition:width .1s linear}

/* ——— 顶部：单行面包屑 ——— */
.th-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding:0 2px;
  font-family:var(--mono);font-size:10.5px;color:var(--fg3);letter-spacing:.04em}
.th-crumb a{transition:.16s}
.th-crumb a:hover{color:var(--accent)}
.th-crumb i{font-style:normal;opacity:.3;font-size:11px;margin:0 -1px}

/* ——— 文章头：大标题 → 摘要 → 一行元信息（操作收在右端） ——— */
.th-hd{margin-top:24px;padding:0 2px 18px;border-bottom:1px solid var(--line)}
.th-hd h1{font-size:clamp(25px,3.2vw,38px);font-weight:900;letter-spacing:-.012em;line-height:1.34;
  text-wrap:balance;max-width:100%}
.th-hd .dek{font-size:13.8px;color:var(--fg2);line-height:1.9;margin-top:16px;max-width:100%;text-wrap:pretty}
.th-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:17px;
  font-family:var(--mono);font-size:10px;color:var(--fg3);letter-spacing:.03em}
.th-bar .who{display:flex;align-items:center;gap:7px}
.th-bar .who .av{width:22px;height:22px;border-radius:7px;font-size:9.5px}
.th-bar .who b{font-family:var(--sans);font-size:12px;font-weight:800;color:var(--fg);letter-spacing:-.01em}
.th-bar .gp{font-family:var(--sans);font-size:8.5px;font-weight:750;color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 5px;border-radius:4px;letter-spacing:.02em}
.th-bar .dot{width:2.5px;height:2.5px;border-radius:50%;background:var(--line2);flex:none}
.th-bar .n b{font-family:var(--sans);font-size:11.5px;font-weight:800;color:var(--fg);
  letter-spacing:-.02em;margin-right:2px}
.th-bar .acts{margin-left:auto;display:flex;align-items:center;gap:6px}
.th-bar .icb{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;cursor:pointer;
  background:transparent;border:1px solid color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg2);transition:.18s}
.th-bar .icb:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,transparent);
  background:color-mix(in srgb,var(--accent) 8%,transparent)}
.th-bar .icb svg{width:14px;height:14px}
@media(max-width:640px){
  .th-bar .gp,.th-bar .badge{display:none}
  .th-bar .acts{width:100%;margin-left:0;justify-content:flex-end;margin-top:2px}
}

/* 底部翻页（沿用盒状分页） */
.th-pg{display:flex;align-items:center;gap:5px;margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--fg3)}
.th-pg a{display:grid;place-items:center;min-width:29px;height:29px;padding:0 9px;border-radius:8px;
  background:var(--glass);border:1px solid color-mix(in srgb,var(--fg) 9%,transparent);color:var(--fg2);transition:.16s}
.th-pg a:hover{color:var(--fg);border-color:color-mix(in srgb,var(--fg) 22%,transparent)}
.th-pg a.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800}
.th-pg .n{font-family:var(--mono);font-size:10px;letter-spacing:.06em}

/* ——— 目录条 ——— */
.tp-toc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:16px;padding:11px 14px;border-radius:13px;
  background:color-mix(in srgb,var(--fg) 3.2%,transparent);border:1px solid var(--line)}
.tp-toc .lb{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--fg3);font-weight:700;margin-right:4px}
.tp-toc a{font-size:11.6px;color:var(--fg2);padding:4px 9px;border-radius:7px;transition:.16s;white-space:nowrap}
.tp-toc a:hover{background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg)}
.tp-toc a.on{background:var(--accent);color:#fff;font-weight:700}

/* ——— 楼层 ——— */
.floors{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.floor{display:grid;grid-template-columns:176px minmax(0,1fr);overflow:hidden;border-radius:17px;
  background:var(--glass);border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);
  box-shadow:var(--sh),inset 0 1px 0 var(--hi);transition:.22s}
.floor:hover{border-color:color-mix(in srgb,var(--fg) 14%,transparent);box-shadow:var(--shl),inset 0 1px 0 var(--hi)}
@media(max-width:820px){.floor{grid-template-columns:1fr}}

/* 左：作者栏 */
.fl-side{position:relative;padding:18px 16px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;
  text-align:center;border-right:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),color-mix(in srgb,var(--fg) 2.2%,transparent) 62%,color-mix(in srgb,var(--fg) 3.4%,transparent))}
@media(max-width:820px){
  .fl-side{flex-direction:row;align-items:center;text-align:left;gap:11px;padding:11px 14px;border-right:none;
    border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 9%,transparent),color-mix(in srgb,var(--fg) 2.6%,transparent))}
}
/* 暗色：左栏比正文区略亮一档，避免出现一块"更黑"的断层 */
[data-theme=dark] .fl-side{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 58%,rgba(255,255,255,.032))}
@media(max-width:820px){
  [data-theme=dark] .fl-side{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
}
.fl-av{position:relative;width:74px;height:74px;border-radius:17px;flex:none;display:grid;place-items:center;
  font-size:26px;font-weight:900;color:#080b14;letter-spacing:-.015em;
  background:linear-gradient(140deg,var(--a1),var(--a2) 54%,var(--a3));
  box-shadow:0 8px 22px -10px color-mix(in srgb,var(--a2) 72%,transparent),inset 0 1px 0 rgba(255,255,255,.6);
  border:2px solid var(--panel)}
@media(max-width:820px){.fl-av{width:44px;height:44px;border-radius:12px;font-size:16px}}
.fl-av .dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;
  background:#22c55e;border:2px solid var(--panel)}
.fl-av .dot.off{background:var(--fg3)}
.fl-info{min-width:0}
.fl-n{display:block;font-size:13.4px;font-weight:820;letter-spacing:-.025em;line-height:1.3}
.fl-n:hover{color:var(--accent)}
.fl-g{margin-top:5px;display:inline-flex;align-items:center;gap:4px;height:17px;padding:0 6px;border-radius:4px;
  font-size:9px;font-weight:800;letter-spacing:.02em;
  background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.fl-g.vip{background:color-mix(in srgb,var(--a3) 26%,transparent);color:color-mix(in srgb,var(--a3) 34%,#080b14)}
.fl-g.mem{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg3)}
.fl-st{margin-top:7px;font-family:var(--mono);font-size:9.5px;color:var(--fg2);line-height:1.7;letter-spacing:.02em}
.fl-st b{color:var(--fg2);font-weight:700}
.fl-msg{margin-top:9px;display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 9px;border-radius:7px;
  font-size:10.5px;font-weight:650;color:var(--fg2);border:1px dashed color-mix(in srgb,var(--fg) 20%,transparent);
  transition:.16s}
.fl-msg:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 52%,transparent);
  background:color-mix(in srgb,var(--accent) 6%,transparent)}
.fl-msg svg{width:11px;height:11px}
@media(max-width:820px){.fl-st,.fl-msg{display:none}}

/* 右：楼层主体 */
.fl-main{display:flex;flex-direction:column;min-width:0}
.fl-bar{display:flex;align-items:center;gap:11px;height:37px;padding:0 16px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--fg) 5.5%,transparent)}
.fl-no{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--fg3);letter-spacing:.04em}
.floor.lz .fl-no{color:var(--accent)}
.fl-tag{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:4px;font-size:9px;font-weight:800;letter-spacing:.02em}
.fl-tag.lz{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.fl-tag.sf{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg2)}
.fl-tag.hot{background:color-mix(in srgb,var(--a3) 30%,transparent);color:color-mix(in srgb,var(--a3) 30%,#080b14)}
.fl-t{font-family:var(--mono);font-size:9.5px;color:var(--fg3);letter-spacing:.03em}
.fl-bar .lk{font-family:var(--mono);font-size:9.5px;color:var(--fg3);letter-spacing:.03em;cursor:pointer;transition:.15s}
.fl-bar .lk:hover{color:var(--accent)}
.fl-bar .rt{margin-left:auto;display:flex;align-items:center;gap:10px}
.fl-bar .rt .lk{display:inline-flex;align-items:center;gap:4px}
.fl-bar .rt svg{width:10px;height:10px}

.fl-body{padding:22px 26px 20px;flex:1}
@media(max-width:820px){.fl-body{padding:16px 15px 14px}}
.fl-body.prose{font-size:14.9px}
.fl-body.prose>*+*{margin-top:19px}
.fl-body .lead{font-size:15.6px;color:var(--fg);line-height:1.85;font-weight:520}
.fl-sig{margin-top:22px;padding-top:13px;border-top:1px dashed var(--line2);font-size:11.5px;color:var(--fg3);line-height:1.7}
.fl-sig b{color:var(--fg2);font-weight:700}

.fl-foot{display:flex;align-items:center;gap:12px;padding:9px 16px;flex-wrap:wrap;
  border-top:1px solid var(--line);background:color-mix(in srgb,var(--fg) 2.6%,transparent)}
.fl-foot .lb{font-family:var(--mono);font-size:9px;color:var(--fg3);letter-spacing:.08em}
.fl-foot .ops{margin-left:auto;display:flex;align-items:center;gap:13px}
.fl-foot .ops a,.fl-foot .ops button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;
  font-size:11px;color:var(--fg3);transition:.15s}
.fl-foot .ops a:hover,.fl-foot .ops button:hover{color:var(--accent)}
.fl-foot .ops svg{width:12px;height:12px}
.fl-foot .ops .dk{color:var(--accent);font-weight:700}

/* 图 1 · 对比条形图 */
.barchart{padding:18px 20px 16px;border-radius:14px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--fg) 1.8%,transparent)}
.barchart .bc-h{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--fg3);margin-bottom:15px}
.bc-row{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:center;margin-bottom:15px}
.bc-row:last-child{margin-bottom:0}
.bc-lb{font-size:11.8px;color:var(--fg2);line-height:1.4;font-weight:600}
.bc-bars{display:flex;flex-direction:column;gap:6px}
.bc-line{display:grid;grid-template-columns:1fr 42px;gap:11px;align-items:center}
.bc-b{position:relative;height:13px;border-radius:4px;background:color-mix(in srgb,var(--fg) 5.5%,transparent)}
.bc-b i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;width:var(--w);transition:width .6s cubic-bezier(.22,1,.36,1)}
.bc-b.up i{background:linear-gradient(90deg,color-mix(in srgb,var(--a1) 68%,var(--accent)),var(--accent))}
.bc-b.dn i{background:color-mix(in srgb,var(--fg) 24%,transparent)}
.bc-v{font-family:var(--mono);font-size:10px;color:var(--fg3);text-align:right;letter-spacing:-.01em}
.bc-v.up{color:var(--accent);font-weight:800}
.bc-v b{color:var(--fg);font-weight:800}
.bc-legend{display:flex;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:9px;color:var(--fg3);letter-spacing:.04em}
.bc-legend span{display:inline-flex;align-items:center;gap:6px}
.bc-legend i{width:14px;height:7px;border-radius:2px;display:block}


/* ——— 提示框 ——— */
.fl-body .callout{margin-top:22px;padding:15px 17px 16px;border-radius:12px;
  background:color-mix(in srgb,var(--accent) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 19%,transparent);
  border-left:3px solid var(--accent)}
.fl-body .callout .ch2{font-family:var(--mono);font-size:10px;font-weight:800;color:var(--accent);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.fl-body .callout p{font-size:13.8px;line-height:1.8;color:var(--fg2);margin:0}
[data-theme=dark] .fl-body .callout{background:color-mix(in srgb,var(--accent) 13%,transparent);
  border-color:color-mix(in srgb,var(--accent) 34%,transparent);border-left-color:var(--accent)}

/* ——— 代码复制按钮 ——— */
.fl-body pre{padding-right:64px}
.copy-btn{position:absolute;top:10px;right:10px;height:23px;padding:0 9px;border-radius:6px;
  border:1px solid var(--line2);background:var(--panel);color:var(--fg3);cursor:pointer;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;opacity:.55;transition:.18s;z-index:2}
.fl-body pre:hover .copy-btn{opacity:1}
.copy-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 46%,transparent)}

/* ——— 引用回复 */
.quote{margin-top:4px;padding:11px 14px;border-radius:11px;font-size:12.6px;line-height:1.72;color:var(--fg2);
  background:color-mix(in srgb,var(--fg) 3.6%,transparent);border-left:2.5px solid color-mix(in srgb,var(--fg) 22%,transparent)}
.quote .n{font-weight:800;color:var(--fg);margin-right:5px}

/* 老论坛那种 ******* 装饰线 → 三菱形 */
.dia{display:flex;align-items:center;justify-content:center;gap:7px;margin:26px 0}
.dia i{width:4px;height:4px;background:color-mix(in srgb,var(--accent) 52%,transparent);transform:rotate(45deg)}
.dia::before,.dia::after{content:"";height:1px;background:var(--line2);width:min(120px,22%)}

/* 附件条 */
.attach{display:flex;align-items:center;gap:11px;margin-top:18px;padding:11px 14px;border-radius:11px;
  border:1px dashed color-mix(in srgb,var(--fg) 17%,transparent);background:color-mix(in srgb,var(--fg) 2.4%,transparent);font-size:12px}
.attach .ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-family:var(--mono);font-size:9px;font-weight:800}
.attach b{display:block;font-size:12.2px;color:var(--fg);font-weight:700}
.attach span{font-family:var(--mono);font-size:9.5px;color:var(--fg3)}
.attach .dl{margin-left:auto}

/* 文章封面 */
.th-cover{margin:20px 0 4px;border-radius:18px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);box-shadow:var(--sh);background:var(--bg3)}
.th-cover img{display:block;width:100%;max-height:460px;object-fit:cover}

/* ——— 快速回复 ——— */
.qr{margin-top:16px;padding:20px 22px;border-radius:17px}
.qr-h{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.qr-h h3{font-size:13.6px;font-weight:850;letter-spacing:-.02em}
.qr-h .lb{font-family:var(--mono);font-size:9px;color:var(--fg3);letter-spacing:.1em}
.qr-box{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.qr-box>.av{width:44px;height:44px;border-radius:14px;font-size:15px;line-height:1}
.qr-in{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:12px;
  overflow:hidden;background:var(--panel);transition:.18s}
.qr-in:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.qr-in textarea{display:block;width:100%;min-height:112px;padding:13px 15px;border:none;outline:none;background:none;
  resize:vertical;font-family:inherit;font-size:13.2px;line-height:1.75;color:var(--fg)}
.qr-in textarea::placeholder{color:var(--fg3)}
.qr-ft{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--fg) 2.4%,transparent)}
.qr-ft .em{display:flex;gap:2px}
.qr-ft .em button{all:unset;cursor:pointer;width:23px;height:23px;display:grid;place-items:center;border-radius:5px;
  font-family:var(--mono);font-size:10px;color:var(--fg3)}
.qr-ft .em button:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}
.qr-ft .hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--mono);font-size:9.5px;color:var(--fg3)}
.qr-ft .btn{margin-left:auto;flex:none}

/* ——— 相关主题 ——— */
.rel-h{display:flex;align-items:baseline;gap:12px;margin:32px 2px 14px}
.rel-h h2{font-size:16.5px;font-weight:880;letter-spacing:-.012em}
.rel-h .ln{flex:1;height:1px;background:var(--line2)}
.rel-h .cnt{font-family:var(--mono);font-size:9.5px;color:var(--fg3);letter-spacing:.1em}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:760px){.rel{grid-template-columns:1fr}}
.rel a{padding:15px 16px;border-radius:14px;background:var(--glass);
  border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);box-shadow:var(--sh);transition:.2s cubic-bezier(.22,1,.36,1)}
.rel a:hover{transform:translateY(-2px);box-shadow:var(--shl);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}
.rel .c{font-family:var(--mono);font-size:9px;color:var(--accent);letter-spacing:.1em;margin-bottom:7px}
.rel h4{font-size:13.4px;font-weight:780;line-height:1.5;letter-spacing:-.02em}
.rel .m{font-family:var(--mono);font-size:9.5px;color:var(--fg3);margin-top:8px}

/* ——— 暗色可读性补丁 ——— */
[data-theme=dark] .fl-st,
[data-theme=dark] .fl-t,
[data-theme=dark] .fl-no,
[data-theme=dark] .fl-bar .lk,
[data-theme=dark] .fl-foot .lb{color:var(--fg2)}
[data-theme=dark] .fl-g{background:color-mix(in srgb,var(--accent) 28%,transparent);
  color:color-mix(in srgb,var(--accent) 38%,#fff)}
[data-theme=dark] .fl-g.vip{background:color-mix(in srgb,var(--a3) 24%,transparent);color:color-mix(in srgb,var(--a3) 72%,#fff)}
[data-theme=dark] .fl-g.mem{background:rgba(255,255,255,.1);color:var(--fg2)}
[data-theme=dark] .fl-msg{border-color:rgba(255,255,255,.26);color:var(--fg2)}
[data-theme=dark] .fl-tag.sf{background:rgba(255,255,255,.1);color:var(--fg2)}
[data-theme=dark] .fl-tag.lz{background:color-mix(in srgb,var(--accent) 30%,transparent);
  color:color-mix(in srgb,var(--accent) 40%,#fff)}
[data-theme=dark] .fl-bar{background:rgba(255,255,255,.045)}
[data-theme=dark] .fl-foot{background:rgba(255,255,255,.028)}
[data-theme=dark] .bc-b{background:rgba(255,255,255,.1)}
[data-theme=dark] .bc-v{color:var(--fg2)}
[data-theme=dark] .bc-v.up{color:color-mix(in srgb,var(--accent) 46%,#fff)}
[data-theme=dark] .barchart{background:rgba(255,255,255,.03)}
[data-theme=dark] .quote{background:rgba(255,255,255,.055);border-left-color:rgba(255,255,255,.3)}
[data-theme=dark] .tp-toc{background:rgba(255,255,255,.045)}
[data-theme=dark] .attach{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2)}
/* ——— Bladel 化后补充：按钮重置 / 嵌套回复 / 回复提示 ——— */
.fl-bar .lk,.fl-foot .lk{all:unset;display:inline-flex;align-items:center;gap:4px;
  font-family:var(--mono);font-size:9.5px;color:var(--fg3);letter-spacing:.03em;cursor:pointer;transition:.15s}
.fl-bar .lk:hover,.fl-foot .lk:hover{color:var(--accent)}

.th-bar .icb.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 46%,transparent);
  background:color-mix(in srgb,var(--accent) 10%,transparent)}

/* 嵌套回复 */
.fl-reps{margin:0 26px 14px;padding-left:14px;border-left:2px solid var(--line)}
@media(max-width:820px){.fl-reps{margin:0 15px 12px}}
.fl-rep{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:11px 0}
.fl-rep+.fl-rep{border-top:1px solid var(--line)}
.fl-rep .av{width:26px;height:26px;font-size:10px;border-radius:8px}
.fl-rep-b{min-width:0}
.fl-rep-h{display:flex;align-items:center;gap:9px;margin-bottom:5px;
  font-family:var(--mono);font-size:9.5px;color:var(--fg3)}
.fl-rep-h a{font-family:var(--sans);font-size:11.5px;font-weight:750;color:var(--fg2)}
.fl-rep-h a:hover{color:var(--accent)}
.fl-rep .prose{font-size:13.4px;line-height:1.78}
.fl-rep .prose>*+*{margin-top:9px}

/* 回复框：布局统一由上方 .qr-box 网格控制，这里只补充提示与空态 */
.qr-hint{margin-bottom:8px;font-size:11.5px;font-weight:650;color:var(--accent)}
.qr-hint a{text-decoration:underline}
.qr-tip{padding:22px 4px;font-size:12.5px;color:var(--fg3)}
.qr-tip a{color:var(--accent);font-weight:750}
@media(max-width:620px){
  .qr{padding:16px}
  .qr-box{grid-template-columns:36px minmax(0,1fr);gap:9px}
  .qr-box>.av{width:36px;height:36px;border-radius:12px;font-size:12px}
  .qr-in textarea{min-height:96px}
  .qr-ft{flex-wrap:wrap;padding:8px 10px}
  .qr-ft .hint{width:100%;white-space:normal}
  .qr-ft .btn{margin-left:auto}
}

/* 局部回复可见：解锁后的小标记 */
.gate-open{margin:18px 0;padding:15px 17px 16px;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);
  background:color-mix(in srgb,var(--accent) 6%,transparent)}
.gate-open>.gate-lab{display:inline-flex;align-items:center;gap:5px;margin-bottom:8px;
  font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;
  color:var(--accent);text-transform:uppercase}
.gate-open>.gate-lab::before{content:"✓"}
.gate-open>*+*{margin-top:10px}

/* 正文里的按钮不要被 .prose a 的下划线和强调色覆盖 */
.prose a.btn,
.fl-body .callout a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-bottom: 0 !important;
  border-radius: 9px;
  color: #fff !important;
  text-decoration: none;
}
.prose a.btn-pri:hover,
.fl-body .callout a.btn-pri:hover {
  color: #fff !important;
  border-bottom: 0 !important;
}

/* 楼层底部按钮组 */
.fl-foot .ops .lk{font-size:10px}
