
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{background:var(--bodybg);color:var(--ink);font-size:15px;
 font-family:system-ui,-apple-system,"Microsoft YaHei","PingFang SC",sans-serif;
 max-width:600px;margin:0 auto;min-height:100vh}
svg{display:block}
i{font-style:normal;display:inline-flex}

/* ===== 三个配色主题：只换这些变量，布局一字不改 ===== */
.th-a{--hbg:linear-gradient(140deg,#104890,#0c3568 55%,#1a6b52);--glow:rgba(32,168,56,.5);
      --acc:#1a9e3e;--bodybg:#f4f7fb;--cardbg:#fff;--cardbd:transparent;--cardsh:0 14px 34px rgba(15,45,90,.14);
      --blkbg:#fff;--blkbd:#e8eef7;--ink:#141c2b;--ink2:#3c4a5e;--muted:#7b8798;
      --line:#e8eef7;--dash:#e2e8f3;--ico:#104890;--btnfg:#fff}
.th-b{--hbg:linear-gradient(140deg,#0d5c3a,#0a4530 55%,#0f7a4a);--glow:rgba(90,220,140,.42);
      --acc:#1f9a49;--bodybg:#f1f8f3;--cardbg:#fff;--cardbd:transparent;--cardsh:0 14px 34px rgba(10,70,45,.16);
      --blkbg:#fff;--blkbd:#e2f0e7;--ink:#13251b;--ink2:#2f4a3a;--muted:#7a8f83;
      --line:#e6f2ea;--dash:#dcf0e4;--ico:#0d5c3a;--btnfg:#fff}
.th-c{--hbg:linear-gradient(140deg,#0c2347,#07132a);--glow:rgba(32,168,56,.3);
      --acc:#4fd06b;--bodybg:#07132a;--cardbg:rgba(255,255,255,.055);--cardbd:rgba(255,255,255,.13);
      --cardsh:0 14px 34px rgba(0,0,0,.4);--blkbg:rgba(255,255,255,.045);--blkbd:rgba(255,255,255,.11);
      --ink:#e7eefb;--ink2:rgba(226,236,250,.9);--muted:rgba(226,236,250,.62);
      --line:rgba(255,255,255,.1);--dash:rgba(255,255,255,.14);--ico:#4fd06b;--btnfg:#fff}

/* ===== 备案测试期提示条（备案通过后 {{TESTBAR}} 置空即可整条消失） ===== */
.testbar{position:sticky;top:0;z-index:50;display:block;background:linear-gradient(90deg,#fff4d9,#ffe7b8,#fff4d9);
 border-bottom:1px solid #ecd39a;color:#8a4b00;font-size:13px;font-weight:700;text-align:center;padding:9px 12px}

/* ===== 顶部渐变头 ===== */
.top{position:relative;overflow:hidden;padding:16px 16px 82px;color:#fff;background:var(--hbg)}
.top:after{content:"";position:absolute;right:-46px;top:-46px;width:200px;height:200px;border-radius:50%;
 background:radial-gradient(circle,var(--glow),transparent 70%)}
.nav{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;position:relative;z-index:1;opacity:.95}
.nav a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:4px}
.nav svg{width:15px;height:15px}

/* ===== 主卡 ===== */
.card{position:relative;z-index:2;background:var(--cardbg);border:1px solid var(--cardbd);border-radius:16px;
 margin:-64px 16px 0;padding:0 18px 18px;box-shadow:var(--cardsh);text-align:center}
.ava{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:-46px auto 10px;background:#dbe4f0;
 border:3px solid var(--cardbg);box-shadow:0 6px 18px rgba(15,45,90,.18)}
.ava img,.ava svg{width:100%;height:100%;object-fit:cover;display:block}
.nm{font-size:24px;font-weight:800;letter-spacing:1px;color:var(--ink)}
.ti{font-size:13.5px;color:var(--acc);font-weight:800;margin-top:5px}
.co{font-size:12.5px;color:var(--muted);margin-top:4px}
.du{font-size:12.5px;color:var(--ink2);margin-top:7px;line-height:1.6}
.cts{margin-top:16px;padding-top:14px;border-top:1px dashed var(--dash);
 display:flex;flex-direction:column;gap:10px;font-size:13.5px;text-align:left}
.ct{display:flex;gap:10px;align-items:flex-start;color:var(--ink2);line-height:1.5}
.ct i{width:17px;height:17px;flex:0 0 auto;margin-top:2px;color:var(--ico)}
.ct a{color:inherit;text-decoration:none}
.ph{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}

/* ===== 防横向溢出（手机端必须）=====
   Flexbox 子项默认 min-width:auto，长文字（地址、18位信用代码）不会缩到容器内，
   会撑破卡片、顶到屏幕边缘。以下 4 行是必须的，别删。 */
.ct>span,.el>b{flex:1 1 auto;min-width:0}
.ct>span,.el>b,.ec>span,.bh>b,.bh>em{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.ct,.el>div,.ec,.bh,.qrs>figure{min-width:0}
.qrs img{width:100%;height:auto}

/* ===== 微信引导层（微信内置浏览器不能下载文件 → 引导用户在浏览器打开/复制资料） ===== */
.wxg{position:fixed;left:0;top:0;right:0;bottom:0;z-index:99;background:rgba(8,18,34,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.wxg[hidden]{display:none}
.wxg-c{width:100%;max-width:340px;background:var(--cardbg);border-radius:16px;padding:20px 18px 16px;box-shadow:0 18px 50px rgba(8,18,34,.35);text-align:left}
.wxg-t{font-size:16.5px;font-weight:800;color:var(--ink);text-align:center;margin-bottom:14px}
.wxg-b p{margin:0 0 12px;font-size:13.5px;line-height:1.75;color:var(--ink2);background:var(--blkbg);border:1px solid var(--blkbd);border-radius:10px;padding:11px 12px}
.wxg-b b{color:var(--acc)}
.wxg-a{display:flex;gap:10px;margin-top:4px}
.wxg-a a{flex:1;text-align:center;padding:12px 0;border-radius:10px;font-size:14.5px;font-weight:700;cursor:pointer}
.wxg-a .wxg-b1{background:var(--hbg);color:var(--btnfg)}          /* 主按钮：跟名片页"进入官网"同一个渐变 */
.wxg-a .wxg-b2{background:#eef2f8;color:var(--ink);border:1px solid var(--blkbd)}

/* ===== 区块 ===== */
.body{padding:12px 16px 24px}
.blk{background:var(--blkbg);border:1px solid var(--blkbd);border-radius:14px;padding:14px;margin-bottom:10px}
.bh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.bh b{font-size:15.5px;color:var(--ink)}.bh em{font-size:12.5px;color:var(--muted);font-style:normal}
.ec{display:flex;align-items:center;gap:10px;padding:10px 0 12px;border-bottom:1px solid var(--line)}
.ec img{height:42px;width:auto}.ec span{font-size:14px;font-weight:700;color:var(--ink)}
.el>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;border-bottom:1px dashed var(--line)}
.el>div:last-child{border-bottom:0}
.el em{color:var(--muted);font-style:normal;flex:0 0 auto;max-width:44%}
.el b{font-weight:600;text-align:right;line-height:1.5;color:var(--ink2)}
.cert{display:flex;gap:10px;align-items:center}
.cert i{width:19px;height:19px;flex:0 0 auto;color:var(--acc)}
.cert b{display:block;font-size:14px;color:var(--ink)}
.cert span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}

/* 功能行 */
.acts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 4px}
.acts a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px;
 font-size:12px;color:var(--ink2);text-decoration:none;cursor:pointer}
.acts i{width:22px;height:22px;color:var(--ico)}

/* 二维码块 */
.qrs{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}
.qrs figure{margin:0}
.qrs img{width:100%;max-width:132px;border-radius:10px;background:#fff;padding:6px}
.qrs figcaption{font-size:12px;color:var(--muted);margin-top:6px}

/* CTA */
.ctah{font-size:19px;font-weight:800;color:var(--ink)}
.ctas{font-size:13.5px;color:var(--muted);margin:4px 0 0}
.ctab{display:flex;gap:10px;margin-top:12px}
.gbtn,.pbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 8px;
 border-radius:11px;font-size:14.5px;font-weight:800;text-decoration:none;cursor:pointer;border:0}
.gbtn{background:transparent;color:var(--ico);border:1px solid var(--blkbd)}
.th-c .gbtn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:var(--ink)}
.gbtn i{width:17px;height:17px}
.pbtn{background:var(--hbg);color:var(--btnfg)}
.th-b .pbtn{background:linear-gradient(140deg,#0d5c3a,#0f7a4a)}
.th-c .pbtn{background:linear-gradient(140deg,#1a9e3e,#20a838)}

/* 页脚 */
footer{padding:4px 16px 30px;text-align:center;font-size:11.5px;color:var(--muted);line-height:1.9}
footer a{color:inherit}

/* 复制提示 */
#toast{position:fixed;left:50%;bottom:38px;transform:translateX(-50%);background:rgba(10,20,40,.9);color:#fff;
 font-size:13px;padding:10px 18px;border-radius:22px;opacity:0;transition:.25s;pointer-events:none;z-index:99}
#toast.on{opacity:1}
@media(max-width:360px){.nm{font-size:22px}.acts a{font-size:11.5px}}
.ct .cl{font-style:normal;color:#8798ad;margin-right:6px;font-size:13px}
