/* HanziPeek · 视觉越南语（看一段越南文）—— 在 ime-jp-decode.css 的 jpd-* / zt / zp 之上的越南语专用样式
   色彩照《越南语汉越词结构视觉学习 · UI 设计说明 v1.0》：越语 / 音节 = 蓝（252），汉字 = 赭（55），意符冷、声符暖；不用越南国旗红黄大面积组合 */
.vi-root{--vi-ink:oklch(0.43 0.13 252);--vi-han:oklch(0.5 0.13 55);--vi-bg:#F5F3EE;--vi-card:#FFFDF9;--vi-line:#E6E1D8;--vi-fg:#1F1D1A;--vi-mute:#6F6A62;--vi-cta:#C2410C;
  --t-z:#5b6475;--t-f:#2f6db0;--t-s:#b8432f;--t-r:#7b5cc4;--t-x:#2f8a7a;--t-j:#8a5a12}
.vi-root,.vi-root .jpd-ta,.vi-root [lang="vi"]{font-family:'Be Vietnam Pro','Noto Sans','Segoe UI',system-ui,sans-serif}
.vi-root .han,.vi-root .zt-c.han,.vi-root .zp-big.han{font-family:'Noto Serif SC','Songti SC',serif;color:var(--vi-han)}
.vi-root .ext{font-family:'Noto Serif SC','BabelStone Han','Songti SC','SimSun-ExtB','MingLiU-ExtB',serif}
.vi-n{background:var(--vi-ink)!important;font-size:12px!important;letter-spacing:.5px}
.vi-go{background:var(--vi-ink)!important}
/* 声调颜色（6 调） */
.vt{font-weight:inherit} .vi-root .vt.t-z{color:var(--t-z)} .vi-root .vt.t-f{color:var(--t-f)} .vi-root .vt.t-s{color:var(--t-s)} .vi-root .vt.t-r{color:var(--t-r)} .vi-root .vt.t-x{color:var(--t-x)} .vi-root .vt.t-j{color:var(--t-j)}
.vt-chip{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:12px;padding:2px 9px;border-radius:999px;color:#fff;white-space:nowrap}
.vt-chip.t-z{background:var(--t-z)} .vt-chip.t-f{background:var(--t-f)} .vt-chip.t-s{background:var(--t-s)} .vt-chip.t-r{background:var(--t-r)} .vt-chip.t-x{background:var(--t-x)} .vt-chip.t-j{background:var(--t-j)}
.zp-box.vt-chip{width:auto;min-width:66px;padding:0 10px;font-size:15px;border:none}
.vi-tones{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vi-tonebar{display:flex;gap:3px;border-radius:10px;overflow:hidden;margin:6px 0 14px} .vi-tonebar .vt-chip{border-radius:0;justify-content:center;padding:6px 4px;min-width:0;overflow:hidden}
/* 小卡 */
.zt-vi{font-size:15px;line-height:1.25;color:var(--vi-ink)}
.zt.vi-hv{border-color:#c9d6ec;background:#fbfcff} .zt.vi-hv .zt-c{font-size:30px}
.zt.vi-native .zt-c,.zt .zt-c.vi{font-family:'Be Vietnam Pro',system-ui,sans-serif;font-size:21px;font-weight:500;color:var(--vi-ink)}
.zt.vi-syl .zt-c{font-size:26px}
.zt.vi-comp.k-meta{border-color:#9fd0c4} .zt.vi-comp.k-reduced{border-color:#a9d6cc;border-style:dashed} .zt.vi-comp.k-graphic{border-color:#d5c8ad}
.zt-foot .ok{color:#2f7a6a;font-style:normal} .zt.fresh{border-style:dashed}
/* 弹窗 */
.zp-big.vi{font-family:'Be Vietnam Pro',system-ui,sans-serif;font-size:40px;font-weight:600;line-height:1.1}
.zp-big.word.vi{font-size:34px}
.vi-hvread{color:var(--vi-ink);font-size:15px}
.zp-read.zh{border-color:#e0c9a6}
.zp-chip.ok{border-color:#9fd0c4;color:#2f7a6a;background:#eef8f5}
.zp-chip.f-xiang{border-color:#b9c3e8;color:#34489f;background:#f0f3fc} .zp-chip.f-yi{border-color:#a9d6cc;color:#2f7a6a;background:#eef8f5} .zp-chip.f-xs{border-color:#e3b2a7;color:#a33b2b;background:#fdf1ee}
.zp-chip.k-meta{border-color:#4a9a8a;color:#2f6b5f} .zp-chip.k-reduced{border-color:#4a9a8a;color:#2f6b5f;border-style:dashed} .zp-chip.k-graphic{border-color:#c9bfa9}
button.zp-box{cursor:pointer;font:inherit;font-size:34px}
.vi-img{display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:2px 9px;border-radius:999px;background:oklch(0.955 0.03 var(--h,200));border:1px solid oklch(0.76 0.08 var(--h,200));color:oklch(0.43 0.1 var(--h,200))}
.vi-img.i-body{--h:20} .vi-img.i-wear{--h:50} .vi-img.i-food{--h:80} .vi-img.i-home{--h:110} .vi-img.i-tool{--h:140} .vi-img.i-nature{--h:170} .vi-img.i-plant{--h:200} .vi-img.i-animal{--h:230} .vi-img.i-rite{--h:260} .vi-img.i-war{--h:290} .vi-img.i-num{--h:320} .vi-img.i-sky{--h:350}
/* 音节 ↔ 汉字 配对条 */
.vi-pairs{display:flex;flex-wrap:wrap;gap:10px}
.vi-pair{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 14px;border-radius:14px;border:2px solid var(--pc);background:color-mix(in oklch,var(--pc) 9%,white);min-width:64px}
.vi-pair.p0{--pc:oklch(0.6 0.12 252)} .vi-pair.p1{--pc:oklch(0.62 0.12 55)} .vi-pair.p2{--pc:oklch(0.6 0.11 160)} .vi-pair.p3{--pc:oklch(0.6 0.12 320)}
.vi-pair-s{font-size:18px;font-weight:600} .vi-pair-ar{font-size:11px;color:var(--vi-mute)} .vi-pair b{font-size:30px;line-height:1.1} .vi-pair small{font-size:12px;color:var(--vi-mute)}
.vi-ex p{display:flex;gap:6px;align-items:center;flex-wrap:wrap} .vi-ex mark{background:oklch(0.93 0.06 85);border-radius:4px;padding:0 2px}
/* 九宫格 */
.vi-grid-w{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0}
.vi-grid{position:relative;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:2px;padding:2px;background:var(--vi-line);border-radius:8px}
.vi-cell{background:#fff;border-radius:3px} .vi-cell.c0{background:oklch(0.88 0.06 200)} .vi-cell.c1{background:oklch(0.9 0.06 25)} .vi-cell.c2{background:oklch(0.9 0.06 150)} .vi-cell.c3{background:oklch(0.9 0.05 300)}
.vi-grid-ch{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:86px;opacity:.35;pointer-events:none}
.vi-grid-legend{display:flex;flex-direction:column;gap:4px} .vi-leg{display:inline-flex;align-items:center;gap:6px;font-size:13px} .vi-leg b{font-size:22px}
.vi-leg::before{content:'';width:14px;height:14px;border-radius:3px;background:var(--lc)} .vi-leg.c0{--lc:oklch(0.88 0.06 200)} .vi-leg.c1{--lc:oklch(0.9 0.06 25)} .vi-leg.c2{--lc:oklch(0.9 0.06 150)} .vi-leg.c3{--lc:oklch(0.9 0.05 300)}
.vi-term{margin:6px 0;font-size:14px} .vi-term .kp-hint{margin-top:2px}
/* 原文 / 句子 */
.vi-orig p{line-height:2.6;font-size:19px}
.vi-ow{cursor:pointer;display:inline-flex;flex-direction:column-reverse;align-items:center;line-height:1.2;vertical-align:bottom;border-radius:6px;padding:0 1px}
.vi-ow.hv{background:#f2f5fc;box-shadow:inset 0 -2px 0 #c9d6ec} .vi-ow:hover{background:#eef2fb}
.vi-ruby{font-size:13px;line-height:1;margin-bottom:2px}
.vi-line .vi-tok{display:inline-flex;flex-direction:column;align-items:center} .vi-tok.hv{border-color:#c9d6ec;background:#f7f9ff} .vi-tok.np{border-style:dashed}
.vi-tok .vi-ruby{order:-1} .vi-punct{color:var(--vi-mute);padding:0 2px}
.ko-chip.hv{border-color:#c9d6ec}
/* 界面语言切换 · CTA · 企业卡 */
.vi-ui{margin-left:auto;display:inline-flex;border:1px solid var(--vi-line);border-radius:999px;overflow:hidden;font-size:12px}
.vi-ui-b{all:unset;cursor:pointer;padding:3px 10px;color:var(--vi-mute)} .vi-ui-b.on{background:var(--vi-ink);color:#fff}
.vi-ui-b:focus-visible{outline:2px solid var(--vi-ink);outline-offset:-2px}
.vi-cta{display:inline-block;margin-top:12px;padding:8px 16px;border-radius:999px;background:var(--vi-cta);color:#fff!important;text-decoration:none;font-weight:600}
.vi-cta-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:8px 0;border-radius:12px;background:#fff4ec;border:1px solid #f3c9ad} .vi-cta-bar .vi-cta{margin:0}
.vi-co{padding:16px 20px 8px} .vi-co h3{margin:0 0 4px;font-family:'Be Vietnam Pro',system-ui,sans-serif}
.vi-co-blocks{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.vi-co-b{padding:10px 12px;border-radius:12px;border:1.5px solid var(--vi-line);background:var(--vi-card);min-width:120px;display:flex;flex-direction:column;gap:4px}
.vi-co-b>small{font-size:11px;color:var(--vi-mute);text-transform:uppercase;letter-spacing:.4px} .vi-co-b>b{font-size:17px;color:var(--vi-ink)}
.vi-co-b.r-org{border-color:#c9bfa9} .vi-co-b.r-industry{border-color:#a9d6cc} .vi-co-b.r-shanghao{border-color:#e3b2a7} .vi-co-b.r-region{border-color:#b9c3e8}
.vi-co-hv{display:flex;flex-wrap:wrap;gap:6px} .vi-co-hv span{display:inline-flex;align-items:baseline;gap:2px} .vi-co-hv b{font-size:20px}
@media (max-width:640px){.vi-orig p{font-size:17px;line-height:2.4} .vi-ui{margin-left:0} .zp-big.word.vi{font-size:28px}}
/* v2：半汉越词 · 纯越音节 · 外文 */
.vi-pair.native{cursor:default;--pc:#d9d3c7;background:#faf8f3;color:var(--vi-mute)} .vi-pair.native small{font-size:11px}
.zt.vi-hv.mix{border-style:dashed} .zt-py.han{font-family:'Noto Serif SC','Songti SC',serif;color:var(--vi-han);font-size:13px}
.vi-ow.mix{background:#f7f8fc;box-shadow:inset 0 -2px 0 #dde4f2}
.zp-table td.pos{color:var(--vi-mute);font-size:13px}
/* v3：模型公司简介卡 */
.vi-co-desc{font-size:15px;line-height:1.6;margin:10px 0}
.vi-co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin:8px 0}
.vi-co-kv{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#faf8f3} .vi-co-kv small{font-size:11px;color:var(--vi-mute);text-transform:uppercase;letter-spacing:.4px}
.vi-co-ai{margin-top:14px;border-top:1px dashed var(--vi-line);padding-top:4px} .vi-co-ai .vi-co{padding:8px 0}
