/* 企业可视化图示 · 日本（ent-jp.js）—— 令牌与骨架来自 ent-tokens.css；版式对齐 handoff DEMO */
.ent-section{background:var(--bg);padding:0 0 48px}
.ent-section>.wrap{max-width:1100px}
.ent-page{color:var(--fg);font-family:var(--font-sans)}
.ent-page .cv-wrap{max-width:1000px;margin:0 auto;padding:0 16px;gap:16px}
.ent-page .cv-card{padding:20px}
.ent-page .cv-card h2{font:600 18px var(--font-serif)}
.ent-page .cv-group{margin-top:8px}
/* 顶部条 */
.ent-top{margin:0 0 24px;padding:10px 16px}
.ent-top-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0} .ent-top-in .sp{flex:1 1 60px}
.ent-title{font:900 16px var(--font-serif);white-space:nowrap} .ent-title small{font-weight:400;color:var(--mute)}
.ent-top-meta{font-size:12px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.cv-source.real{background:var(--cool-bg);color:var(--cool)} .cv-source.none{background:var(--bg);color:var(--mute);border:1px dashed var(--line)}
.ent-search{display:flex;gap:6px} .ent-search input{font:14px var(--font-sans);padding:6px 10px;border:1px solid var(--line);border-radius:8px;min-width:240px;background:var(--panel);color:var(--fg)}
.ent-err{color:var(--bad)}
/* 01 头部 */
.ent-head{padding:24px;gap:14px}
.ent-codes{font:12px var(--font-mono);color:var(--mute);overflow-wrap:anywhere}
.ent-h1{margin:0;font:900 clamp(24px,4.5vw,36px)/1.2 var(--font-serif);text-wrap:balance;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ent-spk{background:transparent;border:0;cursor:pointer;font-size:18px;padding:0}
.ent-name-ja{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:500 24px/1.6 "Noto Serif JP",var(--font-serif)} .ent-name-ja.none{font:13px var(--font-sans);color:var(--mute)} .ent-name-ja rt{font-size:10px;color:var(--mute);font-family:var(--font-sans)}
.ent-badges{display:flex;gap:8px;flex-wrap:wrap} .ent-badges a{text-decoration:none}
.ent-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:4px}
.ent-glance-it{background:var(--bg);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0} .ent-glance-it .k{font-size:12px;color:var(--mute)} .ent-glance-it .v{font-size:17px;font-weight:700;line-height:1.3} .ent-glance-it .s{font-size:12px;color:var(--mute)}
.ent-intro{margin:6px 0 0;padding-top:12px;border-top:1px solid var(--line);line-height:1.8;text-wrap:pretty}
.ent-products{margin:0;font-size:13px;color:var(--mute);line-height:1.6}
/* 名称积木 */
.ent-blocks{display:flex;flex-wrap:wrap;align-items:center;gap:8px} .ent-blocks.ja{padding-top:10px;border-top:1px dashed var(--line)}
.ent-block{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;border-radius:10px;min-width:84px;border:1px solid transparent} .ent-block b{font:900 22px var(--font-serif)} .ent-block .han{font-family:"Noto Serif JP",var(--font-serif)} .ent-block span{font:11px var(--font-mono)}
.ent-plus{font:20px var(--font-mono);color:var(--mute)}
/* 汉字 */
.ent-kanjis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ent-kanji{background:var(--bg);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px} .ent-kanji.new{outline:2px solid var(--warm)}
.ent-k-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .ent-k-big{font:500 44px/1.1 "Noto Serif JP",serif} .ent-k-read{font-size:13px;flex:1} .ent-k-read small{color:var(--mute);margin-right:3px} .ent-k-zh{color:var(--mute)}
.ent-parts{display:flex;gap:4px;align-items:center;flex-wrap:wrap} .ent-parts i{color:var(--mute);font-style:normal}
.ent-part{display:inline-flex;flex-direction:column;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px 8px;min-width:40px} .ent-part b{font:500 22px "Noto Serif JP",serif} .ent-part small{font-size:10px;color:var(--mute);white-space:nowrap}
/* 六维 */
.ent-spec{display:flex;flex-direction:column;gap:6px}
.ent-beam{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;gap:12px;align-items:center;width:100%;text-align:left;padding:6px 8px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--fg);cursor:pointer;font:inherit} .ent-beam:hover{background:var(--bg)}
.ent-beam-l{font-weight:500}
.ent-beam-bar{height:22px;background:var(--bg);border-radius:6px;overflow:hidden;display:block} .ent-beam-bar i{display:block;height:100%;border-radius:6px} .ent-beam-bar em{display:flex;align-items:center;height:100%;padding-left:8px;font:11px var(--font-sans);color:var(--mute);border:1px dashed var(--line);border-radius:6px;font-style:normal}
.ent-beam-s{font:13px var(--font-mono);text-align:right}
.ent-beam-detail{margin:0 8px 6px 68px;padding:10px 12px;border-radius:8px;background:var(--bg);font-size:13px;display:flex;flex-direction:column;gap:4px} .ent-beam-detail .src{font:11px var(--font-mono);color:var(--mute)}
/* 风险 */
.ent-risk{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;align-items:start}
.ent-scale svg{max-width:300px;display:block;margin:0 auto}
.ent-risk-rows{display:flex;flex-direction:column} .ent-risk-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;font-size:14px;padding:8px 10px;border-bottom:1px solid var(--line)} .ent-risk-row .mono{font:11px var(--font-mono);color:var(--mute)}
/* 列表 */
.ent-list{display:flex;flex-direction:column} .ent-row{grid-template-columns:1fr auto auto;gap:10px} .ent-row span:nth-child(2){color:var(--mute);font-size:13px}
.ent-start p{margin:0 0 8px}
.ent-diag{font:11px var(--font-mono);color:var(--mute);padding:4px 2px;display:flex;flex-direction:column;gap:2px}
/* 嵌入第 ⑤ 段 */
.ent-embed{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:0 0 16px;margin-top:4px}
.ent-embed-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel);border-radius:16px 16px 0 0;margin-bottom:12px} .ent-embed-bar .sp{flex:1}
.ent-embed .cv-wrap{padding:0 16px}
@media (max-width:600px){.ent-search input{min-width:150px;flex:1}.ent-kanjis{grid-template-columns:1fr 1fr}.ent-beam-detail{margin-left:8px}.ent-block{min-width:64px;padding:10px 12px}.ent-block b{font-size:18px}}
/* v37：人物 / 地名页（语义词汇） */
.ent-embed-bar .cv-source.warn{color:#9a5b00;background:#fff3dc} .ent-warn{margin:8px 0 0;padding:8px 12px;border-radius:10px;background:var(--warm-bg,#fff3dc);color:var(--warm,#9a5b00);font-size:13px}
.ent-h1row{display:flex;align-items:center;gap:12px;flex-wrap:wrap} .ent-h1.lat{font-family:var(--serif,'Noto Serif JP',serif);letter-spacing:.01em} .ent-ipa{font-size:14px;color:var(--mute);font-family:var(--mono,ui-monospace,monospace)} .ent-spk-round{border:1px solid var(--line);background:var(--panel,#fff);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:15px}
.ent-nblock{all:unset;display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 14px;border-radius:12px;cursor:pointer;font:inherit;line-height:1.2} .ent-nblock .kana{font-size:11px;opacity:.85;min-height:13px} .ent-nblock b{font-size:26px;font-family:var(--serif,'Noto Serif JP',serif)} .ent-nblock .m{font-size:11px;opacity:.85} .ent-nblock.acc{background:var(--acc-bg);color:var(--acc)} .ent-nblock.cool{background:var(--cool-bg);color:var(--cool)} .ent-nblock.mute{background:var(--bg);color:var(--mute)} .ent-nblock:hover{filter:brightness(.96)}
.ent-alt{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:13px} .ent-alt .k{color:var(--mute);margin-right:4px} .ent-alt .cv-pill span{opacity:.7;font-size:11px}
.ent-nparts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px} .ent-npart{background:var(--bg);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5} .ent-npart>div:first-child{display:flex;align-items:center;gap:8px} .ent-npart b{font-size:17px}
.ent-notable{list-style:none;margin:0;padding:0} .ent-notable li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:8px 0;border-top:1px dashed var(--line);font-size:14px;line-height:1.55;align-items:start} .ent-notable li:first-child{border-top:0} .ent-notable .y{font-family:var(--mono,ui-monospace,monospace);font-size:12px;color:var(--acc);min-width:44px;padding-top:3px}
.ent-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0} .ent-chain .sep{color:var(--mute)} .ent-chain-it{display:inline-flex;flex-direction:column;align-items:center;padding:5px 10px;border-radius:10px;background:var(--bg);color:var(--mute);line-height:1.15} .ent-chain-it span{font-size:15px;font-family:var(--serif,'Noto Serif JP',serif)} .ent-chain-it small{font-size:10px} .ent-chain-it.cur{background:var(--acc-bg);color:var(--acc)}
.ent-rel{display:inline-flex;flex-direction:column;padding:6px 10px;border-radius:10px;background:var(--bg);font-size:13px;line-height:1.25} .ent-rel span{font-size:11px;color:var(--mute)}
.ent-arrow{margin-left:auto;color:var(--acc);white-space:nowrap;font-size:12px} .ent-kanjis.sm .ent-kanji{min-width:150px}
.cv-source.warn{background:var(--warm-bg);color:var(--warm)}
/* PUA / 扩展区构件：KaiXinSong → BabelStone Han 排最前 */
.ent-page .han,.ent-page .ent-h1,.ent-page .ent-part b,.ent-page .ent-k-big,.ent-page .ent-nblock b,.ent-page .ent-block b,.ent-page .ent-chain-it span{font-family:'KaiXinSong','BabelStone Han',"Noto Serif SC","Noto Serif JP",var(--font-serif,serif)}
.ent-page .ent-part small{font-family:'KaiXinSong','BabelStone Han',var(--font-sans,sans-serif)}
/* v6（2026-10-30）中国企业卡（补丁 24） */
.cn-co{display:flex;flex-direction:column;gap:14px;padding:4px 2px}
.cn-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.cn-name{margin:0;font-size:24px;font-weight:600;color:#2b2722;font-family:'KaiXinSong','BabelStone Han',"Noto Serif SC","Songti SC",serif}
.cn-en{font-size:13px;color:#6d675c;flex-basis:100%}
.cn-st{font-size:12px;padding:2px 10px;border-radius:999px;background:#f1ede4;color:#6d675c} .cn-st.ok{background:#eef6f1;color:#2f6b4f}
.cn-sec h3{margin:0 0 8px;font-size:12px;letter-spacing:.06em;color:#b8432f;text-transform:uppercase}
.cn-blocks{display:flex;flex-wrap:wrap;gap:8px}
.cn-b{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:12px;border:2px solid #d9d1c0;background:#fff;min-width:64px}
.cn-b b{font-size:24px;font-weight:500;font-family:'KaiXinSong','BabelStone Han',"Noto Serif SC",serif;color:#2b2722} .cn-b i{font-style:normal;font-size:11px;color:#6d675c} .cn-b-py{font-size:11px;color:#2f6b4f}
.cn-b.r-region{border-color:#e0b86a;background:#fff8ea} .cn-b.r-shanghao{border-color:#8a6cc7;background:#f5f1fc} .cn-b.r-industry{border-color:#4a9a8a;background:#eef8f5} .cn-b.r-org{border-color:#c9bfa9;border-style:dashed;background:#faf8f3}
.cn-note{margin:8px 0 0;font-size:12px;color:#6d675c}
.cn-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.cn-f{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #ece5d6;border-radius:10px;background:#fffdf8} .cn-f small{font-size:11px;color:#8a8477} .cn-f b{font-size:14px;font-weight:600;color:#2b2722;word-break:break-all}
.cn-scope{margin-top:8px;font-size:13px;color:#3d3830} .cn-scope summary{cursor:pointer;color:#5e584d} .cn-scope p{margin:6px 0 0;line-height:1.6}
.cn-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #ece5d6;padding-top:10px} .cn-foot small{color:#8a8477;font-size:12px}
.cn-co .zp-chars{display:flex;flex-wrap:wrap;gap:8px} .cn-co .zp-cbtn{all:unset;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:12px;background:#fff;border:1px solid #e3dccd;min-width:60px} .cn-co .zp-cbtn b{font-size:24px;font-weight:400} .cn-co .zp-cbtn small{font-size:11px;color:#2f6b4f} .cn-co .zp-cbtn em{font-style:normal;font-size:11px;color:#6d675c;max-width:110px;text-align:center}
.jpd-modal-body .cn-co{padding:14px 18px}
