/* 看形拼词 · 样式。全部限定在 .eni 内，嵌入别的网站不会影响宿主页面。无外部字体、无外部图片。 */
.eni{
  --ink:#1f1d1a;--mut:#6f6a62;--paper:#f5f3ee;--card:#fffdf9;--line:#e6e1d8;--dim:#9a948a;--soft:#ebe7df;--focus:#1b64c9;--bad:#a8321f;--ok:#1f7a4d;
  --sans:"Avenir Next","Segoe UI Variable","Segoe UI",system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --disp:ui-rounded,"Avenir Next","Nunito","Segoe UI",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --ipa:"Segoe UI","Noto Sans","DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;
  font:16px/1.5 var(--sans);color:var(--ink);background:var(--paper);padding:20px 16px 40px;outline:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
.eni *,.eni *::before,.eni *::after{box-sizing:border-box}
:root[data-theme="dark"] .eni,.eni[data-theme="dark"]{--ink:#ece8e1;--mut:#a9a39a;--paper:#12161b;--card:#1a2027;--line:#2b333c;--dim:#707a85;--soft:#222a33;--focus:#7fb2ff;--bad:#ff8a75;--ok:#6fd3a0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .eni:not([data-theme="light"]){--ink:#ece8e1;--mut:#a9a39a;--paper:#12161b;--card:#1a2027;--line:#2b333c;--dim:#707a85;--soft:#222a33;--focus:#7fb2ff;--bad:#ff8a75;--ok:#6fd3a0}}
:where(.eni) button{font:inherit;color:inherit;cursor:pointer}
.eni button:focus-visible,.eni a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.eni-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eni-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:20px;max-width:1380px;margin:0 auto;align-items:start}
@media (max-width:1000px){.eni-grid{grid-template-columns:minmax(0,1fr)}}
.eni-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.eni-side{display:flex;flex-direction:column;gap:14px}
.eni-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.eni-card h3{margin:0 0 6px;font-size:15px}
.eni-card p{margin:6px 0;font-size:14px}
.eni-lab{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:12px;font-weight:600;color:var(--mut);margin:4px 0}
.eni-hint,.eni-note{font-size:13px;color:var(--mut);margin:4px 0}
.eni-bad{color:var(--bad)}.eni-load{padding:40px 0;text-align:center}
.eni-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--soft);font-size:12px;color:var(--mut);margin-inline-end:6px}
.eni-link{border:0;background:none;padding:6px 4px;color:var(--focus);text-decoration:underline;font-size:13px;min-height:32px}

/* 顶部：模式 */
.eni-head{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.eni-modes{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:14px;flex-wrap:wrap}
.eni-mode{border:0;background:transparent;border-radius:10px;padding:6px 14px;min-height:48px;text-align:start;display:flex;flex-direction:column;justify-content:center}
.eni-mode b{font-size:15px}.eni-mode small{font-size:11px;color:var(--mut)}
.eni-mode[aria-selected="true"]{background:var(--ink);color:var(--paper)}.eni-mode[aria-selected="true"] small{color:inherit;opacity:.75}
.eni-seg{display:flex;gap:2px;padding:4px;background:var(--soft);border-radius:12px}
.eni-seg button{border:0;background:transparent;border-radius:9px;padding:0 14px;min-height:44px;font-weight:600;font-size:13px}
.eni-seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.eni-ib{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card)}

/* 颜色：每个色相 5 个色阶 */
.eni [style*="--h"]{--bg:oklch(.955 .035 var(--h));--sf:oklch(.93 .05 var(--h));--chip:oklch(.90 .075 var(--h));--edge:oklch(.76 .12 var(--h));--tx:oklch(.43 .13 var(--h))}
:root[data-theme="dark"] .eni [style*="--h"]{--bg:oklch(.30 .045 var(--h));--sf:oklch(.34 .06 var(--h));--chip:oklch(.40 .08 var(--h));--edge:oklch(.52 .10 var(--h));--tx:oklch(.88 .09 var(--h))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .eni [style*="--h"]{--bg:oklch(.30 .045 var(--h));--sf:oklch(.34 .06 var(--h));--chip:oklch(.40 .08 var(--h));--edge:oklch(.52 .10 var(--h));--tx:oklch(.88 .09 var(--h))}}
.eni-word{font-family:var(--disp);font-weight:700;letter-spacing:-.01em;display:inline-flex;flex-wrap:wrap}
.eni-word .m0{color:var(--dim)}.eni-word .mc{color:var(--tx)}

/* 单词卡 */
.eni-wc{border:1.5px solid var(--ink);display:flex;flex-direction:column;gap:12px}
.eni-wc.fresh{animation:eni-rise .18s ease both}
@keyframes eni-rise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.eni-wc.fresh{animation:none}.eni-key,.eni-cand,.eni-lk{transition:none!important}}
.eni-wtop{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;justify-content:space-between}
.eni-wbig{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.eni-wbig .eni-word{font-size:clamp(34px,6vw,48px)}
.eni-gloss{font-size:15px;color:var(--mut)}.eni-gloss.big{font-size:22px;color:var(--ink);font-weight:600}
.eni-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.eni-ipa{font-family:var(--ipa);font-size:17px;color:var(--mut)}
.eni-btn{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card)}
.eni-btn:hover{background:var(--soft)}
.eni-go{min-height:44px;padding:0 20px;border-radius:10px;border:0;background:var(--ink);color:var(--paper);font-weight:700}
.eni-go:disabled{opacity:.6}
.eni-units{display:flex;flex-wrap:wrap;gap:6px}
.eni-unit{display:flex;flex-direction:column;align-items:center;min-width:46px;padding:4px 10px;border-radius:10px;background:var(--bg,var(--soft));border-bottom:3px solid var(--edge,var(--line));color:var(--tx,var(--mut))}
.eni-unit b{font-family:var(--disp);font-size:20px;line-height:1.2}.eni-unit small{font-family:var(--ipa);font-size:12px}
.eni-parts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.eni-plus{color:var(--dim);font-size:20px}
.eni-part{display:flex;flex-direction:column;padding:6px 12px;border-radius:10px;background:var(--chip);color:var(--tx)}
.eni-part b{font-family:var(--disp);font-size:20px}.eni-part small{font-size:12px}.eni-rs{opacity:.8}
.eni-dec{border-top:1px solid var(--line);padding-top:12px}
.eni-dec h4{margin:12px 0 4px;font-size:13px;color:var(--mut)}
.eni-dec ul{margin:0;padding-inline-start:18px}.eni-dec li{margin:4px 0}
.eni-en{color:var(--mut);font-size:13px}.eni-zh{display:block;color:var(--mut);font-size:13px}
.eni-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:4px 28px}
.eni-dec .eni-lab{justify-content:flex-start;color:var(--ok)}
.eni-formof{font-weight:600}
.eni-dec .eni-lab:first-child{margin-bottom:6px}

/* 组合条、拼法、候选 */
.eni-combo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:56px;padding:8px 12px;border-radius:14px;background:var(--card);border:1px dashed var(--line)}
.eni-ctl{margin-inline-start:auto;display:flex;gap:6px}
.eni-chipb{display:flex;flex-direction:column;align-items:center;min-width:48px;min-height:44px;padding:2px 10px;border-radius:10px;border:1px solid var(--edge);background:var(--chip);color:var(--tx)}
.eni-chipb b{font-family:var(--disp);font-size:20px;line-height:1.1}.eni-chipb small{font-family:var(--ipa);font-size:12px}
.eni-pend{border-style:dashed;background:var(--bg)}
.eni-spell{padding:12px;border-radius:14px;background:var(--soft)}
.eni-gopts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.eni-go2{display:flex;flex-direction:column;align-items:flex-start;min-width:96px;min-height:64px;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);text-align:start}
.eni-go2 b{font-family:var(--disp);font-size:24px;line-height:1.1}.eni-go2 small{font-size:12px;color:var(--mut)}.eni-go2 .eni-n{font-size:11px}
.eni-go2[aria-selected="true"]{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 14%,transparent)}
.eni-cands{display:flex;flex-direction:column;gap:6px}
.eni-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.eni-cand{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:8px 12px 8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);text-align:start;transition:transform .08s}
.eni-cand:hover{transform:translateY(-1px)}
.eni-cand.first{border:1.5px solid var(--ink)}
.eni-cand.near{border-style:dashed}
.eni-cand .eni-word{font-size:24px}
.eni-cand kbd{position:absolute;inset-block-start:6px;inset-inline-end:8px;font:500 11px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--mut)}
.eni-gl{font-size:13px;color:var(--mut)}.eni-why{font-size:12px;color:var(--bad)}
.eni-cand .eni-tag{position:absolute;inset-block-end:8px;inset-inline-end:8px;margin:0}

/* 键盘 */
.eni-kb{display:flex;flex-direction:column;gap:12px}
.eni-krow{display:flex;flex-wrap:wrap;gap:6px 14px}
.eni-ksub{display:flex;flex-wrap:wrap;gap:6px}
.eni-key{position:relative;width:64px;height:58px;border-radius:12px;border:1px solid var(--edge);border-bottom-width:4px;background:var(--bg);color:var(--tx);transition:transform .06s}
.eni-key b{font-family:var(--ipa);font-size:21px;font-weight:600}
.eni-key:hover{transform:translateY(-1px)}.eni-key:active{transform:translateY(2px);border-bottom-width:2px}
.eni-key.dim{opacity:.38}.eni-key.on{outline:3px solid var(--ink);outline-offset:1px;background:var(--chip)}
.eni-rv{position:absolute;inset-block-start:1px;inset-inline-end:3px;font:normal 10px/1 var(--sans);color:var(--bad)}
@media (max-width:520px){.eni-key{width:54px;height:54px}}
.eni-letters{display:flex;flex-wrap:wrap;gap:6px}
.eni-lk{width:50px;height:54px;border-radius:12px;border:1px solid var(--line);border-bottom-width:4px;background:var(--card);font-family:var(--disp);font-size:22px;font-weight:700;text-transform:lowercase}
.eni-lk.vow{background:oklch(.955 .035 55);border-color:oklch(.76 .12 55);color:oklch(.43 .13 55)}
:root[data-theme="dark"] .eni-lk.vow{background:oklch(.30 .045 55);border-color:oklch(.52 .1 55);color:oklch(.88 .09 55)}
.eni-lk.dim{opacity:.35}.eni-lk.on{outline:3px solid var(--ink);outline-offset:1px}
.eni-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:760px){.eni-3{grid-template-columns:minmax(0,1fr)}}
.eni-col{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:var(--bg,var(--soft))}
.eni-col>.eni-lab{color:var(--tx)}
.eni-mi{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-height:44px;padding:6px 10px;border-radius:10px;border:1px solid var(--edge);background:var(--card);text-align:start}
.eni-mi b{font-family:var(--disp);font-size:18px;color:var(--tx)}.eni-mi b u{text-decoration-thickness:2px;text-underline-offset:3px}
.eni-mi small{font-size:12px;color:var(--mut)}.eni-mi .eni-n{margin-inline-start:auto}
.eni-mi.on{outline:3px solid var(--ink);outline-offset:1px}.eni-mi.dim{opacity:.38}

/* 练习 */
.eni-pr{display:flex;flex-direction:column;gap:12px}
.eni-pools{margin:0}
.eni-mask{display:flex;gap:2px;flex-wrap:wrap;font-family:var(--disp);font-weight:700;font-size:clamp(34px,7vw,52px)}
.eni-mask .blank{min-width:1.6em;text-align:center;border-bottom:4px solid var(--ink);color:var(--focus)}
.eni-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.eni-opt{min-height:60px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-family:var(--disp);font-size:26px;font-weight:700}
.eni-opt.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 16%,var(--card))}
.eni-opt.no{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,var(--card))}
.eni-fb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.eni-fb b{margin-inline-end:auto}
.eni-score{font-size:28px;font-weight:700;margin:0}

/* 我的单词、侧栏 */
.eni-mw{display:flex;flex-wrap:wrap;gap:6px}
.eni-chip{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-family:var(--disp);font-weight:600;margin:2px 4px 2px 0}
.eni-chip.on{border-color:var(--ink);border-width:1.5px}
.eni-ph{font-family:var(--ipa);font-size:24px;color:var(--tx)}
.eni-legend{display:flex;flex-direction:column;gap:4px;font-size:13px}
.eni-legend .sw::before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:8px;background:var(--edge);vertical-align:-1px}

@media (max-width:520px){.eni{padding-inline:12px}}
/* 从右到左的界面（阿拉伯语）：英文单词、音标、拼写单元仍按从左到右显示 */
.eni[dir="rtl"] .eni-word,.eni[dir="rtl"] .eni-ipa,.eni[dir="rtl"] .eni-ph,.eni[dir="rtl"] .eni-unit b,.eni[dir="rtl"] .eni-unit small,.eni[dir="rtl"] .eni-en,.eni[dir="rtl"] .eni-link,.eni[dir="rtl"] .eni-chip,.eni[dir="rtl"] kbd{direction:ltr;unicode-bidi:isolate}
.eni[dir="rtl"] .eni-gloss,.eni[dir="rtl"] .eni-gl,.eni[dir="rtl"] .eni-zh{unicode-bidi:plaintext}
.eni-pos{direction:ltr;unicode-bidi:isolate}

/* 积木公式条的关系 / 意象标注、等号结果块 */
.eni-tag2{opacity:.85;font-size:11px}
.eni-res{background:var(--ink);color:var(--paper);justify-content:center}
.eni-res b{color:inherit}
/* 词根家族链（SVG）：颜色沿用每个色相的 5 个色阶 */
.eni-chainbox{border-top:1px solid var(--line);margin-top:12px}
.eni-chainsc{overflow-x:auto;padding-bottom:4px}
.eni-chain{display:block;max-width:none;font-family:var(--disp)}
.eni-c-col{cursor:pointer;outline:none}
.eni-c-col:focus-visible .eni-c-root,.eni-c-col:hover .eni-c-root{stroke-width:2.5}
.eni-c-root{fill:var(--chip);stroke:var(--edge);stroke-width:1.5}
.eni-c-col.cur .eni-c-root{stroke:var(--tx);stroke-width:3}
.eni-c-rt{fill:var(--tx);font-size:17px;font-weight:700}
.eni-c-aff{fill:var(--tx);font-size:13px;font-weight:600}
.eni-c-w{fill:var(--mut);font-size:14px}.eni-c-col.cur .eni-c-w{fill:var(--ink);font-weight:700}
.eni-c-link{stroke:var(--edge);stroke-width:6;stroke-linecap:round}

.eni-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,420px);padding:10px 14px;border-radius:10px;background:var(--ink,#1c1b19);color:var(--bg,#fff);font-size:14px;line-height:1.4;z-index:50;box-shadow:0 4px 18px rgba(0,0,0,.25)}

.eni-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.eni-sel{min-height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--tx);font:inherit;max-width:100%}
.eni-mates{margin-top:12px}.eni-mates .eni-mw{margin-top:4px}
.eni-lists .eni-modes{margin-bottom:8px}.eni-fields{margin:8px 0}.eni-lw{margin-top:10px;max-height:52vh;overflow:auto}
.eni-lcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:12px}
.eni-lcard{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card)}.eni-lcard h4{margin:0 0 4px;font-size:18px}.eni-aud{margin:0 0 6px;font-size:13px;line-height:1.45}
.eni-bar{display:flex;height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:8px 0 4px}.eni-bar .ok{background:#3c9a5f}.eni-bar .seen{background:#e0a030}
.eni-chip.ok{border-color:#3c9a5f;background:color-mix(in srgb,#3c9a5f 14%,var(--card))}.eni-chip.seen{border-color:#e0a030;background:color-mix(in srgb,#e0a030 14%,var(--card))}
.eni-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}
.eni-cmp{margin-top:12px}.eni-cmp-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
.eni-cmp-blk{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px;padding:10px 18px;border:1.5px solid #4a7fb5;background:color-mix(in srgb,#4a7fb5 13%,var(--card));color:var(--tx);font:inherit;cursor:pointer;margin-right:-1.5px}
.eni-cmp-blk b{font-family:var(--disp);font-size:26px;line-height:1.1}.eni-cmp-blk small{font-size:13px;opacity:.85}.eni-cmp-blk i{font-style:normal;font-size:11px;opacity:.7;margin-top:2px}
.eni-cmp-blk.mod{border-radius:16px 4px 4px 16px;border-color:#d98a1a;background:color-mix(in srgb,#d98a1a 13%,var(--card))}
.eni-cmp-blk.head{border-radius:4px 16px 16px 4px}.eni-cmp-blk.mod::after{content:"";position:absolute;right:-9px;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--card);border:1.5px solid #d98a1a;border-radius:50%;z-index:1}
.eni-cmp-blk.base{border-radius:10px;border-color:#4a7fb5}.eni-cmp-blk.aff{border-radius:10px;border-style:dashed;border-color:#6aa07a;background:color-mix(in srgb,#6aa07a 12%,var(--card));min-width:76px}.eni-cmp-blk.aff b{font-size:22px}
.eni-cmp-blk:disabled{cursor:default}.eni-cmp-row .eni-plus{align-self:center;margin:0 10px}

/* ---- 输入模式：打字 / 粘贴 / 拍照 / 说话 ---- */
.eni-find h3{margin:0 0 10px;font-size:16px}
.eni-findbox{display:flex;gap:8px;margin-bottom:12px}
.eni-in,.eni-ta{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.eni-in{min-height:44px;font-family:var(--disp);font-weight:600;letter-spacing:.02em}
.eni-in:focus,.eni-ta:focus{outline:2px solid var(--ink);outline-offset:1px}
.eni-ftabs{margin:0 0 10px;width:max-content;max-width:100%}
.eni-fpane{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.eni-ta{width:100%;resize:vertical;line-height:1.5}
.eni-rec.on{background:#b4232a;animation:eni-pulse 1s infinite}
@keyframes eni-pulse{50%{opacity:.75}}
.eni-found{margin-top:8px}
.eni-chip.eni-st-new{border-style:dashed}
.eni-chip.eni-st-dyn{border-color:#c98a1b}
.eni-chip i{font-style:normal;font-size:11px;margin-inline-start:4px;color:var(--mut)}
.eni-chip small{font-size:11px;color:var(--mut);margin-inline-start:3px}
.eni-tag.eni-ai{position:static;background:#fff3e0;color:#7a4a17;border:1px solid #e3b982;margin-inline-start:8px;vertical-align:middle}
@media (prefers-reduced-motion:reduce){.eni-rec.on{animation:none}}

/* ---- 构词图示（en-ime-diagram.js） ---- */
.eni-dgbox{margin:10px 0 4px}
.eni-dgtabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.eni-dgtabs button{border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:999px;min-height:30px;padding:0 11px;font-size:12.5px;font-weight:600}
.eni-dgtabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.eni-dgsc{overflow-x:auto;padding-bottom:4px}
.eni-dg{display:block;width:100%;max-width:560px;height:auto;font-family:var(--disp)}
.eni-dg-prism{max-width:620px}
.eni-d-r{fill:var(--chip);stroke:var(--edge);stroke-width:1.6}
.eni-d-box.cur .eni-d-r,.eni-d-cell.cur .eni-d-r{stroke:var(--tx);stroke-width:3}
.eni-d-box[role="button"],.eni-d-cell[role="button"],.eni-d-res[role="button"],.eni-d-node[role="button"],.eni-dg g[role="button"]{cursor:pointer}
.eni-d-box[role="button"]:hover .eni-d-r,.eni-d-box:focus-visible .eni-d-r{stroke-width:2.6}
.eni-d-big{fill:var(--tx);font-size:19px;font-weight:700}
.eni-d-sm{fill:var(--tx);font-size:11px;opacity:.85}
.eni-d-sm2{fill:var(--tx);font-size:13px;font-weight:600}
.eni-d-op{fill:var(--mut);font-size:26px;font-weight:300}
.eni-d-lab{fill:var(--mut);font-size:11.5px}
.eni-d-head{fill:var(--tx);font-size:14px;font-weight:700}
.eni-d-word{fill:var(--ink);font-size:22px;font-weight:800;letter-spacing:.02em}
.eni-d-venn-w{fill:var(--ink);font-size:17px;font-weight:800}
.eni-d-res rect,.eni-d-res circle{fill:var(--ink);stroke:none}
.eni-d-res text{fill:var(--paper);font-size:19px;font-weight:800}
.eni-d-node rect{fill:var(--card);stroke:var(--ink);stroke-width:1.6}
.eni-d-node text{fill:var(--ink);font-size:15px;font-weight:700}
.eni-d-empty{fill:none;stroke:var(--line);stroke-dasharray:4 4;stroke-width:1.4}
.eni-d-link{fill:none;stroke:var(--line);stroke-width:2}
.eni-d-strand{fill:none;stroke:var(--edge);stroke-width:5;stroke-linecap:round;opacity:.9}
.eni-d-warp{stroke:var(--edge);stroke-width:3}
.eni-d-weft{stroke:var(--edge);stroke-width:2.5}
.eni-d-ray{stroke:var(--ink);stroke-width:3}
.eni-d-prism{fill:var(--soft);stroke:var(--ink);stroke-width:1.6}
.eni-d-beam{fill:var(--edge);opacity:.55}
.eni-d-venn{fill:var(--bg);stroke:var(--edge);stroke-width:2.4;opacity:.92}
.eni-d-venn.dash{stroke-dasharray:6 5}
/* 用母语学英语：译文 + 朗读 + 跟读 */
.eni-enpanel{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.eni-enhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.eni-ensrc{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:color-mix(in oklab,var(--ink) 5%,var(--paper));color:var(--mut);font-size:14px;line-height:1.5;white-space:pre-wrap}
.eni-enrow{padding:8px 0;border-top:1px dashed var(--line)}
.eni-enrow.on{background:color-mix(in oklab,var(--ink) 3%,var(--paper));margin:0 -8px;padding:8px;border-radius:8px}
.eni-enline{display:flex;align-items:flex-start;gap:10px}
.eni-ensent{flex:1;margin:0;font-family:var(--disp);font-size:18px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.eni-enacts{display:flex;gap:6px;flex-shrink:0}
.eni-mini{min-height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.eni-mini:disabled{opacity:.5;cursor:default}
.eni-mini.eni-rec.on{background:#b4232a;color:#fff;border-color:#b4232a}
.eni-go.eni-mini{min-height:36px;padding:0 12px;border:0;background:var(--ink);color:var(--paper)}
.eni-shres{margin-top:8px}
.eni-shscore{margin:0 0 6px;font-weight:700}
.eni-shwords{display:flex;flex-wrap:wrap;gap:6px 8px}
.eni-shw{display:inline-flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:8px;border:1px solid var(--line);font-size:15px;line-height:1.3}
.eni-shw.ok{border-color:#2f8f5b;background:#edf8f1;color:#1d5c3b}
.eni-shw.bad{border-color:#c98a1b;background:#fff3e0;color:#6b3f0a}
.eni-shw small{font-size:11px;color:var(--mut)}
.eni-shw small.eni-ipa{font-family:"Charis SIL","Doulos SIL","Gentium Plus",serif}
.eni-shtips{margin:4px 0 6px;padding-inline-start:18px;font-size:14px;line-height:1.5}
@media (max-width:560px){.eni-enline{flex-direction:column}.eni-enacts{align-self:flex-end}}
.eni-cos{margin:10px 0 2px}
a.eni-chip.eni-co{display:inline-flex;align-items:center;text-decoration:none;border-color:#6b4a9e;color:#3e2a66;background:#f1ecf8}
a.eni-chip.eni-co small{margin-inline-start:6px}
/* 解构：左目录 + 右一层 */
.eni-decon{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;margin:12px 0 6px;align-items:start}
.eni-dnav{position:sticky;top:8px;display:flex;flex-direction:column;gap:10px;padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.eni-dgroup{display:flex;flex-direction:column;gap:2px}
.eni-dgroup>small{font-size:11px;letter-spacing:.08em;color:var(--mut);padding:0 8px 4px}
.eni-dlink{display:flex;align-items:center;gap:8px;width:100%;text-align:start;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.eni-dlink i{font-style:normal;font-family:var(--mono,ui-monospace,monospace);font-size:11px;color:var(--mut);min-width:18px}
.eni-dlink b{margin-inline-start:auto;font-size:11px;padding:1px 7px;border-radius:9px;background:var(--ink);color:var(--paper)}
.eni-dlink.on{background:#fbe9e2;border-color:#e8b7a4;color:#7a2e12}
.eni-dlink.on i{color:#b4432a}
.eni-dlink.off{opacity:.4;cursor:default}
.eni-dpanel{min-width:0;padding:14px 16px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.eni-dpanel h4{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font-size:18px}
.eni-dpanel h4 i{font-style:normal;font-family:var(--mono,ui-monospace,monospace);font-size:12px;color:#b4432a}
.eni-dpanel h5{margin:14px 0 6px;font-size:14px;color:#7a2e12}
.eni-dpanel h5 small{font-weight:400;color:var(--mut)}
.eni-dtext p{margin:0 0 10px;font-family:var(--disp);font-size:18px;line-height:1.7;overflow-wrap:anywhere}
.eni-dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0 0 10px}
.eni-dstat{padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-align:center}
.eni-dstat b{display:block;font-family:var(--disp);font-size:24px;line-height:1.1;color:#7a2e12}
.eni-dstat small{font-size:12px;color:var(--mut)}
.eni-dlayer{margin-bottom:6px}
.eni-dbuild{display:flex;flex-direction:column;gap:6px}
.eni-dformula{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;color:var(--ink);cursor:pointer;text-align:start}
.eni-dformula.on{border-color:var(--ink)}
.eni-dformula b{font-family:var(--disp);font-size:17px;min-width:120px}
.eni-dpart{display:inline-block;margin-inline-end:6px;padding:1px 8px;border-radius:7px;font-size:14px}
.eni-r-prefix{background:#fde3d4;color:#7a2e12}.eni-r-root{background:#dde9fb;color:#1f3f78}.eni-r-suffix{background:#dff3e4;color:#1d5c3b}
.eni-sno{font-family:var(--mono,ui-monospace,monospace);font-size:12px;color:var(--mut);min-width:18px;padding-top:6px}
.eni-dsem{margin-bottom:6px}
.eni-dnamed{display:flex;flex-direction:column;gap:4px}
.eni-dname{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed var(--line);font-size:15px}
.eni-dname b{min-width:160px}
.eni-dname span{color:var(--mut)}
@media (max-width:760px){.eni-decon{grid-template-columns:1fr}.eni-dnav{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.eni-dgroup{flex-direction:row;flex-wrap:wrap;gap:4px}.eni-dgroup>small{display:none}.eni-dlink{width:auto}}
/* 单输入框 + 弹层词卡 + 语义子栏目 */
.eni-ta1{width:100%;box-sizing:border-box;margin:6px 0 8px;font-size:17px}
.eni-facts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.eni-facts .eni-btn{min-height:44px}
.eni-go.eni-tr{background:#7a2e12}
.eni-fkey{margin-inline-start:auto}
.eni-dsubs{display:flex;flex-direction:column;gap:2px;padding-inline-start:22px}
.eni-dlink.eni-dsub{font-size:13px;padding:5px 8px;color:var(--mut)}
.eni-dlink.eni-dsub.on{color:#7a2e12}
.eni-pop{position:fixed;inset:0;z-index:60;background:rgba(43,42,51,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;overflow:auto;backdrop-filter:blur(2px)}
.eni-popbox{width:min(960px,100%);background:var(--paper);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:6px 6px 10px;max-height:92vh;overflow:auto}
.eni-popbox .eni-card{margin:0;box-shadow:none}
.eni-popnav{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 0 2px}
@media (max-width:560px){.eni-pop{padding:0;align-items:flex-end}.eni-popbox{border-radius:16px 16px 0 0;max-height:96vh}}
@media (prefers-reduced-motion:no-preference){.eni-popbox{animation:eni-popin .16s ease-out}@keyframes eni-popin{from{transform:translateY(10px);opacity:.6}to{transform:none;opacity:1}}}
a.eni-dlinkname{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px dashed var(--mut)}a.eni-dlinkname:hover{color:#7a2e12;border-color:#7a2e12}
.eni-dname b,.eni-dname a{min-width:160px}
.eni-cowrap{display:inline-flex;align-items:stretch;gap:2px}
.eni-cowrap .eni-co{border-start-end-radius:4px;border-end-end-radius:4px}
.eni-co2{padding-inline:7px;border-start-start-radius:4px;border-end-start-radius:4px;text-decoration:none}
