/* ===== 方剂学讲义 · 手机竖屏版 ===== */
:root{
  --fx-red:#A6322A; --fx-red-l:#FBF0EE;
  --fx-dai:#2F5D50; --fx-dai-l:#EFF3EE;
  --fx-ochre:#A8622B; --fx-ochre-l:#FBF5EA;
  --fx-line:#E6E3D6; --fx-ink2:#4A4740; --fx-ink3:#8C8A7B;
}
body{ -webkit-text-size-adjust:100%; }
main{ padding-bottom:70px; }

/* 吸顶章节条 */
.fxnav{position:sticky;top:0;z-index:30;background:rgba(244,238,225,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--fx-line);padding:7px 10px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.fxnav::-webkit-scrollbar{display:none}
.fxnav a{flex:0 0 auto;font-size:13px;color:var(--fx-dai);text-decoration:none;padding:5px 12px;
  border-radius:14px;border:1px solid rgba(47,93,80,.22);white-space:nowrap}
.fxnav a.on{background:var(--fx-dai);color:#FDF6EA;border-color:var(--fx-dai)}

/* 进度条 */
.fxprog{position:fixed;left:0;top:0;height:2.5px;background:var(--fx-ochre);z-index:60;width:0;transition:width .15s}

/* 卡片 */
.fxc{background:#fff;border:1px solid rgba(47,93,80,.10);border-radius:14px;padding:14px;margin-bottom:12px;
  box-shadow:0 2px 12px rgba(90,70,40,.05)}
.fxh{font-family:"Kaiti SC",KaiTi,STKaiti,serif;font-size:17px;letter-spacing:2px;color:var(--fx-dai);
  display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;margin-bottom:12px}
.fxh::before,.fxh::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#D8D0BC 55%,#D8D0BC)}
.fxh::after{background:linear-gradient(270deg,transparent,#D8D0BC 55%,#D8D0BC)}
.fxh .bd{font-family:"PingFang SC",sans-serif;font-size:11.5px;letter-spacing:0;color:var(--fx-ochre);
  background:var(--fx-ochre-l);border:1px solid rgba(168,98,43,.3);border-radius:9px;padding:0 8px;flex:0 0 auto}

/* 手风琴 */
details.acc{border:1px solid var(--fx-line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
details.acc>summary{list-style:none;cursor:pointer;padding:13px 14px;display:flex;align-items:center;gap:9px}
details.acc>summary::-webkit-details-marker{display:none}
details.acc .n{flex:0 0 24px;height:24px;border-radius:50%;background:var(--fx-dai);color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;font-family:"PingFang SC",sans-serif;font-weight:600}
details.acc .t{flex:1;font-size:15.5px;font-weight:600;color:#33322C;line-height:1.4}
details.acc .ar{flex:0 0 auto;color:var(--fx-ink3);font-size:12px;transition:transform .2s}
details.acc[open] .ar{transform:rotate(90deg)}
details.acc .bd2{padding:0 14px 14px;border-top:1px dashed var(--fx-line);padding-top:12px}
details.acc[data-done="1"]>summary .n{background:var(--fx-ochre)}

/* 正文 */
.p{font-size:15.5px;line-height:1.85;color:var(--fx-ink2);margin-bottom:10px}
.p:last-child{margin-bottom:0}
.lead{font-size:16px;line-height:1.9;color:var(--fx-ink2)}
.sm{font-size:13.5px;line-height:1.75;color:var(--fx-ink3)}
ul.l,ol.l{margin:0 0 10px;padding-left:0;list-style:none}
ul.l li{position:relative;padding-left:17px;margin-bottom:6px;font-size:15px;line-height:1.75;color:var(--fx-ink2)}
ul.l li::before{content:"";position:absolute;left:3px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--fx-red)}
ol.l{counter-reset:i}
ol.l li{counter-increment:i;position:relative;padding-left:24px;margin-bottom:6px;font-size:15px;line-height:1.75;color:var(--fx-ink2)}
ol.l li::before{content:counter(i);position:absolute;left:0;top:3px;width:17px;height:17px;border-radius:50%;
  background:var(--fx-ink3);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-family:"PingFang SC",sans-serif}
b,strong{color:#33322C;font-weight:600}
.k{color:var(--fx-red);font-weight:600}
.kd{color:var(--fx-dai);font-weight:600}
.ko{color:var(--fx-ochre);font-weight:600}

/* 引文 */
.q{border-left:3px solid var(--fx-red);background:var(--fx-red-l);padding:10px 12px;border-radius:0 8px 8px 0;
  font-size:15px;line-height:1.85;color:var(--fx-ink2);margin-bottom:10px}
.q .s{display:block;margin-top:5px;font-size:12.5px;color:var(--fx-ink3);text-align:right}
.q.kd2{border-left-color:var(--fx-dai);background:var(--fx-dai-l)}

/* 提示框 */
.tip,.wrn,.nt{border-radius:9px;padding:9px 12px;font-size:14px;line-height:1.75;margin-bottom:10px}
.tip{background:var(--fx-dai-l);border:1px solid rgba(47,93,80,.22);color:#2A4A3F}
.wrn{background:var(--fx-red-l);border:1px solid rgba(166,50,42,.26);color:#8C2A22}
.nt{background:var(--fx-ochre-l);border:1px solid rgba(168,98,43,.28);color:#7A501F}

/* 表格（可横滑） */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:10px;border-radius:9px;border:1px solid var(--fx-line)}
.tw table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6;min-width:100%}
.tw th{background:var(--fx-red-l);color:var(--fx-red);font-weight:600;text-align:left;padding:8px 9px;
  border-bottom:1.5px solid var(--fx-red);white-space:nowrap;font-size:13.5px}
.tw td{padding:7px 9px;border-bottom:1px solid var(--fx-line);color:var(--fx-ink2);vertical-align:top}
.tw tr:last-child td{border-bottom:none}
.tw td.kk{font-weight:600;color:#33322C;white-space:nowrap;background:rgba(47,93,80,.04)}
.swipe{font-size:12px;color:var(--fx-ink3);text-align:center;margin:-4px 0 10px}

/* 药物标签 */
.dg{display:inline-block;background:var(--fx-dai-l);border:1px solid rgba(47,93,80,.25);color:#2A4A3F;
  border-radius:5px;padding:1px 7px;margin:2px 3px 2px 0;font-size:14.5px;font-weight:600}
.dg i{font-style:normal;color:var(--fx-ochre);font-size:12px;margin-left:2px}

/* 方剂卡 */
.fxcard{border:1px solid var(--fx-line);border-radius:12px;overflow:hidden;margin-bottom:12px;background:#FDFCF8}
.fxcard .h{background:linear-gradient(100deg,rgba(166,50,42,.10),rgba(166,50,42,.02));padding:11px 13px;
  border-bottom:1px solid var(--fx-line)}
.fxcard .h .nm{font-family:"Kaiti SC",KaiTi,serif;font-size:22px;font-weight:600;letter-spacing:2px;color:var(--fx-red)}
.fxcard .h .sc{font-size:12.5px;color:var(--fx-ink3);margin-top:3px}
.fxcard .bd{padding:11px 13px}
.fr{display:flex;gap:8px;margin-bottom:8px;font-size:15px;line-height:1.75}
.fr:last-child{margin-bottom:0}
.fr .kk2{flex:0 0 46px;font-size:13.5px;font-weight:600;color:var(--fx-red);padding-top:2px}
.fr .vv{flex:1;min-width:0}

/* 方歌逐句释义 */
.ge{background:linear-gradient(160deg,#FDFCF8,#FBF8F0);border:1px solid var(--fx-ochre);border-radius:11px;padding:12px;margin-bottom:10px}
.ge .ttl{font-family:"Kaiti SC",KaiTi,serif;font-size:15px;color:var(--fx-ochre);letter-spacing:1.5px;margin-bottom:9px;text-align:center}
.ge .ln{display:flex;gap:9px;margin-bottom:9px;align-items:flex-start}
.ge .ln:last-child{margin-bottom:0}
.ge .po{flex:1;font-size:16px;line-height:1.7;color:#33322C;font-family:"Kaiti SC",KaiTi,serif;letter-spacing:1px}
.ge .ex{flex:0 0 100px;font-size:12.5px;line-height:1.6;color:var(--fx-ochre);background:rgba(168,98,43,.09);
  border-radius:6px;padding:5px 7px;font-weight:600}

/* 医案 */
.an{border:1px solid var(--fx-dai);border-left-width:3px;border-radius:0 10px 10px 0;background:#F7FAF7;padding:11px 13px;margin-bottom:10px}
.an .ah{font-size:12.5px;color:var(--fx-dai);font-weight:600;letter-spacing:1px;margin-bottom:6px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.an .ah .tg{font-size:11px;background:var(--fx-dai);color:#FDF6EA;border-radius:8px;padding:0 7px;letter-spacing:0}
.an .ah .tg.jg{background:var(--fx-ochre)}
.an p{font-size:14.5px;line-height:1.8;color:var(--fx-ink2);margin-bottom:6px}
.an p:last-child{margin-bottom:0}
.an .yiz{font-size:13.5px;line-height:1.7;color:#2A4A3F;background:rgba(47,93,80,.08);border-radius:6px;padding:6px 9px;margin-top:7px}

/* 思维导图（HTML 树，手机可读） */
.mind{background:#FDFCF8;border:1px solid var(--fx-line);border-radius:12px;padding:12px;margin-bottom:10px}
.mroot{background:linear-gradient(140deg,var(--fx-red),#7E241D);color:#fff;border-radius:10px;padding:10px;text-align:center;margin-bottom:12px}
.mroot b{font-family:"Kaiti SC",KaiTi,serif;font-size:19px;letter-spacing:3px;color:#fff}
.mroot .m2{font-size:12px;opacity:.9;margin-top:3px}
.mbr{border-left:2px solid var(--fx-line);margin-left:9px;padding-left:11px;margin-bottom:11px;position:relative}
.mbr::before{content:"";position:absolute;left:-2px;top:14px;width:11px;height:2px;background:var(--fx-line)}
.mbt{font-size:14.5px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;padding:3px 0}
.mbt.a{color:var(--fx-red)}.mbt.b{color:var(--fx-dai)}.mbt.c{color:var(--fx-ochre)}.mbt.d{color:#6B4E9E}
.mbd{font-size:13.5px;line-height:1.7;color:var(--fx-ink3);margin-bottom:5px}
.msub{background:#fff;border:1px solid var(--fx-line);border-radius:8px;padding:7px 9px;margin-bottom:5px;font-size:13.5px;line-height:1.7;color:var(--fx-ink2)}
.msub b{color:#33322C}

/* 药材线描小图 */
.herbs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.hb{background:#FDFCF8;border:1px solid var(--fx-line);border-radius:10px;padding:8px;text-align:center}
.hb svg{width:100%;height:auto;display:block}
.hb .hn{font-size:14px;font-weight:600;color:#33322C;margin-top:3px}
.hb .hd{font-size:12px;color:var(--fx-ink3);line-height:1.5;margin-top:1px}

/* 自测题 */
.qz{border:1px solid var(--fx-line);border-radius:11px;background:#fff;padding:12px;margin-bottom:10px}
.qz .qh{font-size:15px;line-height:1.75;color:var(--fx-ink2);margin-bottom:8px}
.qz .qh .qn{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;
  background:var(--fx-ochre);color:#fff;font-size:12px;margin-right:6px;font-family:"PingFang SC",sans-serif;flex:0 0 auto}
.qz .op{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.qz .op span{font-size:13.5px;border:1px solid var(--fx-line);border-radius:14px;padding:3px 10px;color:var(--fx-ink2);background:#FDFCF8}
.qz .op span.a{border-color:var(--fx-red);color:var(--fx-red);background:var(--fx-red-l);font-weight:600}
.qz .ans{display:none;font-size:14px;line-height:1.8;color:#2A4A3F;background:var(--fx-dai-l);border-radius:8px;padding:9px 11px;margin-top:8px;border:1px solid rgba(47,93,80,.2)}
.qz.open .ans{display:block}
/* 讲义实际使用的类名：.q 题干 / .a 答案（与 .qh/.ans 等价并存） */
.qz .q{font-size:14.5px;line-height:1.8;color:var(--fx-ink2);margin-bottom:8px}
.qz .q b:first-child{color:var(--fx-ochre);margin-right:2px}
.qz .a{display:none;font-size:14px;line-height:1.85;color:#2A4A3F;background:var(--fx-dai-l);
  border-radius:8px;padding:9px 11px;margin-top:8px;border:1px solid rgba(47,93,80,.2)}
.qz.open .a{display:block}
.qz .btn{display:inline-block;font-size:13px;color:var(--fx-dai);border:1px solid rgba(47,93,80,.3);
  border-radius:14px;padding:3px 13px;cursor:pointer;background:#fff;user-select:none}
.qz .btn.done{background:var(--fx-dai);color:#FDF6EA;border-color:var(--fx-dai)}

/* 目录页 · 习题总入口 */
.qzstat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;
  border:1px solid var(--fx-line);border-radius:11px;padding:11px 13px;margin-top:10px}
.qzstat .bar{flex:1 1 130px;min-width:110px;height:7px;border-radius:4px;background:var(--fx-line);overflow:hidden}
.qzstat .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--fx-dai),var(--fx-ochre));border-radius:4px}
.qzstat .num{font-size:13px;color:var(--fx-dai);font-weight:600}
.qzstat .num em{font-style:normal;font-size:19px;letter-spacing:-.5px}
.qzl{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin-top:10px}
.qzl a{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--fx-line);
  border-radius:10px;padding:9px 11px;text-decoration:none}
.qzl a:active{background:var(--fx-ochre-l)}
.qzl a .k{font-size:12px;font-weight:600;color:#FDF6EA;background:var(--fx-dai);
  width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.qzl a>span:last-child{min-width:0;flex:1 1 auto}
.qzl a .t{display:block;font-size:13.5px;color:var(--fx-ink2);font-weight:600;line-height:1.35}
.qzl a .s{display:block;font-size:11.5px;color:var(--fx-ink3);margin-top:1px;line-height:1.4}
.qzl a .s b{color:var(--fx-ochre)}
.qzl a.full{opacity:.5}
.qzl a.full .k{background:var(--fx-ink3)}
.qzl a:hover{border-color:var(--fx-dai)}

/* 底部提示 */
.fxfoot{font-size:11.5px;color:var(--fx-ink3);text-align:center;line-height:1.8;padding:20px 14px 30px;
  border-top:1px solid var(--fx-line);margin-top:20px}
.fxfoot b{color:var(--fx-ochre)}
.chipline{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.chipline a{font-size:12.5px;color:var(--fx-dai);text-decoration:none;border:1px solid rgba(47,93,80,.22);
  border-radius:13px;padding:3px 10px;background:#fff}
@media (min-width:560px){ .herbs{grid-template-columns:repeat(4,1fr)} }

/* ===== v2 新增：章内导航 / 上下章翻页 / 目录卡 ===== */
.fxbar{position:sticky;top:38px;z-index:29;background:rgba(244,238,225,.96);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--fx-line);
  padding:6px 10px;display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--fx-ink3)}
.fxbar b{color:var(--fx-dai);font-weight:600}
.fxbar .sp{flex:1}

/* 目录总卡（首页用） */
.tocwrap{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.toc{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--fx-line);
  border-radius:12px;padding:10px 11px;text-decoration:none;box-shadow:0 1px 3px rgba(74,71,64,.05)}
.toc:active{background:var(--fx-ochre-l)}
.toc .no{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:12.5px;font-weight:700;background:var(--fx-dai-l);color:var(--fx-dai)}
.toc.no-red .no{background:var(--fx-red-l);color:var(--fx-red)}
.toc.no-oc .no{background:var(--fx-ochre-l);color:var(--fx-ochre)}
.toc .tt{flex:1;min-width:0}
.toc .tt .a1{font-size:14.5px;color:var(--fx-ink);font-weight:600;line-height:1.35}
.toc .tt .a2{font-size:11.5px;color:var(--fx-ink3);margin-top:2px;line-height:1.4}
.toc .ar{color:var(--fx-ink3);font-size:16px;flex:none}
.toc.lock{opacity:.5}
.toc .tagz{font-size:10px;border:1px solid var(--fx-line);border-radius:8px;padding:1px 5px;
  color:var(--fx-ink3);flex:none;background:#FBFAF5}
.toc.cur{border-color:var(--fx-ochre);background:var(--fx-ochre-l)}

/* 上下章翻页 */
.pager{display:flex;gap:8px;margin-top:22px;padding-top:14px;border-top:1px solid var(--fx-line)}
.pager a{flex:1;min-width:0;background:#fff;border:1px solid var(--fx-line);border-radius:12px;
  padding:10px 11px;text-decoration:none}
.pager a:active{background:var(--fx-ochre-l)}
.pager .dir{font-size:11px;color:var(--fx-ink3)}
.pager .nm{font-size:14px;color:var(--fx-dai);font-weight:600;margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager .nx{text-align:right}
.pager .nx .nm{color:var(--fx-ochre)}

/* 方剂速查卡（每章开头） */
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:9px}
.qk{background:#fff;border:1px solid var(--fx-line);border-radius:10px;padding:8px 9px}
.qk .n{font-size:13.5px;color:var(--fx-red);font-weight:600}
.qk .c{font-size:11px;color:var(--fx-ink3);margin-top:3px;line-height:1.45}
@media (min-width:560px){ .quick{grid-template-columns:repeat(4,1fr)} }

/* 剂量对照小注 */
.dose{display:flex;gap:8px;background:var(--fx-dai-l);border:1px solid rgba(47,93,80,.18);
  border-radius:10px;padding:9px 11px;margin-top:10px;font-size:12.5px;line-height:1.6;color:var(--fx-ink2)}
.dose .lb{flex:none;font-weight:600;color:var(--fx-dai)}

/* 目录卡：章名与副标题必须各占一行（span 默认 inline，需转块级） */
.toc .tt{display:flex;flex-direction:column;gap:2px}
.toc .tt .a1{display:block}
.toc .tt .a2{display:block}
