/* 开发者平台官网 v3 · 极简高级（自成一套：无外部字体/框架/图标库） */

:root{
  --bg:#ffffff;
  --tile:#f5f5f7;
  --tile-2:#fafafc;
  --ink:#1d1d1f;
  --ink-2:#54595f;
  --ink-3:#868b91;
  --line:#e4e4e8;
  --acc:#2f6bff;
  --acc-2:#18b7c4;
  --ok:#12884a;
  --warn:#a86900;
  --bad:#c92a2a;
  --dark:#0b0d14;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --r-s:12px; --r-m:18px; --r-l:26px; --r-xl:34px;
  --sh-s:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.05);
  --sh-m:0 2px 6px rgba(16,24,40,.05),0 18px 40px rgba(16,24,40,.09);
  --sh-l:0 30px 90px rgba(16,24,40,.18),0 4px 14px rgba(16,24,40,.07);
  --max:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.12}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit}
[id]{scroll-margin-top:84px}
.mono{font-family:var(--mono)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
.center{text-align:center}

/* ---------- 品牌标记 ---------- */
.mark{position:relative;display:inline-block;vertical-align:middle;flex:0 0 auto;border-radius:30%;
  background:linear-gradient(135deg,var(--acc),var(--acc-2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.mark::before{content:"";position:absolute;inset:26%;border:2px solid rgba(255,255,255,.92);border-radius:50%}
.mark::after{content:"";position:absolute;left:50%;top:50%;width:16%;height:16%;margin:-8% 0 0 -8%;
  background:#fff;border-radius:50%}
.mark.s{width:26px;height:26px}
.mark.m{width:44px;height:44px}
.mark.l{width:72px;height:72px}

/* ---------- 顶栏 ---------- */
.nav{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
.nav.stuck{border-bottom-color:var(--line)}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 26px;height:56px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;letter-spacing:-.02em}
.brand small{font-weight:500;color:var(--ink-3);font-size:12.5px;padding-left:9px;margin-left:1px;border-left:1px solid var(--line)}
.links{display:flex;gap:24px;font-size:14px;color:var(--ink-2);margin-left:auto}
.links a{transition:color .18s}
.links a:hover{color:var(--ink)}
.sp{flex:1}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14.5px;font-weight:500;
  padding:8px 17px;border-radius:999px;border:0;cursor:pointer;transition:.18s;white-space:nowrap}
.pill.pri{background:var(--acc);color:#fff}
.pill.pri:hover{background:#255ae0}
.pill.ink{background:var(--ink);color:#fff}
.pill.ink:hover{background:#000}
.pill.line{border:1px solid var(--line);background:#fff;color:var(--ink)}
.pill.line:hover{background:var(--tile)}
.pill.ghost{background:transparent;color:var(--acc)}
.pill.ghost:hover{text-decoration:underline}
.pill.lg{padding:14px 30px;font-size:17px}
.pill.wht{background:#fff;color:var(--ink)}
.pill.wht:hover{background:#e9edf7}
.nav-acts{display:flex;gap:8px;align-items:center}
.burger{display:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;
  color:var(--ink);font-size:15px;line-height:1;cursor:pointer}
#mMenu{display:none;position:sticky;top:56px;z-index:79;background:rgba(255,255,255,.94);
  backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
#mMenu.on{display:block}
#mMenu a{display:block;padding:13px 26px;font-size:16px;color:var(--ink);border-top:1px solid var(--tile)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:76px 0 0;text-align:center}
.hero::before{content:"";position:absolute;left:50%;top:-260px;width:1100px;height:700px;margin-left:-550px;
  background:radial-gradient(50% 50% at 50% 50%,rgba(47,107,255,.13),transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;left:50%;top:-40px;width:640px;height:420px;margin-left:-320px;
  background:radial-gradient(50% 50% at 50% 50%,rgba(24,183,196,.10),transparent 70%);pointer-events:none}
.hero-in{position:relative;z-index:1}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;box-shadow:var(--sh-s)}
.tag b{color:var(--acc);font-weight:600}
.hero h1{font-size:clamp(40px,7.2vw,76px);line-height:1.04;letter-spacing:-.045em;margin:26px auto 0;max-width:15em}
.hero h1 .g{background:linear-gradient(100deg,var(--acc),var(--acc-2));-webkit-background-clip:text;
  background-clip:text;color:transparent;white-space:nowrap}
.hero .sub{font-size:clamp(18px,2.3vw,22px);line-height:1.55;color:var(--ink-2);max-width:30em;margin:22px auto 0;font-weight:400}
.hero-acts{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:32px;flex-wrap:wrap}
.hero-note{font-size:14px;color:var(--ink-3);margin-top:16px}

/* ---------- 产品窗口（主视觉） ---------- */
.shot{position:relative;z-index:1;max-width:1000px;margin:54px auto 0;padding:0 26px 76px}
.win{border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-l);overflow:hidden}
.win-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--tile-2)}
.win-bar i{width:10px;height:10px;border-radius:50%;background:#d8d8dd;display:block}
.win-bar i:nth-child(1){background:#ff5f57}.win-bar i:nth-child(2){background:#febc2e}.win-bar i:nth-child(3){background:#28c840}
.win-url{margin-left:10px;flex:1;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:8px;
  font-family:var(--mono);font-size:11.5px;color:var(--ink-3);padding:4px 10px;text-align:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.win-body{display:grid;grid-template-columns:186px 1fr;min-height:400px}
.win-side{background:var(--tile-2);border-right:1px solid var(--line);padding:16px 12px;text-align:left}
.ws-brand{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;padding:0 6px 14px}
.ws-i{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2);padding:8px 10px;border-radius:9px}
.ws-i.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sh-s)}
.ws-i b{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);font-weight:500}
.ws-g{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
  padding:14px 10px 6px}
.win-main{padding:22px 24px;text-align:left}
.wm-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.wm-h h4{font-size:19px}
.wm-h span{font-size:13px;color:var(--ink-3)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kpi{border:1px solid var(--line);border-radius:var(--r-s);padding:12px 13px;background:#fff}
.kpi .kl{font-size:11.5px;color:var(--ink-3)}
.kpi .kn{font-size:22px;font-weight:700;letter-spacing:-.035em;margin-top:5px;font-variant-numeric:tabular-nums}
.kpi .kn em{font-style:normal;font-size:12px;color:var(--ink-3);font-weight:500;margin-left:3px}
.kpi.up .kn{color:var(--ok)}
.chart{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px 10px;background:
  linear-gradient(#fff,#fff)}
.ch-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink-3);margin-bottom:12px}
.ch-h b{font-family:var(--mono);font-size:12.5px;color:var(--ink);font-weight:600}
.bars{display:flex;align-items:flex-end;gap:5px;height:78px}
.bars i{flex:1;background:linear-gradient(180deg,var(--acc),#8fb2ff);border-radius:3px 3px 0 0;opacity:.9}
.bars i:nth-child(even){opacity:.55}
.rows{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.rw{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 14px;
  border-top:1px solid var(--tile);font-size:13px}
.rw:first-child{border-top:0}
.rw .dm{font-family:var(--mono);font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rw .dt{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.bdg{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}
.b-ok{background:rgba(18,136,74,.1);color:var(--ok)}
.b-warn{background:rgba(168,105,0,.11);color:var(--warn)}
.b-bad{background:rgba(201,42,42,.1);color:var(--bad)}
.b-mut{background:var(--tile);color:var(--ink-3)}
.shot-cap{text-align:center;font-size:13px;color:var(--ink-3);margin-top:18px}

/* ---------- 区块 ---------- */
.sec{padding:92px 0}
.sec.tile{background:var(--tile)}
.sec.full-bleed{background:var(--tile)}
.h-eyebrow{font-size:14px;font-weight:600;color:var(--acc);letter-spacing:0}
.sec-h2{font-size:clamp(30px,4.6vw,48px);letter-spacing:-.038em;margin-top:12px;max-width:18em}
.sec-h2.center{margin-left:auto;margin-right:auto}
.sec-sub{font-size:19px;color:var(--ink-2);margin-top:16px;max-width:38em;line-height:1.55}
.sec-sub.center{margin-left:auto;margin-right:auto}

/* 四件事：灰色大方块，无图标 */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}
.tile{background:#fff;border-radius:var(--r-l);padding:38px 34px;min-height:230px;display:flex;flex-direction:column;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.sec.tile .tile{background:#fff}
.tile:hover{transform:translateY(-4px);box-shadow:var(--sh-m)}
.tile .tk{font-size:13px;font-weight:600;color:var(--acc);letter-spacing:.02em}
.tile h3{font-size:24px;margin-top:14px;letter-spacing:-.03em}
.tile p{font-size:16.5px;color:var(--ink-2);margin-top:12px;line-height:1.6}
.tile p b{color:var(--ink);font-weight:600}

/* 能力分屏 */
.feat{display:grid;grid-template-columns:1fr 1.06fr;gap:64px;align-items:center;padding:74px 0;border-top:1px solid var(--line)}
.feat:first-of-type{border-top:0;padding-top:34px}
.feat.rev .ft{order:2}
.ft h3{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.035em;line-height:1.18}
.ft .fe{font-size:14px;font-weight:600;color:var(--acc);letter-spacing:.01em}
.ft p{font-size:18px;color:var(--ink-2);margin-top:16px;line-height:1.6}
.flist{margin-top:22px;display:grid;gap:10px}
.flist li{display:flex;gap:11px;font-size:16px;color:var(--ink-2);align-items:flex-start}
.flist li::before{content:"";width:17px;height:17px;flex:0 0 auto;margin-top:4px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,var(--acc) 0 34%,rgba(47,107,255,.16) 34% 100%)}
.flist li b{color:var(--ink);font-weight:600}
.vis{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-m);padding:22px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.vis:hover{transform:translateY(-5px) scale(1.005);box-shadow:var(--sh-l)}
.vis-h{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-3);margin-bottom:14px}
.vis-h b{font-size:14.5px;color:var(--ink);font-weight:600}
.lic{display:grid;gap:9px}
.lic-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 14px;
  background:var(--tile-2);border-radius:var(--r-s);font-size:13.5px}
.lic-row .dm{font-family:var(--mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lic-row .ex{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.plg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plg-c{border:1px solid var(--line);border-radius:var(--r-m);padding:16px}
.plg-c .ph{width:100%;height:56px;border-radius:10px;background:linear-gradient(120deg,rgba(47,107,255,.14),rgba(24,183,196,.14));
  margin-bottom:12px}
.plg-c:nth-child(2) .ph{background:linear-gradient(120deg,rgba(168,105,0,.12),rgba(201,42,42,.1))}
.plg-c:nth-child(3) .ph{background:linear-gradient(120deg,rgba(18,136,74,.12),rgba(47,107,255,.12))}
.plg-c .pn{font-size:15px;font-weight:600;letter-spacing:-.02em}
.plg-c .pd{font-size:12.5px;color:var(--ink-3);margin-top:4px}
.plg-c .pf{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.plg-c .pp{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.bill{display:grid;gap:10px}
.bill-top{border:1px solid var(--line);border-radius:var(--r-m);padding:18px;background:
  linear-gradient(160deg,rgba(47,107,255,.07),#fff 60%)}
.bill-top .bl{font-size:12.5px;color:var(--ink-3)}
.bill-top .bv{font-size:30px;font-weight:700;letter-spacing:-.04em;margin-top:4px;font-variant-numeric:tabular-nums}
.bill-top .bx{font-size:12.5px;color:var(--ink-2);margin-top:6px}
.log{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.log-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 13px;
  border-top:1px solid var(--tile);font-size:12.5px;font-family:var(--mono);color:var(--ink-2)}
.log-row:first-child{border-top:0}
.log-row .t{color:var(--ink-3);font-size:11.5px}
.log-row .c{font-weight:600;color:var(--ink);text-align:right}
.log-row .z{text-align:right;font-size:11.5px}
.log-row .z.free{color:var(--ink-3)}
.log-row .z.cost{color:var(--acc)}

/* 数字带 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.stat{text-align:center;padding:26px 10px;background:#fff;border-radius:var(--r-l)}
.sec.tile .stat{background:#fff}
.stat .sn{font-size:clamp(34px,4.6vw,52px);font-weight:700;letter-spacing:-.05em;line-height:1;
  background:linear-gradient(120deg,var(--acc),var(--acc-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .sn span{font-size:.44em;letter-spacing:-.02em}
.stat .sl{font-size:15.5px;color:var(--ink-2);margin-top:12px;line-height:1.45}
.stat .sl b{display:block;color:var(--ink);font-weight:600;font-size:16px;margin-bottom:2px}

/* 三步 */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.st3{background:#fff;border-radius:var(--r-l);padding:32px 28px;text-align:left;position:relative}
.sec.tile .st3{background:#fff}
.st3 .num{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;
  font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.st3 h3{font-size:20px;margin-top:20px;letter-spacing:-.028em}
.st3 p{font-size:16px;color:var(--ink-2);margin-top:10px;line-height:1.6}
.st3 .snip{margin-top:16px;background:var(--tile);border-radius:10px;padding:11px 13px;font-family:var(--mono);
  font-size:12px;color:var(--ink-2);line-height:1.7;overflow-x:auto;white-space:pre}
.st3 .snip b{color:var(--acc);font-weight:600}

/* 计费 */
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.mode{background:#fff;border-radius:var(--r-l);padding:30px 28px;border:1px solid transparent;position:relative;
  transition:box-shadow .3s,transform .3s}
.sec.tile .mode{background:#fff}
.mode:hover{transform:translateY(-3px);box-shadow:var(--sh-m)}
.mode.on{border-color:var(--acc);box-shadow:0 12px 40px rgba(47,107,255,.14)}
.mode .flag{position:absolute;top:22px;right:24px;font-size:11.5px;font-weight:600;color:var(--acc);
  background:rgba(47,107,255,.1);padding:3px 9px;border-radius:999px}
.mode h3{font-size:20px;letter-spacing:-.028em}
.mode .mp{font-size:30px;font-weight:700;letter-spacing:-.04em;margin-top:14px;font-variant-numeric:tabular-nums}
.mode .mp span{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:0}
.mode p{font-size:15.5px;color:var(--ink-2);margin-top:12px;line-height:1.6}
.price{margin-top:22px;background:#fff;border-radius:var(--r-l);border:1px solid var(--line);overflow:hidden}
.sec.tile .price{border-color:transparent}
.price-h{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:14px 26px;background:var(--tile-2);
  font-size:12.5px;color:var(--ink-3);font-weight:600}
.price-h span:nth-child(2),.price-h span:nth-child(3){width:104px;text-align:right;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.02em}
.pr-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:15px 26px;
  border-top:1px solid var(--tile)}
.pr-row .pe{font-size:16px;font-weight:600;letter-spacing:-.02em}
.pr-row .pe em{display:block;font-style:normal;font-size:13.5px;color:var(--ink-3);font-weight:400;margin-top:2px}
.pr-row .pu,.pr-row .pq{width:104px;text-align:right;font-variant-numeric:tabular-nums}
.pr-row .pu{font-size:15.5px;font-weight:600}
.pr-row .pq{font-size:13.5px;color:var(--ink-3)}
.facts3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.f3{background:#fff;border-radius:var(--r-l);padding:26px 28px}
.sec.tile .f3{background:#fff}
.f3 .fv{font-size:26px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.f3 .fv span{font-size:14px;font-weight:500;color:var(--ink-3);margin-left:3px}
.f3 p{font-size:15px;color:var(--ink-2);margin-top:10px;line-height:1.6}
.price-note{font-size:14.5px;color:var(--ink-3);margin-top:18px;line-height:1.7;max-width:70em}

/* 给工程师（压低存在感） */
.eng{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;align-items:start}
.eng-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:20px 22px;min-width:0}
.eng-panel .el{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.02em;margin-bottom:12px}
pre.mini{margin:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-family:var(--mono);font-size:12.2px;line-height:1.85;color:var(--ink-2);
  background:var(--tile-2);border-radius:10px;padding:14px 16px;white-space:pre}
pre.mini b{color:var(--acc);font-weight:500}
pre.mini i{color:var(--ink-3);font-style:normal}
.eng-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:16px;color:var(--acc);font-weight:500}
.eng-link:hover{text-decoration:underline}

/* FAQ */
.faq{max-width:820px;margin:44px auto 0;display:grid;gap:12px}
details.q{background:#fff;border-radius:var(--r-m);padding:0;overflow:hidden}
.sec.tile details.q{background:#fff}
details.q summary{display:flex;align-items:center;gap:14px;padding:20px 24px;cursor:pointer;list-style:none;
  font-size:18px;font-weight:600;letter-spacing:-.025em}
details.q summary::-webkit-details-marker{display:none}
details.q summary .pm{margin-left:auto;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:var(--tile);
  position:relative}
details.q summary .pm::before,details.q summary .pm::after{content:"";position:absolute;left:50%;top:50%;
  background:var(--ink-2);transform:translate(-50%,-50%)}
details.q summary .pm::before{width:11px;height:1.6px}
details.q summary .pm::after{width:1.6px;height:11px;transition:transform .25s}
details.q[open] summary .pm::after{transform:translate(-50%,-50%) scaleY(0)}
details.q .a{padding:0 24px 22px;font-size:16.5px;color:var(--ink-2);line-height:1.7;max-width:64em}
details.q .a b{color:var(--ink);font-weight:600}
details.q .a code{font-family:var(--mono);font-size:14px;background:var(--tile);padding:1px 6px;border-radius:5px}
details.q .a p+p{margin-top:10px}

/* 结尾 */
.band{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:96px 0;text-align:center}
.band::before{content:"";position:absolute;left:50%;top:-320px;width:900px;height:640px;margin-left:-450px;
  background:radial-gradient(50% 50% at 50% 50%,rgba(47,107,255,.34),transparent 68%);pointer-events:none}
.band-in{position:relative;z-index:1}
.band .mark{display:block;margin:0 auto 26px}
.band h2{font-size:clamp(30px,5vw,52px);letter-spacing:-.04em;line-height:1.1;max-width:17em;margin:0 auto}
.band p{font-size:19px;color:#a3aab8;margin-top:18px;max-width:34em;margin-left:auto;margin-right:auto;line-height:1.55}
.band-acts{display:flex;gap:12px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.band .pill.line{background:transparent;border-color:rgba(255,255,255,.24);color:#fff}
.band .pill.line:hover{background:rgba(255,255,255,.08)}
.band-fine{font-size:13.5px;color:#767f8e;margin-top:22px}

.contact{padding:80px 0;text-align:center}
.contact h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.035em}
.contact p{font-size:17.5px;color:var(--ink-2);margin-top:14px;max-width:34em;margin-left:auto;margin-right:auto}
.wx{display:inline-flex;align-items:center;gap:16px;margin-top:28px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:10px 12px 10px 24px;box-shadow:var(--sh-s)}
.wx .wl{font-size:13px;color:var(--ink-3);font-weight:500}
.wx .wid{font-size:20px;font-weight:600;letter-spacing:-.02em;font-family:var(--mono);user-select:all}
.wx .copy{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:500;cursor:pointer}
.wx .copy:hover{background:var(--acc)}
.wx .copy.ok{background:var(--ok)}
.contact-fine{font-size:13.5px;color:var(--ink-3);margin-top:14px}

.foot{background:var(--tile);padding:34px 0 40px;font-size:13.5px;color:var(--ink-3)}
.foot-in{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.foot .brand{font-size:14px;color:var(--ink-2)}
.foot .brand small{color:var(--ink-3)}
.foot .fl{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto}
.foot .fl a:hover{color:var(--ink)}

/* 入场动效（仅在 JS 可用时隐藏待现元素，无 JS 时内容始终可见） */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  .tile,.vis,.mode{transition:none}
  .tile:hover,.vis:hover,.mode:hover{transform:none}
}

/* ---------- 响应式 ---------- */
@media(max-width:1000px){
  .links{display:none}
  .burger{display:block}
  .nav-acts .pill.ghost{display:none}
  .win-body{grid-template-columns:1fr}
  .win-side{display:none}
  .feat{grid-template-columns:1fr;gap:32px}
  .feat.rev .ft{order:0}
  .ft{order:1}
  .vis{order:2}
  .stats,.steps3,.modes,.facts3,.eng{grid-template-columns:1fr}
  .steps3>*,.modes>*{max-width:520px;margin:0 auto;width:100%}
}
@media(max-width:720px){
  .hero h1 .g{white-space:normal}
  body{font-size:16.5px}
  .wrap,.nav-in{padding:0 20px}
  .hero{padding-top:52px}
  .shot{padding-bottom:52px}
  .sec{padding:64px 0}
  .kpis{grid-template-columns:1fr 1fr}
  .tiles{grid-template-columns:1fr}
  .plg{grid-template-columns:1fr}
  .price-h,.pr-row{grid-template-columns:1fr auto;gap:2px 12px}
  .price-h span:nth-child(3){display:none}
  .pr-row .pe{grid-column:1;grid-row:1 / span 2;align-self:center}
  .pr-row .pu{grid-column:2;grid-row:1;align-self:end}
  .pr-row .pq{grid-column:2;grid-row:2;align-self:start;font-size:12.5px}
  .pr-row .pq::before{content:"免费 "}
  .pr-row .pe em{font-size:13px}
  details.q summary{font-size:16.5px;padding:18px 20px}
  details.q .a{padding:0 20px 20px;font-size:16px}
  .band,.contact{padding:64px 0}
  .foot .fl{margin-left:0}
  .win-main{padding:18px}
  .lic-row,.rw{grid-template-columns:1fr auto}
  .lic-row .ex,.rw .dt{display:none}
}
