/* ==========================================================
 * 山竹屋 手机端 · 自定义样式  szw.css  (v4)
 * 配色从参考图取：主绿 #5eae91、页面 #f5f5f5、标签 #b3cbb5、序号红 #e05a4e
 * ========================================================== */
:root {
	--szw-bg:#dfe8d8;   --szw-card:#dfe8d8; --szw-main:#5eae91; --szw-main-d:#4d9a7e;
	--szw-text:#222;    --szw-sub:#666;     --szw-line:rgba(0,0,0,.12); --szw-tag:#5eae91;
	--szw-tagtext:#fff; --szw-num:#e05a4e;  --szw-ico:#555;     --szw-input:rgba(255,255,255,.55);
	--rd-bg:#dfe8d8; --rd-bar:#cbd3c5; --rd-text:#222; --rd-size:20px; --rd-lh:1.8; --rd-fw:400; --rd-ps:0.8em;
}

body.szw-wap { background:var(--szw-bg) !important; color:var(--szw-text); margin:0;
	font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
	-webkit-text-size-adjust:100%; }
body.szw-wap a { color:var(--szw-text); text-decoration:none; -webkit-tap-highlight-color:rgba(0,0,0,.06); }
body.szw-wap * { box-sizing:border-box; }

/* ---------- 线框图标 ---------- */
i.szw-i { display:inline-block; width:1em; height:1em; line-height:1; vertical-align:-.15em; font-style:normal; }
i.szw-i svg { display:block; width:100%; height:100%; }

/* ---------- 首页大头（一屏能看到作品分类下面两行） ---------- */
.szw-hero { background:var(--szw-main); color:#fff; text-align:center; padding:20px 16px 10px; }
.szw-hero .t1 { font-size:50px; font-weight:700; letter-spacing:4px; line-height:1.1; }
.szw-hero .t2 { margin-top:2px; font-size:20px; font-weight:600; letter-spacing:3px; }
.szw-hero img { display:block; width:118px; max-width:40%; margin:8px auto 0; }

/* ---------- 内页顶栏 ---------- */
.szw-bar2 { display:flex; align-items:center; justify-content:space-between;
	background:var(--szw-main); color:#fff; height:50px; padding:0 12px; }
.szw-bar2 a { color:#fff !important; font-size:26px; width:40px; text-align:center; line-height:1; }
.szw-bar2 .tt { flex:1; text-align:center; font-size:18px; font-weight:500;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---------- 六宫格（2列3行，和下面分类行一样高） ---------- */
.szw-grid6 { display:grid; grid-template-columns:repeat(2,1fr); background:var(--szw-card); }
.szw-grid6 a { display:block; padding:9px 6px 7px; text-align:center;
	border-right:1px solid var(--szw-line); border-bottom:1px solid var(--szw-line); color:var(--szw-sub) !important; }
.szw-grid6 a:nth-child(2n) { border-right:0; }
.szw-grid6 i.szw-i { display:block; margin:0 auto 2px; width:28px; height:28px; color:var(--szw-ico); }
.szw-grid6 span { font-size:15px; font-weight:400; color:var(--szw-sub); line-height:1.4; }

/* ---------- 绿色区块标题条 ---------- */
.szw-bar { display:flex; align-items:center; justify-content:center; background:var(--szw-main);
	color:#fff; padding:10px 16px; font-size:22px; font-weight:600; letter-spacing:2px; }
.szw-bar.left { justify-content:space-between; font-size:16px; letter-spacing:0; padding:10px 14px; font-weight:500; }
.szw-bar .more { font-size:13px; font-weight:400; opacity:.9; color:#fff !important; }
.szw-bar.left { padding-top:0; padding-bottom:0; min-height:44px; border-top:2px solid #fff; font-size:15px; }
.szw-bar.left .lf, .szw-bar.left .rt, .szw-bar.left .more { font-size:15px; font-weight:400; opacity:1; }
.szw-bar .pgm { display:flex; align-items:stretch; align-self:stretch; font-size:14px; font-weight:400; }
.szw-bar .pgm a { color:#fff !important; width:48px; display:flex; align-items:center; justify-content:center; font-size:20px; background:rgba(255,255,255,.14); }
.szw-bar .pgm a.off { opacity:.4; }
.szw-bar .pgm b { font-weight:400; min-width:52px; display:flex; align-items:center; justify-content:center; background:#fff; color:var(--szw-main); margin:6px 2px; border-radius:3px; }
.szw-bar .lf { min-width:60px; } .szw-bar .rt { min-width:60px; text-align:right; }

/* ---------- 分类网格（两列，线框图标，文字不加粗） ---------- */
.szw-cats { display:grid; grid-template-columns:repeat(2,1fr); background:var(--szw-card); }
.szw-cats a { display:flex; align-items:center; gap:14px; padding:18px 10px 18px 20px; min-width:0;
	border-right:1px solid var(--szw-line); border-bottom:1px solid var(--szw-line); color:var(--szw-sub) !important; }
.szw-cats a:nth-child(2n) { border-right:0; }
.szw-cats i.szw-i { flex:0 0 30px; width:30px; height:30px; color:var(--szw-ico); }
.szw-cats .nm { font-size:17px; font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---------- 书目列表（分类页 / 排行榜 / 搜索结果） ---------- */
.szw-books { list-style:none; margin:0; padding:0; background:var(--szw-card); }
.szw-books li { padding:14px 14px 12px; border-bottom:1px solid var(--szw-line); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.szw-books .bt { display:block; font-size:18px; font-weight:700; color:var(--szw-text) !important; line-height:1.4; }
.szw-books .rk { color:var(--szw-num); font-size:19px; margin-right:6px; }
.szw-books .bi { margin:6px 0 0; font-size:14px; color:var(--szw-sub); line-height:1.6;
	max-height:45px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.szw-books .bg { margin:8px 0 0; line-height:1; min-height:0; }
.szw-books .bg:empty { display:none; }
.szw-books .bg a { display:inline-block; margin:0 8px 8px 0; padding:0 12px; height:32px; line-height:32px;
	font-size:15px; background:var(--szw-tag); color:var(--szw-tagtext) !important; border-radius:3px; -webkit-tap-highlight-color:rgba(0,0,0,.25); }
.szw-books .bg a:active { background:#2f7a5e; }
.szw-books .ba { margin:4px 0 0; font-size:14px; color:var(--szw-sub); display:flex; align-items:center; gap:6px; }
.szw-books .ba i.szw-i { width:20px; height:20px; color:var(--szw-ico); }
.szw-books .ba .ct { margin-left:auto; color:var(--szw-sub); }
.szw-books .bg a.on, .szw-book .tags a.on { background:#2f7a5e; }
.szw-books .no { display:block; padding:34px 0; text-align:center; color:var(--szw-sub); }

/* ---------- 足迹 / 书架 ---------- */
.szw-books .bt small { font-weight:400; font-size:15px; color:var(--szw-sub); margin-left:4px; }
.szw-books .rw { display:flex; align-items:center; margin:8px 0 0; font-size:14px; color:var(--szw-sub); }
.szw-books .rw .rd a { color:var(--szw-sub) !important; }
.szw-books .rw .op { margin-left:auto; flex:none; border:1px solid var(--szw-line); border-radius:3px; padding:5px 10px; font-size:13px; color:var(--szw-sub) !important; background:var(--szw-input); }
.szw-books li.shelf { display:flex; align-items:flex-start; gap:10px; }
.szw-books li.shelf .ck { display:none; }
.szw-books li.shelf.edit .ck { display:block; }
.szw-books li.shelf.edit .op { display:none; }
.szw-books li.shelf.edit .bd a { pointer-events:none; }
.szw-books li.shelf.sel { background:rgba(63,153,118,.10); }
.szw-books li .ck input { position:absolute; opacity:0; width:0; height:0; }
.szw-books li .ck i { display:block; width:22px; height:22px; border:2px solid #9bb; border-radius:4px; background:var(--szw-card); box-sizing:border-box; }
.szw-books li.sel .ck i { background:var(--szw-main); border-color:var(--szw-main); }
.szw-books li.sel .ck i:after { content:''; display:block; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); margin:2px auto 0; }
.szw-bar .rt .ico { display:inline-block; width:34px; height:30px; line-height:30px; text-align:center; }
.szw-bar .rt .ico i.szw-i { width:22px; height:22px; color:#fff; vertical-align:middle; }
.szw-bar .rt .txt { color:#fff !important; font-size:14px; border:1px solid rgba(255,255,255,.8); border-radius:3px; padding:4px 10px; }
.szw-books li .ck { flex:none; padding-top:4px; }
.szw-books li .ck input { width:20px; height:20px; }
.szw-books li .bd { flex:1; min-width:0; }
.szw-pg { display:flex; justify-content:center; gap:8px; padding:14px 0 6px; }
.szw-pg a { min-width:34px; height:34px; line-height:34px; text-align:center; border-radius:3px; background:var(--szw-input); border:1px solid var(--szw-line); color:var(--szw-sub) !important; font-size:15px; padding:0 6px; }
.szw-pg a.on { background:var(--szw-main); color:#fff !important; border-color:var(--szw-main); }
.szw-shelf-ops { display:none; } .szw-shelf-ops.on { display:flex; } .szw-shelf-ops .lk { margin-left:0; border:0; background:transparent; padding:5px 0; }
.szw-shelf-ops {  align-items:center; gap:10px; padding:10px 14px; font-size:14px; color:var(--szw-sub); border-bottom:1px solid var(--szw-line); }
.szw-shelf-ops a { margin-left:auto; border:1px solid var(--szw-line); border-radius:3px; padding:5px 12px; color:var(--szw-sub) !important; background:var(--szw-input); }

/* ---------- 翻页条（全站统一：上一页 | ✈跳页 | 下一页；页码显示在标题栏） ----------
 * 上面的翻页条：和标题栏之间一条细灰线；下面的翻页条（.bot）：书目最后一条自带灰线，不再加线 */
.szw-pager { display:flex; align-items:stretch; background:var(--szw-main); border-top:1px solid var(--szw-line); border-bottom:1px solid var(--szw-line); }
.szw-pager.bot { border-top:0; }
/* 只管直接的三个格子（> ），里面再套的 span 不算：不然「上一页」灰格子里会出现一块绿 */
.szw-pager > a, .szw-pager > span { flex:1; text-align:center; padding:11px 0; font-size:16px; color:#fff !important; background:var(--szw-main); }
.szw-pager > .off { background:#c8c8c8; color:#fff !important; }
/* 「上一页 / 下一页」文字由样式画出来（content:attr(data-t)），页面里没有这几个字：
 * 夸克那类浏览器会自动找这几个字、包一层再涂成绿色，这样它找不到，颜色也就不会被改 */
.szw-pager .tx { color:#fff; }
.tx[data-t]:before { content:attr(data-t); }
html[data-night="1"] .szw-pager .off { background:#3a3d40; }
.szw-pager .ico { flex:0 0 64px; background:var(--szw-main-d); padding:8px 0; }
.szw-pager .ico i.szw-i { width:26px; height:26px; color:#fff; }
.szw-bar2 .rt { min-width:40px; text-align:right; }
.szw-bar2 a.tx { width:auto; font-size:14px; white-space:nowrap; padding:0 2px; }
.szw-bar2 a.txt { width:auto; font-size:14px; white-space:nowrap; border:1px solid rgba(255,255,255,.8); border-radius:3px; padding:4px 10px; }

/* ---------- 搜索页 ---------- */
.szw-search { display:flex; background:var(--szw-input); border-bottom:1px solid var(--szw-line); }
.szw-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; padding:0 14px; height:56px; font-size:17px; color:var(--szw-text); }
.szw-search input::placeholder { color:#aaa; }
.szw-search button { border:0; border-left:1px solid var(--szw-line); background:transparent; color:var(--szw-sub); font-size:17px; padding:0 14px; height:56px; }
.szw-hist-head { display:flex; align-items:center; justify-content:space-between; padding:14px 14px 6px; }
.szw-hist-head h2 { margin:0; font-size:22px; font-weight:600; color:var(--szw-text); }
.szw-hist-head a { color:var(--szw-text) !important; font-size:26px; line-height:1; }
.szw-hist { padding:0 14px 12px; line-height:1; min-height:24px; }
.szw-hist a { display:inline-block; margin:0 8px 8px 0; padding:6px 12px; border:1px solid var(--szw-line); border-radius:16px; font-size:14px; color:var(--szw-text) !important; background:var(--szw-input); }
.szw-hist .muted { font-size:14px; color:var(--szw-sub); }
.szw-tabs3 { display:flex; background:var(--szw-main); }
.szw-tabs3 a { flex:1; text-align:center; color:#fff !important; padding:12px 4px; border-right:1px solid rgba(255,255,255,.35); font-size:17px; line-height:1.3; }
.szw-tabs3 a:last-child { border-right:0; }
.szw-tabs3 i.szw-i { display:block; width:34px; height:34px; margin:0 auto 6px; }
.szw-tabs3 small { display:block; font-size:15px; opacity:.9; }
.szw-tip { padding:20px 10px 24px; text-align:center; font-size:16px; line-height:2; }
.szw-tip .b { color:#2f6fd8; }
.szw-tip .r { color:#e0362b; }
.szw-tip .g { color:#1a9a3c; font-weight:700; font-size:19px; }
.szw-tip a.u { color:#e0362b !important; text-decoration:underline; white-space:nowrap; }
.szw-result-head { padding:12px 14px 6px; font-size:15px; color:var(--szw-sub); }
.szw-result-head b { color:var(--szw-num); font-weight:600; }

/* ---------- 书籍详情页 ---------- */
.szw-book { background:var(--szw-card); }
.szw-book h1 { margin:0; padding:14px 14px; font-size:19px; font-weight:700; text-align:center; border-bottom:1px solid var(--szw-line); line-height:1.4; }
.szw-book .row { display:flex; align-items:center; gap:8px; padding:13px 14px; border-bottom:1px solid var(--szw-line); font-size:15px; color:var(--szw-sub); }
.szw-book .row i.szw-i { width:22px; height:22px; color:var(--szw-ico); flex:0 0 22px; }
.szw-book .row .lf { white-space:nowrap; }
.szw-book .row .rt { margin-left:auto; flex:none; display:flex; align-items:center; gap:6px; color:var(--szw-text); white-space:nowrap; }
.szw-book .row .rt i.szw-i { width:22px; height:22px; color:var(--szw-text); }
.szw-book .row .num { color:var(--szw-num); }
.szw-book .row a.cat { color:var(--szw-sub) !important; }
.szw-book .tags { padding:10px 14px 2px; border-bottom:1px solid var(--szw-line); line-height:1; }
.szw-book .tags:empty { display:none; }
.szw-book .tags a { display:inline-block; margin:0 8px 8px 0; padding:0 12px; height:32px; line-height:32px;
	font-size:15px; background:var(--szw-tag); color:var(--szw-tagtext) !important; border-radius:3px; }
.szw-book .intro { padding:12px 14px; font-size:15px; line-height:1.8; color:var(--szw-text); border-bottom:1px solid var(--szw-line); }
.szw-intro { padding:6px 14px 10px; font-size:15px; line-height:1.8; }
.szw-intro h2 { font-size:20px; font-weight:400; margin:6px 0 6px; }
.szw-intro p { margin:0 0 .4em; text-indent:2em; }
.szw-book .row .rt.on { color:#222; }
.szw-book .row .rt.on i.szw-i { color:#222; }
.szw-h2 .hl { color:var(--szw-main); }
.szw-btn2 { display:flex; background:var(--szw-main); }
.szw-btn2 a { flex:1; text-align:center; color:#fff !important; padding:12px 0 10px; font-size:18px; border-right:1px solid rgba(255,255,255,.35); line-height:1.3; }
.szw-btn2 a:last-child { border-right:0; }
.szw-btn2 i.szw-i { display:block; width:34px; height:34px; margin:0 auto 4px; }
.szw-h2 { padding:16px 14px 8px; font-size:20px; font-weight:400; color:var(--szw-text); margin:0; }
.szw-dir { display:none; background:var(--szw-card); }
.szw-dir .dh { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--szw-line); font-size:16px; }
.szw-dir .dh a { color:var(--szw-main) !important; font-size:14px; }
.szw-dir ul { list-style:none; margin:0; padding:0; }
.szw-dir li { border-bottom:1px solid var(--szw-line); }
.szw-dir li a { display:block; padding:12px 14px; font-size:15px; color:var(--szw-text) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---------- 主题面板（和阅读背景同一套） ---------- */
.szw-mask { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.45); z-index:9998; display:none; }
.szw-pop { position:fixed; left:0; right:0; bottom:0; z-index:9999; background:#fff; border-radius:16px 16px 0 0;
	padding:18px 16px 26px; display:none; box-shadow:0 -4px 24px rgba(0,0,0,.18); color:#333; }
.szw-pop h3 { margin:0 0 14px; font-size:16px; font-weight:700; text-align:center; }
.szw-themes { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.szw-themes a { display:block; height:52px; line-height:52px; border-radius:6px; text-align:center; font-size:15px; color:#333 !important; border:2px solid transparent; position:relative; overflow:hidden; }
.szw-themes a.on { border-color:#5eae91; }
.szw-themes a.custom input { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; }
.szw-pop .close { display:block; margin:18px auto 0; width:60%; padding:11px 0; text-align:center;
	border-radius:22px; background:var(--szw-main); color:#fff !important; font-size:15px; }

/* ---------- 底部固定条（‹ › ≡ 时间） ---------- */
.szw-tab { position:fixed; left:0; right:0; bottom:0; z-index:900; display:flex; align-items:center;
	background:var(--szw-main); color:#fff; height:52px; padding:0 8px; box-sizing:content-box !important;
	padding-bottom:env(safe-area-inset-bottom, 0px); }
.szw-tab a { color:#fff !important; width:52px; text-align:center; line-height:1; }
.szw-tab a i.szw-i { width:26px; height:26px; }
.szw-tab a.dim { opacity:1; }
.szw-tab .mid { position:absolute; left:50%; top:0; height:52px; transform:translateX(-50%); display:flex; align-items:center; }
.szw-tab .mid a i.szw-i { width:30px; height:30px; }
.szw-tab .clock { margin-left:auto; width:90px; text-align:right; font-size:15px; letter-spacing:1px; padding-right:6px; }
.szw-pad { height:62px; }

/* ---------- 弹出菜单 ---------- */
.szw-menu { position:fixed; left:0; right:0; bottom:52px; bottom:calc(52px + env(safe-area-inset-bottom, 0px)); z-index:950; display:none;
	background:var(--szw-bg); border-top:1px solid var(--szw-line); box-shadow:0 -6px 20px rgba(0,0,0,.15); }
.szw-menu a { display:flex; align-items:center; gap:14px; padding:13px 22px; border-bottom:1px solid var(--szw-line); color:var(--szw-text) !important; font-size:16px; }
.szw-menu a i.szw-i { width:22px; height:22px; color:var(--szw-main); }

/* ---------- 页脚 ---------- */
.szw-ft { padding:16px 16px 12px; text-align:left; font-size:12px; line-height:1.9; color:var(--szw-sub); }
.szw-ft p { margin:0; text-indent:2.6em; }
.szw-ft p.c { text-align:center; }
.szw-ft a { color:var(--szw-main) !important; }

/* ---------- 内页小区块 ---------- */
.szw-sec { margin:0 0 12px; }
.szw-sec .body { background:var(--szw-card); }

/* ---------- 常见问题（照参考站排版） ---------- */
.szw-faq { padding:14px 14px 24px; text-align:center; font-size:17px; line-height:1.9; color:var(--szw-text); }
.szw-faq .app { font-size:19px; margin:6px 0 0; }
.szw-faq h2 { font-size:21px; font-weight:700; margin:16px 0 8px; line-height:1.5; color:var(--szw-text); }
.szw-faq h2.red { color:#e0362b; }
.szw-faq ol { list-style:none; margin:0; padding:0; }
.szw-faq li { margin:0 0 8px; }
.szw-faq li.left { text-align:left; }
.szw-faq a { color:var(--szw-main) !important; text-decoration:underline; }
.szw-faq .back { display:inline-block; margin-top:16px; text-decoration:none !important; }

/* ---------- 章节目录页（书页里切换出来的，照参考图） ---------- */
.szw-dirpage { display:none; }
body.szw-dirmode .szw-bookpage { display:none; }
body.szw-dirmode .szw-dirpage { display:block; }
.szw-dir { display:block; background:var(--szw-card); }
.szw-dir ul { list-style:none; margin:0; padding:0; }
.szw-dir li { border-bottom:1px solid var(--szw-line); }
.szw-dir li a { display:block; padding:13px 14px; font-size:16px; color:var(--szw-text) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.szw-dir li.hide { display:none; }
.szw-dir li.cur a { color:var(--szw-main) !important; font-weight:700; }
.szw-dir li.cur a:before { content:'▸ '; }
/* 阅读页里的目录：盖在正文上的一层，自己滚动，关掉后正文还在原来的位置 */
html.szw-read body.szw-dirmode .szw-dirpage { display:block; position:fixed; top:0; left:0; right:0; bottom:0; overflow-y:auto; -webkit-overflow-scrolling:touch; z-index:70; background:var(--szw-bg); }
html.szw-read body.szw-dirmode .szw-rd-top, html.szw-read body.szw-dirmode .szw-rd-bottom { display:none; }

.szw-jump { position:fixed; top:0; left:0; right:0; bottom:0; z-index:9990; background:rgba(0,0,0,.5); display:none; }
.szw-jump .box { position:absolute; left:6%; right:6%; top:44%; background:#fff; border-radius:6px; padding:12px; display:flex; gap:10px; }
.szw-jump input { flex:1; min-width:0; height:48px; border:2px solid #000; border-radius:4px; padding:0 12px; font-size:16px; color:#333; outline:none; -webkit-appearance:none; }
.szw-jump input:focus { border-color:#000; outline:none; box-shadow:none; }
.szw-jump a { flex:0 0 76px; height:48px; line-height:48px; text-align:center; background:var(--szw-main); color:#fff !important; border-radius:4px; font-size:17px; }
.szw-author { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; padding:0 12px 12px; }
.szw-author a { display:block; text-align:center; padding:9px 8px; background:rgba(0,0,0,.05); border-radius:3px; font-size:15px; color:var(--szw-text) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html[data-night="1"] .szw-author a { background:rgba(255,255,255,.08); }

/* ---------- 阅读页（照参考站：整页一个背景色，顶栏底栏和背景色接近） ---------- */
html.szw-read, html.szw-read body.szw-wap { background:var(--rd-bg) !important; color:var(--rd-text); }
.szw-rd-top { position:fixed; left:0; right:0; top:0; z-index:960; display:flex; align-items:center; background:var(--rd-bar); color:var(--rd-text); min-height:60px; padding:6px 8px; }
.szw-rd-top a { color:var(--rd-text) !important; width:56px; text-align:center; font-size:12px; line-height:1.2; flex:none; opacity:.85; }
.szw-rd-top a i.szw-i { display:block; width:26px; height:26px; margin:0 auto 2px; }
.szw-rd-top .tt { flex:1; text-align:center; font-size:15px; line-height:1.4; padding:0 4px; }
.szw-rd-bottom { position:fixed; left:0; right:0; bottom:0; z-index:960; background:var(--rd-bar); color:var(--rd-text); padding:6px 0 4px; }
.szw-rd-bottom .r1, .szw-rd-bottom .r2 { display:flex; align-items:center; }
.szw-rd-bottom .r1 { padding:2px 10px 6px; }
.szw-rd-bottom .r1 a { flex:none; width:64px; text-align:center; color:var(--rd-text) !important; font-size:12px; line-height:1.3; }
.szw-rd-bottom .r1 a i.szw-i { display:block; width:24px; height:24px; margin:0 auto 1px; }
.szw-rd-bottom .r1 .pb { flex:1; text-align:center; font-size:14px; padding:0 8px; }
.szw-rd-bottom .r1 .pb .bar { height:6px; border-radius:3px; background:rgba(0,0,0,.12); margin-top:4px; overflow:hidden; }
.szw-rd-bottom .r1 .pb .bar i { display:block; height:100%; background:var(--szw-main); width:0; }
.szw-rd-bottom .r2 { border-top:1px solid rgba(0,0,0,.08); padding-top:6px; }
.szw-rd-bottom .r2 a { flex:1; text-align:center; color:var(--rd-text) !important; font-size:12px; line-height:1.3; }
.szw-rd-bottom .r2 a i.szw-i { display:block; width:24px; height:24px; margin:0 auto 1px; }
.szw-rd-bottom a.dim { opacity:.4; }
html.szw-read.bars-off .szw-rd-top, html.szw-read.bars-off .szw-rd-bottom { display:none; }
.szw-rd-body { padding:72px 14px 120px; }
html.szw-read.bars-off .szw-rd-body { padding-top:14px; padding-bottom:18px; }
html.szw-read .szw-pad, html.szw-read #ifexplorer:empty { display:none; }
html.szw-read .guangao:empty { display:none; }
html.szw-read .pt-reader, html.szw-read .pt-reader .body, html.szw-read .pt-reader .content { min-height:0; height:auto; padding:0; margin:0; }
.szw-rd-crumb { font-size:14px; color:var(--rd-text); opacity:.85; margin:0 0 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.szw-rd-crumb a { color:var(--rd-text) !important; }
.szw-rd-notice { display:none; text-align:center; color:#e0362b; font-size:14px; margin:0 0 8px; }
.szw-rd-notice.on { display:block; }
.szw-rd-body h1 { font-size:1.15em; font-weight:600; margin:0 0 .8em; line-height:1.5; }
.szw-rd-text { font-size:var(--rd-size) !important; line-height:var(--rd-lh) !important; font-weight:var(--rd-fw); word-break:break-all; }
.szw-rd-text p { font-size:inherit !important; line-height:inherit !important; }
/* 源站正文自带的定位 / 尺寸样式一律压掉，防止段落叠在一起 */
.szw-rd-text * { position:static !important; float:none !important; top:auto !important; left:auto !important; right:auto !important; bottom:auto !important; transform:none !important; height:auto !important; max-height:none !important; width:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; padding:0 !important; text-shadow:none !important; font-size:inherit !important; line-height:inherit !important; color:inherit !important; background:transparent !important; visibility:visible !important; opacity:1 !important; overflow:visible !important; }
.szw-rd-text div, .szw-rd-text section, .szw-rd-text article, .szw-rd-text blockquote, .szw-rd-text li, .szw-rd-text p { display:block !important; text-indent:2em; margin:0 0 var(--rd-ps); }
.szw-rd-text span, .szw-rd-text font, .szw-rd-text b, .szw-rd-text i, .szw-rd-text em, .szw-rd-text strong, .szw-rd-text u, .szw-rd-text a { display:inline !important; }
.szw-rd-text br { display:inline !important; }
.szw-rd-text img, .szw-rd-text iframe, .szw-rd-text video, .szw-rd-text ins { display:none !important; }
.szw-rd-text p { margin:0 0 var(--rd-ps); text-indent:2em; }
.szw-rd-text .preload, .szw-rd-text .loadnextpage { text-indent:0; text-align:center; }
/* 页面自带的「正在转码」占位也别让页面缩成一小条（百度系内核页面变矮后就不再重排） */
#BookText > .preload:not(.err):only-child { min-height:60vh; }
.szw-rd-text .rd-cnt { font-size:14px; opacity:.75; }
.szw-rd-text .preload a.rd-src { margin-left:12px; color:var(--szw-main) !important; text-decoration:underline; }
.szw-rd-text .preload button, .szw-rd-text .loadnextpage button { font-size:15px !important; padding:8px 16px !important; border:1px solid var(--szw-main); background:transparent; color:var(--szw-main) !important; border-radius:4px; display:inline-block !important; width:auto !important; }
.szw-rd-nav { display:flex; gap:8px; margin:14px 0; }
.szw-rd-nav a { flex:1; text-align:center; padding:9px 0; border:1px solid var(--rd-text); border-radius:3px; color:var(--rd-text) !important; font-size:15px; opacity:.85; }
.szw-rd-nav a.dim { opacity:.35; }
.szw-rd-nav a:visited, .szw-rd-nav a:focus, .szw-rd-nav a:active, .szw-rd-nav a:hover { color:var(--rd-text) !important; outline:0; }
/* 有些手机浏览器会把「下一页 / 下一章」链接自动标成绿色：文字包一层 span，颜色写死 */
.szw-rd-nav a .tx, .szw-rd-bottom .r1 a .tx { color:var(--rd-text); }
.szw-rd-nav a .tx:before, .szw-rd-bottom .r1 a .tx:before { color:var(--rd-text); }
.szw-rd-tools { display:flex; justify-content:space-between; align-items:center; margin:16px 0 -6px; font-size:15px; }
.szw-rd-tools a { color:var(--rd-text) !important; opacity:.85; display:inline-flex; align-items:center; gap:4px; }
.szw-rd-tools a i.szw-i { width:20px; height:20px; }
.szw-rd-tools a.ok { color:#3f9976 !important; opacity:1; }
.szw-rd-text .szw-more { color:#e0362b !important; text-align:center; text-indent:0; font-size:16px !important; cursor:pointer; }
.szw-toast { position:fixed; left:50%; top:45%; transform:translate(-50%,-50%); background:rgba(0,0,0,.78); color:#fff; padding:12px 18px; border-radius:8px; font-size:15px; z-index:99999; display:none; max-width:80%; text-align:center; line-height:1.6; }
.szw-form { padding:14px; background:var(--szw-card); }
.szw-form .tip { color:var(--szw-sub); font-size:14px; line-height:1.7; margin:0 0 12px; }
.szw-form label { display:block; font-size:14px; color:var(--szw-sub); margin:10px 0 6px; }
.szw-form input, .szw-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--szw-line); border-radius:4px; padding:10px 12px; font-size:16px; background:var(--szw-input); color:var(--szw-text); outline:0; }
.szw-form textarea { resize:vertical; line-height:1.6; }
.szw-form button { display:block; width:100%; margin-top:16px; padding:12px 0; border:0; border-radius:4px; background:var(--szw-main); color:#fff; font-size:16px; }
.szw-form button:disabled { opacity:.6; }
.szw-form .msg { text-align:center; margin-top:10px; font-size:14px; min-height:20px; }
.szw-form .msg.ok { color:#3f9976; } .szw-form .msg.err { color:#e0362b; }
.szw-form .done { text-align:center; padding:26px 0 10px; }
.szw-form .done i.szw-i { width:64px; height:64px; color:var(--szw-main); }
.szw-form .done h3 { margin:12px 0 6px; font-size:19px; }
.szw-form .done p { color:var(--szw-sub); font-size:14px; margin:0 0 20px; }
.szw-form .done .home, .szw-form .home { display:inline-block; padding:11px 34px; border-radius:4px; background:var(--szw-main); color:#fff !important; font-size:16px; }
.szw-form .err-box { background:#fdf0ee; border:1px solid #f5cfc8; color:#c0392b; padding:10px 12px; border-radius:4px; font-size:14px; margin-bottom:12px; }
.szw-form label i { color:#e0362b; font-style:normal; margin-right:3px; }
.szw-rd-links { text-align:center; margin:14px 0 6px; font-size:15px; }
.szw-rd-links a { color:var(--rd-text) !important; text-decoration:underline; margin:0 10px; }
.szw-rd-vip { text-align:center; font-size:14px; opacity:.8; margin:0 0 10px; }
.szw-rd-foot { text-align:center; font-size:13px; opacity:.75; line-height:1.8; padding:0 6px; }
/* 设置抽屉（照参考图：返回 | 细体 | A- 20 A+ ，下面一排颜色横着拖） */
.szw-rd-set { position:fixed; left:0; right:0; bottom:0; z-index:9990; display:none; background:var(--rd-bar); color:var(--rd-text); padding:12px 12px 14px; box-shadow:0 -3px 12px rgba(0,0,0,.15); }
html.set-open .szw-rd-bottom { display:none; }
.szw-rd-set .r { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:16px; }
.szw-rd-set .r a { color:var(--rd-text) !important; }
.szw-rd-set .r a.back { display:flex; align-items:center; gap:4px; width:76px; }
.szw-rd-set .r a.back i.szw-i { width:22px; height:22px; }
.szw-rd-set .r a.btn { border:1px solid var(--rd-text); border-radius:20px; padding:6px 18px; opacity:.85; white-space:nowrap; }
.szw-rd-set .r b { font-weight:400; min-width:30px; text-align:center; }
.szw-rd-set .sw { display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:2px 0 4px; }
.szw-rd-set .sw a { flex:0 0 88px; height:40px; border-radius:20px; border:1px solid rgba(0,0,0,.15); text-align:center; line-height:40px; font-size:13px; color:#333 !important; position:relative; overflow:hidden; }
.szw-rd-set .sw a.on { border:1px solid #444; font-weight:700; }
.szw-rd-set .ft { display:flex; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:10px 0 2px; }
.szw-rd-set .ft a { flex:0 0 auto; padding:6px 14px; border-radius:16px; border:1px solid var(--rd-text); color:var(--rd-text) !important; font-size:15px; opacity:.8; white-space:nowrap; }
.szw-rd-set .ft a.on { background:#5eae91; border-color:#5eae91; color:#fff !important; opacity:1; }
.szw-rd-set .sw a.custom input { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; }

/* ---------- 翻页条的「点这里可跳转分页」指引（每个读者只出现一次，2 秒后淡掉） ----------
 * 飞机只在 3 页以上才显示（由 szw.js 控制），1–2 页时藏起来，读者用上一页 / 下一页就行 */
.szw-pager { position:relative; }
.szw-pager .szw-ptip { position:absolute; left:50%; top:100%; margin-top:9px; transform:translateX(-50%); z-index:40;
	background:var(--szw-main-d); color:#fff !important; font-size:14px; line-height:1; white-space:nowrap;
	padding:9px 14px; border-radius:16px; box-shadow:0 2px 8px rgba(0,0,0,.28);
	opacity:1; transition:opacity .4s; pointer-events:none; }
.szw-pager .szw-ptip:before { content:''; position:absolute; left:50%; top:-5px; margin-left:-5px;
	border:5px solid transparent; border-bottom-color:var(--szw-main-d); border-top:0; }
.szw-pager .szw-ptip.out { opacity:0; }
