
/* 品字卡统一字体栈:优先 i/l 字形区分清晰的无衬线字体,避免小写i被渲染成竖线状(像l/1) */
#cd-overlay,#cd-overlay *{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Microsoft YaHei","PingFang SC",sans-serif}
#cd-overlay .cd-ieg-en,#cd-overlay .cd-chunk,#cd-overlay .cd-mg-root .cd-mg-t{font-family:Roboto,"Helvetica Neue",Arial,"Segoe UI",sans-serif}
#cd-overlay{position:fixed;inset:0;z-index:9800;background:rgba(20,14,6,.55);display:none;overflow-y:auto;padding:3vh 0}
#cd-overlay.on{display:block}
.cd-shell{position:relative;width:min(1240px,calc(100% - 32px));box-sizing:border-box;margin:0 auto;background:#f5f3ee;border:1px solid rgba(108,91,58,.18);border-radius:12px;padding:18px 20px 24px;box-shadow:0 20px 60px rgba(20,14,6,.38)}
.cd-close{position:absolute;top:12px;right:16px;border:none;background:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;color:#8a7f68;cursor:pointer;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:5}
.cd-loading{padding:60px 0;text-align:center;color:#8a96a5;font-size:15px}
.cd-hw-big{font-size:30px;font-weight:800;color:#0847a0;margin:2px 4px 12px}
.cd-meta{font-size:14px;color:#8a96a5;font-weight:400;margin-left:8px}
.cd-lv{font-size:12px;background:#e7dcc4;color:#6b5320;border-radius:6px;padding:2px 8px;margin-left:6px;vertical-align:middle}
/* 词头行:单词 + 英式音标🔊 + 美式音标🔊 + 词性 + 学段 + 考频 + AW */
.cd-hw-big{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.cd-hw-w{margin-right:4px}
.cd-pron{display:inline-flex;align-items:center;gap:3px;background:#f4f7fb;border:1px solid #e2eaf3;border-radius:7px;padding:1px 4px 1px 6px}
.cd-pron-t{font-size:10.5px;font-weight:700;color:#8a96a5;letter-spacing:.5px}
.cd-spk{border:0;background:transparent;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;border-radius:5px;color:#5c6b7a;white-space:nowrap}
.cd-spk:hover{background:#dceafb}
.cd-spk:active{transform:scale(.9)}
.cd-pron-set{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;min-width:0}
.cd-pron-pos{font-size:11px;font-weight:800;color:#445b70;margin-left:3px}
/* 同形异义词角标(lie¹ / lie²):词典惯例,紧贴词形右上 */
.cd-ho{font-size:.5em;font-weight:700;color:#a05a1a;vertical-align:super;line-height:0;margin-left:1px}
/* 同形异义词区分标签(refuse 拒绝 / refuse 废弃物) */
.cd-hm{font-size:12px;font-weight:600;background:#fdeee0;color:#a05a1a;border:1px solid #f3d9bd;border-radius:6px;padding:1px 8px}
.cd-hlinks{display:inline-flex;align-items:center;gap:4px;margin-left:4px;flex-wrap:wrap}
.cd-hlinks-lab{font-size:11px;color:#687684}
.cd-hlink{border:1px solid #c8d7e6;background:#fff;color:#174f83;border-radius:5px;padding:3px 7px;cursor:pointer;font:inherit;font-size:12px}
.cd-hlink:hover{background:#eaf4fd;border-color:#8eb6d8}
.cd-hlink span{color:#697988;margin-left:5px;font-size:11px}
/* 词性全称(Noun/Verb…),多词性并排 */
.cd-posx{font-size:11px;font-weight:600;font-style:italic;background:#eae4f5;color:#6a4aa0;border-radius:5px;padding:2px 7px}
/* 考频档:与 dict.js 的 .dq-f 同配色,保持全站一致 */
.cd-f{font-size:11px;font-weight:700;border-radius:5px;padding:2px 7px}
.cd-f.cd-f3{background:#f6d9cb;color:#a02f1a}
.cd-f.cd-f2{background:#e7dcc4;color:#7a5c1e}
.cd-f.cd-f1{background:#dfe6d4;color:#4f6a3a}
.cd-tip{position:relative;cursor:help;outline:none}
.cd-tip::before,.cd-tip::after{position:absolute;left:50%;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s,transform .14s;z-index:20}
.cd-tip::after{content:attr(data-tip);top:calc(100% + 9px);width:min(330px,72vw);transform:translate(-50%,-3px);box-sizing:border-box;padding:9px 11px;border-radius:6px;background:#26313b;color:#fff;font-size:12px;font-weight:500;line-height:1.55;white-space:normal;box-shadow:0 8px 24px rgba(18,25,32,.24)}
.cd-tip::before{content:"";top:calc(100% + 3px);border:6px solid transparent;border-bottom-color:#26313b;transform:translate(-50%,-3px)}
.cd-tip:hover::before,.cd-tip:hover::after,.cd-tip:focus-visible::before,.cd-tip:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
/* 音标 / AW学术词标 / 动词变位条 / 义项语域标 —— 词头区新增字段 */
.cd-phon{font-size:15px;font-weight:400;color:#5c6b7a;font-family:"Segoe UI Symbol","Segoe UI","Lucida Sans Unicode","Arial Unicode MS",sans-serif;vertical-align:middle}
.cd-phon-item{display:inline-flex;align-items:center;gap:1px}
.cd-phon-sep{color:#8a96a5;margin:0 4px;font-weight:400}
.cd-aw{font-size:11px;font-weight:700;background:#dceafb;color:#0847a0;border-radius:4px;padding:2px 6px;vertical-align:middle;letter-spacing:.5px}
.cd-vf-box{margin:-4px 4px 12px;display:flex;flex-wrap:wrap;gap:8px}
.cd-vf{font-size:12px;background:#f2f6fb;border:1px solid #dbe6f2;border-radius:6px;padding:2px 8px;white-space:nowrap}
.cd-vf-k{color:#8a96a5;margin-right:5px}
.cd-vf-v{color:#0847a0;font-weight:700}
.cd-reg{font-size:9.5px;font-weight:700;background:#e8f0e4;color:#3d6b2e;padding:0 5px;border-radius:3px;margin-left:6px;white-space:nowrap}
/* ⭐2026-08-13 右下"③语境练习"整区撤除 → 品字变**两口**(上图 + 下面全宽)。
   理由:左栏改成就地内联展开后,右栏每条都只是左栏例句的重排,无独占内容(详见 card.js:bind 注释)。
   ⚠️不再设 max-height:左栏原本限高 720px 是为了与右栏并排时两栏等高;
   现在它是唯一的内容区,限高只会凭空造出一个内滚条(overlay 本身已可滚)。 */
.cd-card{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "left";align-items:start}
.cd-zone{background:#fff;border:1px solid #e5e0d6;border-radius:8px;padding:15px 17px;box-shadow:0 2px 8px rgba(58,47,30,.055)}
.cd-z-top{grid-area:top}
.cd-z-left{grid-area:left}
.cd-z-title{font-size:13px;color:#69747f;font-weight:700;margin-bottom:9px;letter-spacing:0}
.cd-deriv{font-size:12.5px;color:#5b6675;line-height:1.65;margin-top:8px;background:#f7f9fc;border-radius:8px;padding:9px 12px}
/* ══ ① 上口图:通用 mindmap(根在左·分支向右逐级展开) ══
   形态对齐《48个词根思维导图》参考图:横向连线 + 逐级展开。

   ⚠️设计口径(用户要求"商务风、高级一点";搜索工具当时 403 拿不到实时参考,按通行设计原则做):
     ①**去掉高饱和多色底**。原版每个节点整框上色(#e8f1fd/#fdeaea/…六色),六色并置像儿童教具。
       改为**白底 + 极细边框 + 左侧 3px 色条** —— 色彩只作强调不作背景,克制。
     ②**降饱和**。主色从纯蓝/纯红(#1c6fd0/#c0392b)换成低饱和的石板蓝/砖红/林绿/古铜/紫檀/深青,
       明度统一压在 35–45%,六色摆一起是同一"重量",不会某一色跳出来。
     ③**层级靠字号与留白,不靠颜色**。根节点深墨底白字+字距;意群节点中等字重;义项节点常规字重。
     ④**左对齐**。中文长释义左对齐比居中易读(居中会让每行起点参差)。
     ⑤词性用淡灰 tspan 退到次要层,释义才是主角。
   三类图仍靠**形状+色系+连线**区分(形状是类别标记,不用来标层级)。 */
.cd-mg{width:100%;height:auto;display:block;margin:2px 0 6px}
.cd-mg-link{fill:none;stroke-width:1.2;opacity:.42}
.cd-mg-dash{stroke-width:1.4;stroke-dasharray:4 3;opacity:.65}  /* 跨词性短横线:比普通link略粗、虚线、略明显 */
.cd-mg-node rect{stroke-width:1}
.cd-mg-t{font-size:12.5px;font-weight:600}
.cd-mg-s{font-size:10px;opacity:.85}
.cd-mg-p{font-size:10.5px;fill:#9aa7b5;font-weight:500}   /* 词性:淡灰,退次要层 */
.cd-mg-ah{fill:currentColor;stroke:none}
.cd-mg-bar{stroke:none}                                    /* 左侧色条,填色由各图定 */
/* 派生连线:细但不透明 + 箭头,靠"实"而非"粗"与普通线分开(粗线在商务风里显笨重) */
.cd-mg-deriv{stroke-width:1.6;opacity:.9}

/* ── 图1 义群图:白底细线 + 左侧色条 + 低饱和六色 ──
   ⚠️**顺序要紧**:通用节点规则必须写在根节点规则**之前**。
   `.cd-mg-mind .cd-mg-node rect` 与 `.cd-mg-mind .cd-mg-root rect` 特异度相同(都是 0,2,1),
   同分时**后写的胜**。首版把通用规则放在后面 → 覆盖了根节点的深墨底、变成白底,
   而根节点文字是白字 ⇒ 白字白底,词头全部隐形(实测 8 个词的词头 字255/底255 全看不见)。 */
/* 通用节点:白底 + 浅灰细边(色彩只在左条与文字上) */
.cd-mg-mind .cd-mg-node rect{fill:#fff;stroke:#e3e8ee}
.cd-mg-mind .cd-mg-t{fill:#2b3541}
/* 根节点:**靛蓝**底白字(不用近黑 —— 黑底在浅色卡面上过于生硬,且与"高级"观感相悖)。
   选靛蓝的理由:它是冷色中性,能同时压住六色分支而不与其中任一色抢戏;
   且与词族图的石板蓝根(#2c4257)、词根图的古铜根(#5c4a2a)三者各自可辨。
   写在通用规则之后才能生效(特异度同分,后写的胜)。 */
.cd-mg-mind .cd-mg-root rect{fill:#2e3a6b;stroke:#2e3a6b;filter:drop-shadow(0 1px 3px rgba(46,58,107,.22))}
.cd-mg-mind .cd-mg-root .cd-mg-t{fill:#fff;font-size:14.5px;font-weight:700;letter-spacing:.4px}
.cd-mg-mind .cd-mg-root .cd-mg-s{fill:#c3cae4;letter-spacing:.2px}
/* 低饱和六色:石板蓝 / 砖红 / 林绿 / 古铜 / 紫檀 / 深青。明度统一,无一色跳出 */
.cd-mg-mind .cd-mg-c1 .cd-mg-bar{fill:#3f6d99}.cd-mg-mind .cd-mg-c1{color:#3f6d99}path.cd-mg-c1{stroke:#3f6d99}
.cd-mg-mind .cd-mg-c2 .cd-mg-bar{fill:#9c5a4e}.cd-mg-mind .cd-mg-c2{color:#9c5a4e}path.cd-mg-c2{stroke:#9c5a4e}
.cd-mg-mind .cd-mg-c3 .cd-mg-bar{fill:#4a7a5e}.cd-mg-mind .cd-mg-c3{color:#4a7a5e}path.cd-mg-c3{stroke:#4a7a5e}
.cd-mg-mind .cd-mg-c4 .cd-mg-bar{fill:#8d7038}.cd-mg-mind .cd-mg-c4{color:#8d7038}path.cd-mg-c4{stroke:#8d7038}
.cd-mg-mind .cd-mg-c5 .cd-mg-bar{fill:#6f5b86}.cd-mg-mind .cd-mg-c5{color:#6f5b86}path.cd-mg-c5{stroke:#6f5b86}
.cd-mg-mind .cd-mg-c6 .cd-mg-bar{fill:#3c7175}.cd-mg-mind .cd-mg-c6{color:#3c7175}path.cd-mg-c6{stroke:#3c7175}
/* 意群节点(带色条那层):文字取该群色,略重字重,与义项节点分层 */
.cd-mg-mind .cd-mg-c1 .cd-mg-t{fill:#3f6d99}.cd-mg-mind .cd-mg-c2 .cd-mg-t{fill:#9c5a4e}
.cd-mg-mind .cd-mg-c3 .cd-mg-t{fill:#4a7a5e}.cd-mg-mind .cd-mg-c4 .cd-mg-t{fill:#8d7038}
.cd-mg-mind .cd-mg-c5 .cd-mg-t{fill:#6f5b86}.cd-mg-mind .cd-mg-c6 .cd-mg-t{fill:#3c7175}
/* 义项节点文字回墨色 —— 释义是内容,不该被色彩牵走注意力。
   ⚠️用显式类 .cd-mg-leaf 而非 :not(:has(.cd-mg-bar)):`:has()` 老浏览器(含部分安卓 WebView)不支持,
   静默失效会让所有义项文字都染上意群色,反而更花。 */
.cd-mg-mind .cd-mg-leaf .cd-mg-t{fill:#2b3541;font-weight:500}
.cd-mg-mind .cd-mg-link{stroke:#c2ccd6;opacity:.75}

/* ── 图2 词族图:单色系(石板蓝) + 胶囊节点 + 虚线。
   词族成员本就同源,用多色反而暗示互不相干;构词手法只用边框深浅/虚实区分。 ── */
.cd-mg-fam .cd-mg-node rect{rx:13;fill:#fbfcfd;stroke:#cfd8e3}
.cd-mg-fam .cd-mg-link{stroke-dasharray:3 3;stroke-width:1.1;stroke:#a9b7c7;opacity:.75}
.cd-mg-fam .cd-mg-root rect{fill:#2c4257;stroke:#2c4257;filter:drop-shadow(0 1px 3px rgba(44,66,87,.18))}
.cd-mg-fam .cd-mg-root .cd-mg-t{fill:#fff;font-size:14.5px;font-weight:700;letter-spacing:.4px}
.cd-mg-fam .cd-mg-root .cd-mg-s{fill:#bccbd9}
.cd-mg-fam .cd-mg-t{fill:#33485e;font-weight:500}
/* 派生词的中文首义(副标题):比词形淡一档,让词形先被认出、释义作补充 */
.cd-mg-fam .cd-mg-s{fill:#7b8b9c}
.cd-mg-fam .cd-mg-c1 rect{stroke:#5c7f9e}      /* 名词化:最深 */
.cd-mg-fam .cd-mg-c3 rect{stroke:#7d9aaf}      /* 形容词化 */
.cd-mg-fam .cd-mg-c4 rect{stroke:#9db1c2}      /* 副词化 */
.cd-mg-fam .cd-mg-c5 rect{stroke:#7d9aaf;stroke-dasharray:4 3}   /* 前缀:虚边框 */
.cd-mg-fam .cd-mg-c2 rect{stroke:#3f5f7c;stroke-width:1.8}       /* 合成词:粗边框 */
.cd-mg-fam .cd-mg-c6 rect{stroke:#dbe2ea}      /* 相关词:最浅 */

/* ── 图3 词根图:低饱和古铜暖色 + 方角框 + 实线。暖色与前两张冷色系拉开。 ── */
.cd-mg-root_g .cd-mg-node rect{rx:3;fill:#fdfbf7;stroke:#d9c9a8;stroke-width:1.2}
.cd-mg-root_g .cd-mg-link{stroke:#c0aa82;stroke-width:1.5;opacity:.7}
.cd-mg-root_g .cd-mg-root rect{fill:#5c4a2a;stroke:#5c4a2a;filter:drop-shadow(0 1px 3px rgba(92,74,42,.2))}
.cd-mg-root_g .cd-mg-root .cd-mg-t{fill:#fff;font-size:14.5px;font-weight:700;letter-spacing:.4px}
.cd-mg-root_g .cd-mg-root .cd-mg-s{fill:#e0d3b8}
.cd-mg-root_g .cd-mg-t{fill:#5c4a2a;font-weight:500}
.cd-mg-root_g .cd-mg-bar{fill:#a58a52}
/* ⭐词级节点里的**词根部分高亮**:比词形其余字母更深更粗,一眼看出词根嵌在哪 */
.cd-mg-rt{fill:#0847a0;font-weight:800}
.cd-mg-root_g .cd-mg-rt{fill:#6f3600;font-weight:900}
/* 词素链节点(词根图第四级):副标题放 pos/义,字号比成词小一档 */
.cd-mg-root_g .cd-mg-s{fill:#8a7350}

/* 当前词(词族图/词根图里高亮"我在哪"):细描边 + 底色微提,不用粗框 */
.cd-mg-cur rect{stroke-width:1.8}
.cd-mg-cur .cd-mg-t{font-weight:600}
.cd-mg-cur .cd-mg-rt{font-weight:900;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}

/* 上口多图**横向并排**:各占等宽一栏,SVG 按 viewBox 自适应缩小。
   为什么并排:竖排时两三张图把上口撑得过高(charge 574+460 像素),把义项和例句挤到屏幕外;
   并排后每栏宽度减半、图跟着缩小,一屏能同时看到关系图与释义。 */
.cd-g-row{display:grid;gap:14px;align-items:start}
/* 单图不铺满整行:一张小词族图拉到 1365px 反而稀疏难读,限宽后居左更紧凑 */
.cd-g-n1{grid-template-columns:minmax(0,760px)}
.cd-g-n2{grid-template-columns:1fr 1fr}
.cd-g-n3{grid-template-columns:1fr 1fr 1fr}
.cd-g-col{min-width:0}                 /* grid 子项默认 min-width:auto,不加这条 SVG 撑破栏宽 */
.cd-g-col .cd-mg{max-height:340px}     /* 图太高时限高,靠 viewBox 等比缩 */
/* 窄屏回退成竖排(并排会把每栏压得太窄) */
@media(max-width:1100px){.cd-g-n2,.cd-g-n3{grid-template-columns:1fr}}
/* 小标题:三类图各用自己的主色,标题条本身就是类型标识 */
.cd-g-sub{font-size:11.5px;font-weight:700;margin:0 0 4px;padding-left:7px;border-left:3px solid}
.cd-gs-mind{color:#0847a0;border-color:#0847a0}
.cd-gs-fam{color:#12457e;border-color:#7d94b5}
.cd-gs-root{color:#8a5209;border-color:#c8891c}
/* 可点放大:整栏可点,hover 时给出可点提示(并排时每张只有 1/2~1/3 宽,细节看不清) */
.cd-g-zoomable{cursor:zoom-in;border-radius:9px;transition:background .15s,box-shadow .15s}
.cd-g-zoomable:hover{background:#f7fafd;box-shadow:0 0 0 1px #d8e4f0}
.cd-g-zi{font-size:10px;font-weight:600;color:#a8b4c2;margin-left:7px;letter-spacing:0}
.cd-g-zoomable:hover .cd-g-zi{color:#0847a0}
/* 放大层:z-index 高于词卡 overlay(9800),铺满视口看原尺寸图 */
#cd-zoom{position:fixed;inset:0;z-index:9900;background:rgba(16,22,32,.72);display:none;padding:3vh 3vw}
#cd-zoom.on{display:flex;align-items:center;justify-content:center}
.cd-zm-shell{background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(10,16,26,.55);
  max-width:1500px;width:100%;max-height:94vh;display:flex;flex-direction:column;overflow:hidden}
.cd-zm-bar{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid #eef2f6}
.cd-zm-tabs{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.cd-zm-tab{border:1px solid #dbe4ee;background:#f7fafd;color:#5c6b7a;font-size:12.5px;font-weight:600;
  border-radius:7px;padding:4px 12px;cursor:pointer}
.cd-zm-tab:hover{background:#eef5fd;color:#0847a0}
.cd-zm-tab.on{background:#0847a0;border-color:#0847a0;color:#fff}
.cd-zm-x{border:none;background:#f2f5f9;width:30px;height:30px;border-radius:50%;font-size:20px;
  color:#8a7f68;cursor:pointer;line-height:1;flex:none}
.cd-zm-x:hover{background:#e6ebf1}
/* 放大层里的图**不限高**(上口那条 max-height:340px 是为并排省纵向空间的),按 viewBox 铺满 */
.cd-zm-body{padding:14px 18px 18px;overflow:auto}
.cd-zm-body .cd-mg{max-height:none;width:100%;height:auto}
.cd-z-slim{padding:0;background:transparent;border:0;box-shadow:none}
.cd-z-slim .cd-deriv{margin:0}
/* 词根助记(词根图下方文字条) */
.cd-rg-tip{font-size:12.5px;color:#7a5a2a;line-height:1.65;background:#fdf8ee;border-radius:8px;padding:8px 11px;margin-top:4px}
.cd-grp{margin-bottom:10px}
.cd-grp-h{font-size:13.5px;font-weight:700;color:#fff;padding:3px 11px;border-radius:5px;display:inline-block;margin-bottom:5px}
.cd-grp-1{background:#1c6fd0}.cd-grp-2{background:#c0392b}.cd-grp-3{background:#2e8b57}.cd-grp-4{background:#b5730f}.cd-grp-5{background:#8b4ac0}.cd-grp-6{background:#0a9090}
.cd-sense{display:flex;align-items:center;gap:4px;flex-wrap:wrap;width:fit-content;max-width:100%;box-sizing:border-box;padding:7px 9px;margin:3px 0;border-radius:6px;cursor:pointer;font-size:15.5px;line-height:1.5;border:1px solid transparent}
.cd-sense:hover{background:#f2f6fb}
.cd-sense.cd-on{background:#fff6d9;border-color:#f0c877}
.cd-def-zh{font-weight:600}
.cd-cefr{background:#fbe8d0;color:#c0700f;font-size:10.5px;font-weight:700;padding:1px 5px;border-radius:3px;margin-right:5px}
.cd-textbook{background:#d4edda;color:#155724;font-size:10.5px;font-weight:700;padding:1px 5px;border-radius:3px;margin-right:5px}
.cd-tb-wrap{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;max-width:100%}
.cd-tb-more{opacity:.75;font-weight:800}
.cd-tb-rest{display:none;font-weight:700;opacity:.92}
.cd-tb-wrap.cd-tb-open .cd-tb-rest{display:inline}
.cd-tb-wrap.cd-tb-open .cd-tb-more{display:none}
.cd-pos{background:#eae4f5;color:#6a4aa0;font-size:11px;font-style:italic;padding:1px 6px;border-radius:3px;margin-right:5px}
.cd-count{font-style:normal}
.cd-hl{color:#1a8a3a;font-weight:700;background:#e7f8ea;padding:0 2px;border-radius:2px}
.cd-ft{font-size:9.5px;font-weight:700;padding:0 5px;border-radius:3px;margin-left:6px}
.cd-ft-hi{background:#fde0dc;color:#c0392b}
.cd-ft-mid{background:#fdf0d0;color:#a0700f}
.cd-ft-lo{background:#eceff2;color:#8a96a5}
.cd-chunk-box,.cd-fam-box{margin-top:12px;background:#f7f9fc;border-radius:8px;padding:9px 11px}
.cd-box-h{font-size:14px;font-weight:700;color:#3a4756;margin-bottom:6px}
.cd-cnt{background:#0847a0;color:#fff;border-radius:9px;padding:0 6px;font-size:10px}
.cd-chunk-row{display:flex;align-items:baseline;gap:6px;padding:5px 0;font-size:15px;line-height:1.5;flex-wrap:wrap}
.cd-chunk{color:#1a8a3a;font-weight:700;font-size:15.5px}.cd-chunk-zh{color:#4a5563;font-size:14px}
.cd-bg-idm{background:#f3e0ec;color:#8b0a50;font-size:9.5px;font-weight:700;padding:0 5px;border-radius:3px}
.cd-bg-pv{background:#e0e8f8;color:#2a55b0;font-size:9.5px;font-weight:700;padding:0 5px;border-radius:3px}
.cd-bg-kou{background:#fde8ef;color:#c0398b;font-size:9.5px;font-weight:700;padding:0 5px;border-radius:3px}
.cd-star{color:#e8890c;font-size:9.5px;font-weight:700}
.cd-fam-card{background:#eaf3ff;border:1px solid #b9d4f5;border-radius:8px;padding:7px 10px;margin:5px 0}
.cd-fam-w{color:#0a3d80;font-weight:800;font-size:16.5px;margin-bottom:2px}
.cd-fam-sense{padding:2px 0 3px 8px;border-left:2px solid #cfe0f5;margin:3px 0}
.cd-fam-zh{color:#2a4a70;font-size:14.5px;font-weight:600}
.cd-rel{font-size:12.5px;font-weight:650;margin-left:4px;white-space:nowrap}
.cd-rel-近{color:#3b6f9c}.cd-rel-反{color:#a14b43}.cd-rel-同{color:#477a4b}
.cd-grp-h .cd-rel{font-size:11.5px;margin-left:7px}
.cd-ang{background:#e3f0ff;color:#1c6fd0;font-size:9.5px;padding:0 5px;border-radius:3px;margin-right:4px}
.cd-src-o{background:#f3e9d6;color:#9a7a2a;font-size:10px;padding:0 5px;border-radius:3px;margin-right:4px}
/* 词块/派生可点(点开就地内联例句) */
.cd-chunk-row.cd-anc,.cd-fam-card.cd-anc{cursor:pointer}
.cd-chunk-row.cd-anc:hover{background:#eef7f0;border-radius:6px}
.cd-fam-card.cd-anc:hover{border-color:#8ab4e8;box-shadow:0 2px 8px rgba(28,111,208,.15)}
.cd-chunk-row.cd-on,.cd-fam-card.cd-on{background:#fff6d9;outline:1px solid #f0c877}
/* 同族词卡精简为一行(例句走行尾徽标 + 就地内联展开) */
.cd-fam-card{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.cd-fam-card .cd-fam-zh{font-weight:600}
/* 词块义项化(左栏) */
.cd-chunk-item{margin:6px 0;padding-bottom:5px;border-bottom:1px dashed #e4e8ee}
.cd-chunk-head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.cd-chunk-sense{display:flex;align-items:center;gap:4px;flex-wrap:wrap;width:fit-content;max-width:100%;box-sizing:border-box;padding:4px 4px 4px 12px;cursor:pointer;font-size:14.5px;line-height:1.5;border-left:3px solid #cfe0f5;margin:3px 0;border-radius:0 5px 5px 0}
.cd-chunk-sense:hover{background:#eef7f0}
.cd-chunk-sense.cd-on{background:#fff6d9;outline:1px solid #f0c877}
/* 词块词性分组小标题 */
.cd-pos-group{font-size:12.5px;font-weight:700;color:#8b4ac0;background:#f3ebfa;border-radius:5px;padding:3px 10px;margin:9px 0 5px;display:inline-block}

/* ⭐词素链公式框(图内第三级):整条公式在一个框里,框内折行。
   `embody（v）= em-（使置于）+ body（身体）→ 具体表现` */
.cd-mg-fx{font-size:12.5px;letter-spacing:.1px}

/* ═══ 2026-08-13 词块/义项可读性改造(用户报障四条) ═══
   ①没 CEFR 标签的义项行"光秃秃"认不出是一条 → 行首恒定序号/圆点
   ②看不出文字可点 → 行尾「例句 n ▸」徽标 + hover 反馈;0 句显灰色「无例句」且不给手型
   ④点释义要滚右栏来回找 → 就地内联展开(.cd-ieg);右栏池随后整区撤除(见 .cd-card) */
.cd-no{display:inline-block;min-width:17px;height:17px;line-height:17px;text-align:center;
  background:#dfe8f4;color:#41567a;font-size:10.5px;font-weight:800;border-radius:50%;margin-right:6px}
.cd-dot{color:#9fb0c6;font-weight:800;margin-right:6px}
.cd-eg-tag{display:inline-flex;align-items:center;gap:2px;margin-left:5px;background:#eaf4ea;color:#2c6b34;font-size:11px;font-weight:700;
  padding:1px 7px;border-radius:10px;white-space:nowrap}
.cd-eg-tag.cd-eg-none{background:#f1f2f4;color:#a3aab4;font-weight:600}
.cd-eg-caret{display:inline-block;transition:transform .18s}
.cd-clk{cursor:pointer}
.cd-clk .cd-def-zh,.cd-clk .cd-chunk-zh,.cd-clk .cd-fam-zh{border-bottom:1px dashed #c3d2e4}
.cd-clk:hover{background:#f2f7fd}
.cd-clk:hover .cd-eg-tag{background:#d8ecd8}
.cd-noeg{cursor:default}
.cd-sense.cd-on .cd-eg-caret,.cd-chunk-sense.cd-on .cd-eg-caret,
.cd-chunk-row.cd-on .cd-eg-caret,.cd-fam-card.cd-on .cd-eg-caret{transform:rotate(90deg)}
/* 就地展开的例句块:视觉上明确"挂在这条释义下面" */
.cd-ieg{display:none;margin:2px 0 8px 18px;padding:7px 11px;background:#f4faf4;
  border-left:3px solid #8fd08a;border-radius:0 8px 8px 0}
.cd-ieg.cd-open{display:block}
.cd-ieg-row{padding:4px 0}
.cd-ieg-line{display:flex;align-items:baseline;justify-content:flex-start;gap:4px;max-width:100%}
.cd-eg-spk{flex:0 0 auto;border:0;background:transparent;color:#536b58;border-radius:5px;padding:3px 5px;cursor:pointer;font-size:13px}
.cd-eg-spk:hover{background:#dcefdc}
.cd-ieg-row+.cd-ieg-row{border-top:1px dashed #d9e7d9;margin-top:2px}
.cd-ieg-en{display:inline;color:#1f3a24;font-size:15.5px;line-height:1.55;font-weight:500}
.cd-ieg-zh{display:block;color:#5f6b58;font-size:13.5px;line-height:1.5}
