/* css/reading.css — 分级阅读模块样式（类名前缀 rd-）
   依赖 css/variables.css 的设计令牌，必须在其后加载。
   配色沿用主题变量，跟随 8 套主题自动切换。 */

/* ── 难度选择条 ── */
.rd-levelbar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rd-levelbar::-webkit-scrollbar{display:none}
.rd-levelchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);font-family:var(--font);font-size:calc(13px * var(--fs,1));font-weight:700;cursor:pointer;transition:all var(--transition-normal)}
.rd-levelchip .rd-lv-n{font-size:calc(10px * var(--fs,1));font-weight:500;opacity:.7}
.rd-levelchip:hover{border-color:var(--rdc,var(--green));color:var(--rdc,var(--green))}
.rd-levelchip.on{background:var(--rdc,var(--green));border-color:var(--rdc,var(--green));color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.rd-levelchip.on .rd-lv-n{opacity:.85}

/* ── 难度说明卡 ── */
.rd-levelinfo{border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}
.rd-li-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.rd-li-tag{display:inline-block;padding:3px 10px;border-radius:8px;color:#fff;font-size:calc(12px * var(--fs,1));font-weight:800;letter-spacing:.5px}
.rd-li-alias{font-size:calc(12px * var(--fs,1));color:var(--text-light)}
.rd-li-desc{font-size:calc(13px * var(--fs,1));color:var(--text);line-height:1.6}

/* ── 统计条 ── */
.rd-statbar{display:flex;gap:10px;margin-bottom:14px}
.rd-stat{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;text-align:center;box-shadow:var(--shadow)}
.rd-stat-n{display:block;font-size:calc(20px * var(--fs,1));font-weight:800;color:var(--green);font-family:var(--font-display)}
.rd-stat-l{display:block;font-size:calc(11px * var(--fs,1));color:var(--text-lighter);margin-top:2px}

/* ── 文章卡片 ── */
.rd-list{display:grid;grid-template-columns:1fr;gap:12px}
.rd-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-normal),border-color var(--transition-normal);box-shadow:var(--shadow)}
.rd-card:hover{border-color:var(--green);box-shadow:var(--shadow-md)}
.rd-card:active{transform:scale(.99)}
.rd-card.is-read{background:var(--hover-bg)}
.rd-card-main{flex:1 1 auto;min-width:0}
.rd-card-thumb{flex:0 0 auto;width:86px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--section-bg)}
.rd-card-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rd-card-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rd-badge{display:inline-block;padding:2px 9px;border-radius:7px;color:#fff;font-size:calc(11px * var(--fs,1));font-weight:800;letter-spacing:.5px}
.rd-readflag{margin-left:auto;font-size:calc(11px * var(--fs,1));color:var(--green);font-weight:700}
.rd-card-title{font-size:calc(16px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.35;margin-bottom:3px}
.rd-card-cn{font-size:calc(16px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.35;margin-bottom:10px}
.rd-card-foot{display:flex;align-items:center;gap:6px;font-size:calc(11px * var(--fs,1));color:var(--text-lighter);flex-wrap:wrap}
.rd-dot{opacity:.42;margin:0 1px}
.rd-empty{text-align:center;padding:40px 20px;color:var(--text-lighter);font-size:calc(13px * var(--fs,1))}

/* ── 文章配图：标题下方、正文上方 ── */
.rd-cover{margin:0 0 12px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--section-bg)}
.rd-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

/* ── 文章页头部 ── */
.rd-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.rd-back{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:6px 12px 6px 8px;border-radius:10px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font);font-size:calc(13px * var(--fs,1));font-weight:600;cursor:pointer;transition:all var(--transition-fast)}
.rd-back:active{background:var(--section-bg)}
.rd-head-titles{flex:1;min-width:0}
.rd-download{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);font-family:var(--font);font-size:calc(12px * var(--fs,1));font-weight:700;cursor:pointer;transition:all var(--transition-fast)}
.rd-download svg{width:14px;height:14px}
.rd-download:hover{border-color:var(--green);color:var(--green)}
.rd-download:active{transform:scale(.97)}
.rd-dl-wrap{position:relative;flex:0 0 auto}
.rd-dl-wrap .rd-download{padding:7px 9px}
.rd-download[aria-expanded="true"]{border-color:var(--green);color:var(--green)}
.rd-dl-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:160;width:224px;padding:6px;border:1.5px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-md)}
.rd-dl-menu.on{display:block}
.rd-dl-tip{padding:3px 9px 6px;font-size:calc(10.5px * var(--fs,1));font-weight:700;color:var(--text-lighter);letter-spacing:.4px}
.rd-dl-item{display:block;width:100%;padding:8px 9px;border:none;border-radius:9px;background:transparent;text-align:left;cursor:pointer;font-family:var(--font)}
.rd-dl-item:hover{background:var(--section-bg)}
.rd-dl-item:active{transform:scale(.98)}
.rd-dl-item b{display:block;font-size:calc(12.5px * var(--fs,1));font-weight:700;color:var(--text)}
.rd-dl-item span{display:block;margin-top:2px;font-size:calc(10.5px * var(--fs,1));color:var(--text-lighter)}
.rd-head-en{font-size:calc(19px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.3}
/* 中文标题：字号与字重跟英文标题保持一致（仅标题如此，正文译文不受影响） */
.rd-head-cn{font-size:calc(19px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.3;margin-top:4px}
.rd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rd-meta-item{font-size:calc(11px * var(--fs,1));color:var(--text-light);background:var(--section-bg);padding:3px 9px;border-radius:6px}

/* ── 工具条 ── */
.rd-toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.rd-tool{padding:7px 14px;border-radius:18px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);font-family:var(--font);font-size:calc(12px * var(--fs,1));font-weight:600;cursor:pointer;transition:all var(--transition-fast)}
.rd-tool.on{background:var(--green);border-color:var(--green);color:#fff}
.rd-tool:active{transform:scale(.97)}

/* ── 正文 ── */
.rd-body{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 8px;box-shadow:var(--shadow)}
.rd-para{margin-bottom:16px}
.rd-para-en{font-size:calc(16px * var(--fs,1));line-height:1.95;color:var(--text);letter-spacing:.1px}
/* 段落译文：默认收起；段尾「译」单独展开，工具条「全文翻译」全部展开 */
.rd-para-cn{display:none;font-size:calc(13px * var(--fs,1));line-height:1.85;color:var(--text-light);margin-top:6px;padding-left:12px;border-left:2.5px solid var(--green-light)}
.rd-para-cn.on{display:block}
.rd-body.no-gloss .rd-w-key{background:transparent;color:inherit;font-weight:inherit;border-bottom:none;box-shadow:none;text-decoration:none;text-decoration-color:transparent}

/* 段首「读」/ 段尾「译」 */
.rd-mini{display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;min-width:19px;height:19px;padding:0 5px;margin:0 4px;border-radius:6px;border:1px solid var(--border);background:var(--section-bg);color:var(--text-light);font-family:var(--font);font-size:calc(11px * var(--fs,1));font-weight:700;line-height:1;cursor:pointer;transition:all var(--transition-fast)}
.rd-mini:hover{border-color:var(--green);color:var(--green)}
.rd-mini.on{background:var(--green);border-color:var(--green);color:#fff}
.rd-mini-read{margin-right:6px}
.rd-mini-tr{margin-left:6px}

/* 题目中文译文（默认隐藏；上方总开关一次性全开，每题/每选项后的「译」单独切换） */
.rd-q-cn,.rd-q-optcn{display:none}
.rd-q-cn{font-size:calc(12.5px * var(--fs,1));color:var(--text-light);margin:-6px 0 10px 28px;line-height:1.6}
.rd-q-cn.on{display:block}
.rd-q-optcn{display:none;font-style:normal;font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);margin-left:6px}
.rd-q-optcn.on{display:inline}
/* 题干的「译」与选项的「译」复用 .rd-mini 基础样式 */
.rd-qtr{margin-left:7px;vertical-align:top}
.rd-qotr{margin-left:7px}
.rd-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rd-section-head .rd-section-title{margin-bottom:0}
.rd-qcn-toggle{flex:0 0 auto;padding:5px 12px;border-radius:14px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);font-family:var(--font);font-size:calc(11.5px * var(--fs,1));font-weight:700;cursor:pointer;transition:all var(--transition-fast)}
.rd-qcn-toggle.on{background:var(--green);border-color:var(--green);color:#fff}
/* 题目分组：可折叠（默认全部折起，点标题展开） */
.rd-qgrp{margin:8px 0 12px}
.rd-qgroup{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--section-bg);font-family:var(--font);text-align:left;cursor:pointer;transition:all var(--transition-fast)}
.rd-qgroup:hover{border-color:var(--orange)}
.rd-qgroup[disabled]{cursor:default}
.rd-qgroup[disabled]:hover{border-color:var(--border)}
.rd-qgroup-label{flex:1;font-size:calc(12px * var(--fs,1));font-weight:800;color:var(--text-light);letter-spacing:.5px}
.rd-qgroup-label::before{content:'';display:inline-block;width:3px;height:12px;border-radius:2px;background:var(--orange);margin-right:7px;vertical-align:-1px}
.rd-qgrp.is-done .rd-qgroup-label::before{background:var(--green)}
.rd-qgroup-n{flex:0 0 auto;font-size:calc(11px * var(--fs,1));font-weight:700;color:var(--orange-dark)}
.rd-qgroup-n.full{color:var(--green-dark)}
.rd-qgroup-chev{flex:0 0 auto;width:14px;height:14px;color:var(--text-lighter);transition:transform .2s}
.rd-qgrp.closed .rd-qgroup-chev{transform:rotate(-90deg)}
.rd-qgrp.closed .rd-qgroup{background:var(--card)}
.rd-qgrp.is-done .rd-qgroup-n{color:var(--green-dark)}
body.theme-dark .rd-qgroup-n,body.theme-darkglass .rd-qgroup-n{color:var(--orange)}
body.theme-dark .rd-qgrp.is-done .rd-qgroup-n,body.theme-darkglass .rd-qgrp.is-done .rd-qgroup-n{color:var(--green)}
.rd-qgrp.closed .rd-qgrp-body{display:none}
.rd-qgrp-body{padding-top:2px}

/* 正文中出现的短语：虚线下划线，点击进短语详情页 */
.rd-ph{cursor:pointer;border-radius:3px;border-bottom:1px dashed var(--green-dark);transition:background .12s}
.rd-ph:hover{background:var(--hover-bg)}
body.theme-dark .rd-ph,body.theme-darkglass .rd-ph{border-bottom-color:var(--green)}

/* 可点词 */
.rd-w{cursor:pointer;border-radius:3px;transition:background .12s}
.rd-w:hover{background:var(--hover-bg)}
.rd-w-key{background:transparent;color:#7ED957;font-weight:inherit;border-radius:0;box-shadow:none;text-decoration:underline;text-decoration-color:rgba(126,217,87,.75);text-decoration-thickness:1.5px;text-underline-offset:3px}
.rd-w-key:hover{text-decoration-color:#7ED957}

/* ── 点词底部交互栏：给主要释义，不跳转、不遮挡正文 ── */
.rd-wsheet{position:fixed;left:0;right:0;bottom:0;z-index:150;max-width:680px;margin:0 auto;background:var(--card);border-radius:20px 20px 0 0;box-shadow:0 -6px 28px rgba(0,0,0,.16);padding:0 20px calc(16px + env(safe-area-inset-bottom,0));transform:translateY(105%);visibility:hidden;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility .28s}
.rd-wsheet.on{transform:translateY(0);visibility:visible}
.rd-ws-grip{height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.rd-ws-grip::after{content:'';width:44px;height:5px;border-radius:3px;background:var(--border)}
.rd-ws-head{display:flex;align-items:flex-start;gap:10px}
.rd-ws-word{flex:1;min-width:0;font-family:var(--font-display);font-size:calc(27px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.15;word-break:break-word}
.rd-ws-fav{flex:0 0 auto;width:34px;height:34px;border:none;background:transparent;font-size:calc(20px * var(--fs,1));line-height:1;color:var(--text-lighter);cursor:pointer;border-radius:10px;transition:transform .12s,color .12s}
.rd-ws-fav.on{color:var(--orange)}
.rd-ws-fav:active{transform:scale(.9)}
.rd-ws-phon{display:flex;align-items:center;gap:9px;margin-top:2px}
.rd-ws-spk{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--section-bg);font-size:calc(13px * var(--fs,1));color:var(--text);cursor:pointer;transition:transform .12s,border-color .12s}
.rd-ws-spk:active{transform:scale(.92);border-color:var(--green)}
.rd-ws-ipa{font-size:calc(13.5px * var(--fs,1));color:var(--text-light);letter-spacing:.3px}
.rd-ws-defs{margin-top:11px;max-height:26vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.rd-ws-row{display:flex;align-items:baseline;gap:7px;margin-top:5px}
.rd-ws-row:first-child{margin-top:0}
.rd-ws-pos{flex:0 0 auto;font-size:calc(12px * var(--fs,1));color:var(--text-lighter);font-weight:600}
.rd-ws-mean{flex:1;min-width:0;font-size:calc(14.5px * var(--fs,1));line-height:1.6;color:var(--text)}
.rd-ws-foot{display:flex;justify-content:flex-end;margin-top:10px}
.rd-ws-more{border:none;background:transparent;padding:6px 2px;font-size:calc(13px * var(--fs,1));font-weight:700;color:var(--green-dark);cursor:pointer}
.rd-ws-more:active{opacity:.6}
.rd-wsheet.is-phrase .rd-ws-word{font-size:calc(19px * var(--fs,1));line-height:1.35}
.rd-ws-extra{display:none;margin-top:11px}
.rd-ws-sub{font-size:calc(10.5px * var(--fs,1));font-weight:700;color:var(--text-lighter);letter-spacing:.4px;margin-bottom:6px}
.rd-ws-chips{display:flex;flex-wrap:wrap;gap:6px}
.rd-ws-chip{padding:5px 11px;border:1.5px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);font-family:var(--font);font-size:calc(12.5px * var(--fs,1));font-weight:600;cursor:pointer}
.rd-ws-chip:hover{border-color:var(--green);color:var(--green)}
.rd-ws-chip:active{transform:scale(.96)}

/* ── 区块 ── */
.rd-section{margin-top:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.rd-section-title{font-size:calc(14px * var(--fs,1));font-weight:800;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.rd-section-title::before{content:'';width:3px;height:14px;border-radius:2px;background:var(--green)}

/* ── 核心词汇 ── */
.rd-gloss{display:flex;flex-wrap:wrap;gap:8px}
.rd-gloss-item{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:10px;background:var(--section-bg);border:1px solid var(--border);cursor:pointer;font-size:calc(12px * var(--fs,1));color:var(--text-light);transition:all var(--transition-fast)}
.rd-gloss-item b{font-size:calc(13.5px * var(--fs,1));color:var(--text);font-weight:700}
.rd-gloss-item:hover{border-color:var(--green);background:var(--hover-bg)}

/* ── 理解题 ── */
.rd-q{padding:12px 0;border-bottom:1px dashed var(--border)}
.rd-q:last-of-type{border-bottom:none}
.rd-q-t{font-size:calc(14px * var(--fs,1));font-weight:600;color:var(--text);line-height:1.7;margin-bottom:10px}
.rd-q-n{display:inline-flex;width:20px;height:20px;border-radius:6px;background:var(--green);color:#fff;font-size:calc(11px * var(--fs,1));font-weight:800;align-items:center;justify-content:center;margin-right:8px;vertical-align:-3px}
.rd-q-opts{display:grid;grid-template-columns:1fr;gap:7px}
.rd-q-opt{display:flex;gap:8px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);background:var(--card);font-size:calc(13px * var(--fs,1));color:var(--text);cursor:pointer;transition:all var(--transition-fast);line-height:1.5}
.rd-q-opt:hover{border-color:var(--green)}
.rd-q-optxt{flex:1;min-width:0}
.rd-q-key{flex:0 0 auto;width:18px;height:18px;border-radius:5px;background:var(--section-bg);color:var(--text-light);font-size:calc(11px * var(--fs,1));font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.rd-q-opt.done{cursor:default}
.rd-q-opt.done:hover{border-color:var(--border)}
.rd-q-opt.right{border-color:var(--green);background:var(--correct-bg)}
.rd-q-opt.right .rd-q-key{background:var(--green);color:#fff}
.rd-q-opt.wrong{border-color:var(--red);background:var(--wrong-bg)}
.rd-q-opt.wrong .rd-q-key{background:var(--red);color:#fff}
.rd-q-explain{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--section-bg);font-size:calc(12.5px * var(--fs,1));line-height:1.7;color:var(--text-light)}
.rd-exp-tag{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:6px;font-size:calc(11px * var(--fs,1));font-weight:800;color:#fff}
.rd-exp-tag.ok{background:var(--green)}
.rd-exp-tag.no{background:var(--red)}

.rd-q-result{display:none;margin-top:14px;padding:14px;border-radius:12px;background:var(--section-bg);text-align:center;font-size:calc(13px * var(--fs,1));color:var(--text-light)}
.rd-q-result.done{background:var(--correct-bg)}
.rd-res-score{font-size:calc(30px * var(--fs,1));font-weight:800;color:var(--green);font-family:var(--font-display);line-height:1.1}
.rd-res-score span{font-size:calc(15px * var(--fs,1));color:var(--text-light)}
.rd-res-tip{font-size:calc(12.5px * var(--fs,1));color:var(--text-light);margin-top:4px}
.rd-hist{margin-top:10px;text-align:center;font-size:calc(12px * var(--fs,1));color:var(--text-lighter)}

/* ── 完成按钮 ── */
.rd-finish{width:100%;margin:18px 0 8px;padding:14px;border:none;border-radius:14px;background:var(--green);color:#fff;font-family:var(--font);font-size:calc(15px * var(--fs,1));font-weight:800;cursor:pointer;box-shadow:var(--shadow-green);transition:transform var(--transition-fast),filter var(--transition-fast)}
.rd-finish:active{transform:scale(.98)}
.rd-finish.done{background:var(--hover-bg);color:var(--green);box-shadow:none;border:1.5px dashed var(--green)}
.rd-finish:disabled{background:var(--section-bg);color:var(--text-lighter);box-shadow:none;cursor:not-allowed;border:1.5px dashed var(--border)}
.rd-finish:disabled:active{transform:none}

/* ── 暗色主题适配 ── */
body.theme-dark .rd-para-cn,body.theme-darkglass .rd-para-cn{border-left-color:rgba(255,255,255,.18)}
body.theme-dark .rd-w-key,body.theme-darkglass .rd-w-key{background:transparent;color:#7ED957;box-shadow:none;text-decoration-color:rgba(126,217,87,.6)}
body.theme-dark .rd-card:hover,body.theme-darkglass .rd-card:hover{border-color:var(--green)}
body.theme-dark .rd-issue,body.theme-darkglass .rd-issue{background:var(--section-bg)}
body.theme-dark .rd-typechip.on,body.theme-darkglass .rd-typechip.on{background:var(--green);border-color:var(--green);color:#fff}
body.theme-dark .rd-typechip.rd-tp-ext.on,body.theme-darkglass .rd-typechip.rd-tp-ext.on,
body.theme-dark .rd-typechip.rd-rg-ext.on,body.theme-darkglass .rd-typechip.rd-rg-ext.on{background:var(--rdc,var(--blue));border-color:var(--rdc,var(--blue));color:#fff}
body.theme-dark .rd-phrase,body.theme-darkglass .rd-phrase{background:var(--section-bg)}

/* ── 栏目 / 专题切换（阅读文章 / 阅读期刊 / 历史记忆 / 自然地理，地域为二级）── */
.rd-typebar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rd-typechip{flex:0 0 auto;padding:7px 18px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);font-family:var(--font);font-size:calc(13px * var(--fs,1));font-weight:700;cursor:pointer;transition:all var(--transition-fast)}
.rd-typechip:hover{border-color:var(--green);color:var(--green)}
.rd-typechip.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 12px rgba(var(--green-rgb),.22)}
/* 专题（历史记忆 / 自然地理）与地域（中国 / …）chip：外观沿用栏目 chip，选中态跟随各自的 --rdc */
.rd-typechip.rd-tp-ext:hover,.rd-typechip.rd-rg-ext:hover{border-color:var(--rdc,var(--blue));color:var(--rdc,var(--blue))}
.rd-typechip.rd-tp-ext.on,.rd-typechip.rd-rg-ext.on{background:var(--rdc,var(--blue));border-color:var(--rdc,var(--blue));color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12)}
/* 地域条（二级）：版面与栏目条一致，上边收 2px 让它贴近所属栏目 */
.rd-regionbar{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 10px}
/* 卡片上的专题小标：描边式，比学段徽标轻 */
.rd-cnflag{font-size:calc(10.5px * var(--fs,1));font-weight:800;padding:2px 8px;border-radius:6px;border:1px solid;letter-spacing:.3px}
/* 说明卡里的「收录」补充行 */
.rd-cn-eg{font-size:calc(12px * var(--fs,1));color:var(--text-lighter);margin-top:6px}

/* ── 期刊标识 ── */
.rd-jnflag{font-size:calc(10.5px * var(--fs,1));font-weight:800;color:var(--purple);background:var(--purple-light);padding:2px 8px;border-radius:6px}
.rd-card.is-journal{border-left:3px solid var(--purple)}
.rd-card-issue{font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);margin:-4px 0 9px}
/* ── 期刊架 / 定时发布 ── */
.rd-jnhead{display:flex;align-items:baseline;gap:8px;padding:16px 2px 8px;border-bottom:1px solid var(--border);margin:0 0 12px}
.rd-jnhead:first-child{padding-top:2px}
.rd-jnhead-name{font-size:calc(14.5px * var(--fs,1));font-weight:800;color:var(--text)}
.rd-jnhead-n{font-size:calc(11px * var(--fs,1));font-weight:600;color:var(--text-lighter)}
.rd-nextup{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:12px;border:1px dashed var(--orange);border-radius:var(--radius-sm);background:var(--card)}
.rd-nextup-tag{flex:0 0 auto;font-size:calc(10.5px * var(--fs,1));font-weight:800;color:#fff;background:var(--orange);padding:2px 8px;border-radius:6px}
.rd-nextup-txt{font-size:calc(12px * var(--fs,1));font-weight:600;line-height:1.55;color:var(--text-light)}
.rd-issue{border-left:3px solid var(--green);background:var(--section-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 14px;margin-bottom:12px}
.rd-issue-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.rd-issue-name{font-size:calc(14px * var(--fs,1));font-weight:800;color:var(--text)}
.rd-issue-no{font-size:calc(11.5px * var(--fs,1));color:var(--text-light)}
.rd-issue-date{font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);margin-top:3px}

/* ── 操作提示 ── */
.rd-hint{font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);margin:-6px 0 12px}

/* ── 核心短语 ── */
.rd-phrases{display:grid;grid-template-columns:1fr;gap:8px}
.rd-phrase{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:10px;background:var(--section-bg);border:1px solid var(--border);transition:border-color var(--transition-fast)}
.rd-phrase:hover{border-color:var(--green)}
.rd-phrase-en{font-size:calc(13.5px * var(--fs,1));font-weight:700;color:var(--text)}
.rd-phrase-cn{font-size:calc(12.5px * var(--fs,1));color:var(--text-light);line-height:1.6}
.rd-phrase-tag{flex:0 0 auto;margin-left:auto;font-size:calc(10px * var(--fs,1));font-weight:800;color:var(--purple);background:var(--purple-light);padding:2px 7px;border-radius:6px}

/* ── 素材来源 ── */
.rd-source{margin-top:10px;font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);line-height:1.7;padding-left:2px}
.rd-src-lic{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:6px;background:var(--section-bg);font-size:calc(10.5px * var(--fs,1));color:var(--text-lighter)}

/* ── 响应式：宽屏也保持单列（一排一篇）── */
@media(min-width:640px){
  .rd-list{grid-template-columns:1fr}
  .rd-q-opts{grid-template-columns:1fr 1fr}
  .rd-phrases{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
  .rd-para-en{font-size:calc(15px * var(--fs,1))}
  .rd-statbar{gap:6px}
  .rd-stat{padding:10px 4px}
}


/* ── 中文标题：改用宋体（衬线），与英文标题形成阅读节奏，更接近纸质读物 ── */
.rd-head-cn,.rd-card-cn{font-family:"Songti SC","STSong","Nimbus Roman No9 L","SimSun","宋体",Georgia,serif}

/* ── 高级期刊：学术词 / 专有名词标注区 ── */
.rd-acad{margin-top:12px;border:1px dashed var(--purple);border-radius:var(--radius-sm);background:var(--card);padding:12px 14px}
.rd-acad-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.rd-acad-tag{flex:0 0 auto;font-size:calc(10.5px * var(--fs,1));font-weight:800;color:#fff;background:var(--purple);padding:2px 8px;border-radius:6px}
.rd-acad-note{font-size:calc(11.5px * var(--fs,1));color:var(--text-lighter);line-height:1.5}
.rd-acad-list{display:flex;flex-wrap:wrap;gap:7px}
.rd-acad-item{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;border-radius:9px;background:var(--purple-light);border:1px solid var(--border);cursor:pointer;font-size:calc(11.5px * var(--fs,1));color:var(--text-light);transition:border-color var(--transition-fast)}
.rd-acad-item b{font-size:calc(12.5px * var(--fs,1));color:var(--text);font-weight:700}
.rd-acad-item:hover{border-color:var(--purple)}
.rd-acad-cat{font-size:calc(9.5px * var(--fs,1));color:var(--purple);font-weight:800;letter-spacing:.3px}
body.theme-dark .rd-acad-item,body.theme-darkglass .rd-acad-item{background:var(--section-bg)}

.rd-acad-item.dis{cursor:default;opacity:.72}
.rd-acad-item.dis:hover{border-color:var(--border)}

/* ===== 文章页「在地图上看看」（只有带 place 的文章才渲染这颗按钮） ===== */
.rd-place-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--font);font-size:calc(11.5px * var(--fs,1));font-weight:700;
  color:var(--green-dark);background:var(--green-light);border:1px solid rgba(var(--green-rgb),.32);border-radius:6px;
  padding:3px 10px;cursor:pointer;line-height:1.5;-webkit-tap-highlight-color:transparent;
  transition:background .2s,border-color .2s,color .2s}
.rd-place-btn:hover{background:var(--green);border-color:var(--green);color:#fff}
.rd-place-btn svg{width:12px;height:12px;flex:0 0 auto}
body.theme-dark .rd-place-btn,body.theme-darkglass .rd-place-btn{background:rgba(var(--green-rgb),.14);
  border-color:rgba(var(--green-rgb),.4);color:var(--green)}
body.theme-dark .rd-place-btn:hover,body.theme-darkglass .rd-place-btn:hover{background:var(--green);color:#1c1c1c}

/* ── 合订成书（R35）── */
.rd-book{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.rd-book-hd{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background var(--transition-fast)}
.rd-book-hd:hover{background:var(--hover-bg)}
.rd-book-cover{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:58px;border-radius:7px;color:#fff;font-family:var(--font-display);font-size:calc(20px * var(--fs,1));font-weight:800;letter-spacing:0;line-height:1;background:linear-gradient(135deg,var(--green),var(--blue));box-shadow:0 3px 8px rgba(0,0,0,.18)}
.rd-book-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.rd-book-title{font-size:calc(16px * var(--fs,1));font-weight:800;color:var(--text);line-height:1.3}
.rd-book-sub{font-size:calc(11px * var(--fs,1));color:var(--text-lighter);line-height:1.4}
.rd-book-n{flex:0 0 auto;font-size:calc(11px * var(--fs,1));font-weight:700;color:var(--green);white-space:nowrap}
.rd-book-chev{flex:0 0 auto;font-size:calc(16px * var(--fs,1));color:var(--text-lighter);transition:transform var(--transition-fast);transform:rotate(0deg)}
.rd-book.on .rd-book-chev{transform:rotate(90deg)}
.rd-book-body{display:none}
.rd-book.on .rd-book-body{display:grid;grid-template-columns:1fr;gap:12px;padding:0 12px 12px}
.rd-book.on{border-color:var(--green)}

/* ═══════════ 第 40 轮：阅读「喜欢 / 收藏」+ 收藏库里的「收藏的阅读」 ═══════════
   两个按钮用内联 SVG + 显式 fill（js/de-emoji.js 会把字符 emoji 换成 fill:none 的线性图标，
   所以必须真 SVG）。文字颜色不动，只让图标填充变红 / 变金，避免暗色主题对比度问题。 */
.rd-tool.rd-react{display:inline-flex;align-items:center;gap:6px}
.rd-react-ico{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:fill var(--transition-fast),stroke var(--transition-fast)}
#rd-t-like.on{border-color:var(--red);background:rgba(255,107,122,.10)}
#rd-t-like.on .rd-react-ico{fill:var(--red);stroke:var(--red)}
#rd-t-fav.on{border-color:#E8A500;background:rgba(255,193,7,.14)}
#rd-t-fav.on .rd-react-ico{fill:#FFC107;stroke:#E8A500}

.rd-fav-sec{grid-column:1/-1;margin-bottom:14px}
.rd-fav-hd{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.rd-fav-ttl{font-size:calc(13px * var(--fs,1));font-weight:700;color:var(--text)}
.rd-fav-n{font-size:calc(11px * var(--fs,1));font-weight:700;color:var(--green);background:var(--green-light);border-radius:999px;padding:1px 8px;line-height:1.7}
.rd-fav-list{display:flex;flex-direction:column;gap:8px}
.rd-fav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);cursor:pointer;transition:all var(--transition-fast)}
.rd-fav-item:hover{border-color:var(--green);box-shadow:var(--shadow)}
.rd-fav-ic{flex:0 0 auto;width:18px;height:18px;display:inline-flex}
.rd-fav-ic svg{width:18px;height:18px;fill:#FFC107;stroke:#E8A500;stroke-width:1.5;stroke-linejoin:round}
.rd-fav-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rd-fav-en{font-size:calc(13px * var(--fs,1));font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-fav-cn{font-size:calc(12px * var(--fs,1));color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-fav-del{flex:0 0 auto;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--text-lighter);font-size:calc(17px * var(--fs,1));line-height:1;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font)}
.rd-fav-del:hover{background:rgba(255,107,122,.12);color:var(--red)}

/* ═══════════ R58-4 / R58-5：标题进正文栏 + 喜欢收藏移到底部 ═══════════
   R58-4：文章标题（英 / 中）从页面顶部 .rd-head 移进正文栏 .rd-body 的最上方；
          页面顶部只留「返回」和「下载全文」两端对齐。
   R58-5：喜欢 / 收藏 从工具条挪到文章最下方，并排等宽；「喜欢」右侧显示全平台点赞量。
   字号一律 calc(Npx * var(--fs,1))；颜色只用令牌，不写死主题色。 */
.rd-body-title{padding:2px 0 12px;margin:0 0 16px;border-bottom:1px solid var(--border)}
.rd-body-title .rd-head-en,
.rd-body-title .rd-head-cn{margin:0}
.rd-body-title .rd-head-cn{margin-top:4px}

.rd-react-bar{display:flex;gap:10px;margin:18px 0 4px}
.rd-react-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:46px;padding:11px 12px;border-radius:14px;border:1.5px solid var(--border);
  background:var(--card);color:var(--text-light);font-family:var(--font);
  font-size:calc(13px * var(--fs,1));font-weight:700;cursor:pointer;
  transition:all var(--transition-fast)}
.rd-react-btn:active{transform:scale(.98)}
.rd-react-btn.rd-react .rd-react-ico{width:17px;height:17px}
.rd-react-n{font-size:calc(12px * var(--fs,1));font-weight:800;color:var(--text-lighter)}
#rd-t-like.on .rd-react-n{color:var(--red)}
#rd-t-fav.on .rd-react-n{color:#E8A500}

/* 暗色两档：补 (0,2,0) 覆盖 body.theme-* * 的 color:inherit */
body.theme-dark .rd-react-btn,
body.theme-darkglass .rd-react-btn{color:var(--text-light);border-color:var(--border)}
body.theme-dark .rd-react-n,
body.theme-darkglass .rd-react-n{color:var(--text-lighter)}
body.theme-dark .rd-body-title,
body.theme-darkglass .rd-body-title{border-bottom-color:var(--border)}

/* ═══════════ R59-5 / R59-9：语文阅读页头 + 右上角 SVG 入口 ═══════════
   R59-5：语文阅读不再有「古诗文库 / 作者介绍」二级过滤条，页头左侧只显示当前栏目名，
          进入「作者」后给一个返回古诗文库的按钮。
   R59-9：作者 / 下载 / 笔记 三个入口都是纯 SVG 图标按钮，排在页头右侧；
          下载菜单直接复用英语阅读的 .rd-dl-wrap / .rd-dl-menu 一套样式。
   图标按钮与 .rd-download 同款描边风格，尺寸统一 38px（触控友好）。
   字号一律 calc(Npx * var(--fs,1))；颜色只用令牌，不写死主题色。 */
.rd-cn-bar{display:flex;align-items:center;gap:8px;margin:2px 0 12px}
.rd-cn-back{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:6px 12px 6px 8px;border-radius:10px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font);font-size:calc(13px * var(--fs,1));font-weight:600;cursor:pointer;transition:all var(--transition-fast)}
.rd-cn-back:hover{border-color:var(--green);color:var(--green)}
.rd-cn-back:active{background:var(--section-bg)}
.rd-cn-title{flex:0 0 auto;font-size:calc(16px * var(--fs,1));font-weight:800;color:var(--text)}
.rd-cn-spacer{flex:1;min-width:0}
.rd-cn-ibtn{flex:0 0 auto;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:12px;border:1.5px solid var(--border);background:var(--card);color:var(--text-light);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;appearance:none}
.rd-cn-ibtn svg{width:19px;height:19px;display:block}
.rd-cn-ibtn:hover{border-color:var(--green);color:var(--green)}
.rd-cn-ibtn:active{transform:scale(.96)}
.rd-cn-ibtn.on,.rd-cn-ibtn[aria-expanded="true"]{border-color:var(--green);background:rgba(var(--green-rgb),.12);color:var(--green)}

/* 暗色两档：补 (0,2,0) 覆盖 body.theme-* * 的 color:inherit */
body.theme-dark .rd-cn-back,
body.theme-darkglass .rd-cn-back{color:var(--text);border-color:var(--border)}
body.theme-dark .rd-cn-title,
body.theme-darkglass .rd-cn-title{color:var(--text)}
body.theme-dark .rd-cn-ibtn,
body.theme-darkglass .rd-cn-ibtn{color:var(--text-light);border-color:var(--border)}
body.theme-dark .rd-cn-ibtn.on,
body.theme-darkglass .rd-cn-ibtn.on,
body.theme-dark .rd-cn-ibtn[aria-expanded="true"],
body.theme-darkglass .rd-cn-ibtn[aria-expanded="true"]{background:rgba(var(--green-rgb),.18);border-color:var(--green);color:var(--green)}

