/* ── 追加：手機好讀 + Menu + loading（不改動 app.css） ── */

/* 手機閱讀：整體字級上調，行高放鬆 */
body{font-size:16px;line-height:1.6}
.brand{font-size:13px;line-height:1.35}
.brand span{font-size:10.5px}
.scr-ch{font-size:12.5px}
.scr-title{font-size:17px;line-height:1.35}
.scr-time{font-size:18px}
.nvlbl{font-size:10px}
.subs-hd{font-size:14.5px}
.sb .t{font-size:13.5px}
.sb .x{font-size:15.5px;line-height:1.65}
.subs-open{font-size:15px;padding:13px}
.sec .nm{font-size:16px}
.sec .code{font-size:14px}
.sec .mt{font-size:12.5px;line-height:1.5}
.rdr-page{font-size:16px}
.rdr-sec{font-size:14px}
.rdr-tip{font-size:13.5px;line-height:1.6}
.hint{font-size:13px;line-height:1.7}
@media (min-width:521px){ .wrap{max-width:560px} }

/* 目錄按鈕（在收音機列上） */
#mBtn{font-size:15px;font-weight:800}

/* 目錄浮層 */
.menuov{position:fixed;inset:0;background:rgba(20,30,20,.55);z-index:60;display:none;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.menuov.on{display:block}
.menu-panel{position:absolute;top:0;left:0;right:0;max-width:640px;margin:0 auto;height:100%;
  background:#fbfdfa;display:flex;flex-direction:column;box-shadow:0 0 30px rgba(0,0,0,.35);
  border-radius:0 0 18px 18px;overflow:hidden}
@media(min-width:641px){ .menu-panel{top:4vh;height:92vh;border-radius:18px} }
.menu-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;
  background:#2f5a39;color:#f4e6cf}
.menu-h b{font-size:17px;letter-spacing:.5px}
.menu-x{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.3);
  background:rgba(0,0,0,.2);color:#f0e2c8;font-size:16px;cursor:pointer}
.menu-tip{padding:8px 16px;font-size:12.5px;color:#6b7a66;background:#f2f7ef;border-bottom:1px solid #e6eee2}
.menu-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 28px;-webkit-overflow-scrolling:touch}
.mc{border:1px solid #e6eee2;border-radius:12px;margin-bottom:8px;overflow:hidden;background:#fff}
.mc-h{display:flex;align-items:center;gap:8px;padding:12px 13px;cursor:pointer;background:#f6faf4}
.mc-h .n{font-weight:800;color:#2f5a39;font-size:15.5px;flex:1}
.mc-h .ar{color:#8aa383;font-size:12px;transition:.2s}
.mc.on .mc-h .ar{transform:rotate(90deg)}
.mc-s{display:none;padding:4px 8px 8px}
.mc.on .mc-s{display:block}
.ms{border-radius:9px;margin:3px 0;border-left:3px solid transparent;background:#fbfdfa}
.ms-h{display:flex;align-items:baseline;gap:8px;padding:9px 10px;cursor:pointer}
.ms-h .code{font-family:ui-monospace,monospace;font-weight:800;color:#2f5a39;font-size:13.5px;
  flex:0 0 auto}
.ms-h .t{font-size:15px;color:#243028;font-weight:700;flex:1;line-height:1.45}
.ms-h .pg{font-family:ui-monospace,monospace;font-size:12.5px;color:#9aab93;flex:0 0 auto}
.ms.on{border-left-color:#e8a41a;background:#fff7e0}
.ms-it{display:none;padding:0 8px 6px 14px}
.ms.on .ms-it{display:block}
.mi{display:flex;align-items:baseline;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:14.5px}
.mi:hover,.mi:active{background:#f0f6ec}
.mi .t{flex:1;color:#4a5a45;line-height:1.45}
.mi .pg{font-family:ui-monospace,monospace;font-size:12px;color:#a3b39c}
.mi .go{color:#c99a1e;font-size:12px}

/* 沙漏 loading */
.loadov{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;
  background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.loadov.on{display:flex}
.loadov .hour{font-size:44px;animation:sp 1s linear infinite}
.loadov .hour-t{margin-top:10px;font-size:14px;color:#2f5a39;font-weight:700}
@keyframes sp{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* 分段重點（新格式：序號→時間戳→標題→●→講義頁次） */
.subs-body{height:auto;max-height:46vh}
.subs-body .seg{padding:9px 11px;border-radius:9px;margin:0 6px 6px;cursor:pointer;border-left:3px solid transparent;transition:.16s}
.subs-body .seg:hover{background:#f4f8f1}
.subs-body .seg.on{background:#fff7e0;border-left-color:#e8a41a;box-shadow:0 0 0 1px #f0c14b inset}
.subs-body .sh{display:flex;gap:8px;align-items:baseline}
.subs-body .sh b{font-family:ui-monospace,monospace;font-size:14.5px;color:#c99a1e;min-width:22px}
.subs-body .sh .tm{font-family:ui-monospace,monospace;font-size:14px;color:#9aab93;white-space:nowrap}
.subs-body .sh .ti{font-size:16px;font-weight:800;color:#1e3a22;line-height:1.45;flex:1}
.subs-body .sp{font-size:15.5px;color:#4a5a45;line-height:1.7;margin:5px 0 2px 30px}
.subs-body .sp i{display:block;margin:1px 0;font-style:normal}
.subs-body .rf{font-size:13.5px;color:#8a6d00;margin-left:30px}
.subs-body .seg.on .ti{color:#7a5200}
.subs-hint{padding:14px;color:#9aab93;font-size:14px;text-align:center}
