/* ============ Ai-Router 官网(Apple 风格) ============
   设计语言:大量留白、SF 系字体栈、克制的玻璃拟态、
   单一强调色青绿->蓝紫渐变、滚动 reveal、3D 路由环。 */
:root{
  --bg:#000;--bg2:#0b0f14;--panel:rgba(255,255,255,.04);
  --line:rgba(255,255,255,.08);--text:#f5f5f7;--muted:#86868b;
  --ac:#35c2a0;--ac2:#4f8ef7;--grad:linear-gradient(135deg,#35c2a0,#4f8ef7);
  --r:22px;--max:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- 导航 ---------- */
.snav{position:fixed;top:0;left:0;right:0;z-index:100;height:56px;
  display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc(50vw - var(--max)/2));
  background:rgba(0,0,0,.55);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;transition:border .3s}
.snav.scrolled{border-bottom-color:var(--line)}
.brand{font-weight:700;font-size:19px;display:flex;align-items:center;gap:9px;letter-spacing:.2px}
.brand span:not(.mark){color:var(--ac)}
.mark{width:20px;height:20px;border-radius:6px;background:var(--grad);display:inline-block;position:relative}
.mark::after{content:"";position:absolute;inset:5px;border-radius:2px;background:#000}
.nav-links{display:flex;gap:30px}
.nav-links a{font-size:14px;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-right{display:flex;gap:12px;align-items:center}
.lang-btn{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  border-radius:99px;padding:5px 12px;font-size:12px;cursor:pointer;transition:all .2s}
.lang-btn:hover{color:var(--text);border-color:rgba(255,255,255,.25)}

/* ---------- 按钮 ---------- */
.cta{display:inline-block;background:var(--grad);color:#fff;font-weight:600;
  border-radius:99px;padding:12px 26px;font-size:15px;transition:transform .25s cubic-bezier(.2,.9,.3,1.4),box-shadow .25s,opacity .2s}
.cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 32px rgba(53,194,160,.35)}
.cta:active{transform:scale(.97)}
.cta.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.cta.ghost:hover{border-color:rgba(255,255,255,.35);box-shadow:none}
.cta.sm{padding:8px 18px;font-size:13px}
.cta.xl{padding:16px 40px;font-size:17px}

/* 下载主按钮:加大加粗 + 下载图标 + 呼吸光晕,页面最醒目的动作 */
.cta.download{padding:16px 36px;font-size:17px;font-weight:700;position:relative;
  box-shadow:0 0 0 0 rgba(53,194,160,.55);animation:pulseGlow 2.6s ease-out infinite}
.cta.download::before{content:"";display:inline-block;width:1em;height:1em;margin-right:10px;vertical-align:-.14em;
  background-color:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center/contain no-repeat}
.cta.download:hover{box-shadow:0 14px 36px rgba(53,194,160,.45)}
@keyframes pulseGlow{0%{box-shadow:0 0 0 0 rgba(53,194,160,.5)}70%{box-shadow:0 0 0 16px rgba(53,194,160,0)}100%{box-shadow:0 0 0 0 rgba(53,194,160,0)}}

/* ---------- Hero ---------- */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;
  padding:120px 0 60px;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;animation:drift 14s ease-in-out infinite alternate}
.orb-a{width:520px;height:520px;background:radial-gradient(circle,rgba(53,194,160,.5),transparent 70%);top:-10%;left:-8%}
.orb-b{width:460px;height:460px;background:radial-gradient(circle,rgba(79,142,247,.45),transparent 70%);bottom:-15%;right:-5%;animation-delay:-7s}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,40px) scale(1.12)}}
.grid-floor{position:absolute;left:-20%;right:-20%;bottom:-28%;height:60%;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;transform:perspective(620px) rotateX(62deg);mask-image:linear-gradient(to top,rgba(0,0,0,.8),transparent)}
.hero-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative}
.eyebrow{color:var(--ac);font-size:15px;font-weight:600;letter-spacing:.5px;margin-bottom:18px;
  animation:riseIn .9s .1s cubic-bezier(.2,.8,.2,1) both}
.hero h1{font-size:clamp(44px,6vw,72px);line-height:1.08;font-weight:700;letter-spacing:-1.5px;
  animation:riseIn .9s .2s cubic-bezier(.2,.8,.2,1) both}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--muted);font-size:19px;max-width:520px;margin:22px 0 30px;
  animation:riseIn .9s .3s cubic-bezier(.2,.8,.2,1) both}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;animation:riseIn .9s .4s cubic-bezier(.2,.8,.2,1) both}
.hero-stats{display:flex;gap:44px;margin-top:52px;animation:riseIn .9s .55s cubic-bezier(.2,.8,.2,1) both}
/* 下载说明(Gatekeeper 提示 + xattr 命令) */
.dl-note{margin-top:26px;font-size:13px;color:var(--muted);max-width:520px;
  animation:riseIn .9s .65s cubic-bezier(.2,.8,.2,1) both}
.dl-note code{display:block;width:fit-content;max-width:100%;overflow-x:auto;white-space:nowrap;
  margin-top:6px;padding:5px 12px;border-radius:8px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--ac);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;user-select:all}
.stat b{display:block;font-size:34px;font-weight:700;letter-spacing:-.5px;
  font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:13px;color:var(--muted)}
@keyframes riseIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- 3D 路由环 ---------- */
.orbit{position:relative;width:min(430px,90%);aspect-ratio:1;margin:0 auto;
  transform-style:preserve-3d;perspective:900px;animation:riseIn 1.1s .45s cubic-bezier(.2,.8,.2,1) both}
.orbit-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.r1{transform:rotateX(68deg) rotateZ(0);animation:spinZ 26s linear infinite}
.r2{inset:14%;transform:rotateX(68deg) rotateZ(45deg);border-color:rgba(255,255,255,.07);animation:spinZ 34s linear infinite reverse}
@keyframes spinZ{to{transform:rotateX(68deg) rotateZ(360deg)}}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:112px;height:112px;border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:rgba(11,15,20,.85);border:1px solid var(--line);box-shadow:0 0 70px rgba(53,194,160,.28);
  animation:corePulse 4s ease-in-out infinite}
.orbit-core span:last-child{font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}
.core-mark{width:30px;height:30px;border-radius:9px;background:var(--grad);position:relative}
.core-mark::after{content:"";position:absolute;inset:8px;border-radius:3px;background:#0b0f14}
@keyframes corePulse{0%,100%{box-shadow:0 0 60px rgba(53,194,160,.22)}50%{box-shadow:0 0 96px rgba(79,142,247,.4)}}
.sat{position:absolute;display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:14px;
  background:rgba(17,23,31,.9);border:1px solid var(--line);font-size:13px;
  box-shadow:0 8px 26px rgba(0,0,0,.5);animation:float 6s ease-in-out infinite}
.sat em{font-style:normal;color:var(--muted)}
.s1{left:8%;top:6%}.s2{right:4%;top:16%}.s3{left:0%;top:48%}
.s4{right:0%;top:52%}.s5{left:14%;bottom:8%}.s6{right:16%;bottom:2%}
.s2{animation-delay:-1s}.s3{animation-delay:-2s}.s4{animation-delay:-3.2s}.s5{animation-delay:-4.1s}.s6{animation-delay:-5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
/* 数据包沿环流动 */
.packet{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--grad);
  box-shadow:0 0 14px rgba(53,194,160,.9);top:50%;left:50%;margin:-4px}
.f1{animation:orbitMove 7s linear infinite}
.f2{animation:orbitMove 9s linear infinite reverse;animation-delay:-3s;width:6px;height:6px;margin:-3px}
.f3{animation:orbitMove 11s linear infinite;animation-delay:-6s}
@keyframes orbitMove{from{transform:rotate(0) translateX(min(180px,38vw)) rotate(0)}to{transform:rotate(360deg) translateX(min(180px,38vw)) rotate(-360deg)}}

/* ---------- 平台图标(纯 CSS 标识) ---------- */
.p{width:22px;height:22px;border-radius:7px;display:inline-block;position:relative;flex:none}
.p::after{content:"";position:absolute;font-size:10px;font-weight:800;color:#fff;
  left:50%;top:50%;transform:translate(-50%,-50%);letter-spacing:-.5px}
.p-ark{background:linear-gradient(135deg,#00f0ff,#1166ff)}.p-ark::after{content:"V"}
.p-zhipu{background:linear-gradient(135deg,#3859ff,#3f7bff)}.p-zhipu::after{content:"Z"}
.p-gpt{background:linear-gradient(135deg,#10a37f,#0d8a6a)}.p-gpt::after{content:"G"}
.p-ds{background:linear-gradient(135deg,#4d6bfe,#2a44d8)}.p-ds::after{content:"D"}
.p-qwen{background:linear-gradient(135deg,#615ced,#8a63ff)}.p-qwen::after{content:"Q"}
.p-claude{background:linear-gradient(135deg,#d97757,#c05a3c)}.p-claude::after{content:"C"}

/* ---------- 通用 section ---------- */
.band{padding:130px 0;position:relative}
.band:nth-child(even){background:var(--bg2)}
.kicker{color:var(--ac);font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.band h2{font-size:clamp(32px,4.4vw,52px);font-weight:700;letter-spacing:-1px;line-height:1.15;margin-bottom:56px;max-width:820px}
.note{color:var(--muted);font-size:14px;margin-top:26px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s}
.card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.card h3{font-size:20px;margin:18px 0 10px}
.card p{color:var(--muted);font-size:15px}
.ico{width:44px;height:44px;border-radius:12px;display:block;position:relative;background:var(--panel);border:1px solid var(--line)}
.i1{background:linear-gradient(135deg,rgba(53,194,160,.25),rgba(53,194,160,.08))}
.i2{background:linear-gradient(135deg,rgba(79,142,247,.25),rgba(79,142,247,.08))}
.i3{background:linear-gradient(135deg,rgba(160,120,247,.25),rgba(160,120,247,.08))}
.ico::after{content:"";position:absolute;inset:12px;border-radius:4px;background:var(--grad)}
.i2::after{background:linear-gradient(135deg,#4f8ef7,#7aa2ff)}
.i3::after{background:linear-gradient(135deg,#a078f7,#c09aff)}

/* ---------- 平台网格 ---------- */
.plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.plat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:32px;
  display:flex;flex-direction:column;gap:12px;align-items:flex-start;
  transition:transform .4s cubic-bezier(.2,.8,.2,1) var(--d,0s),border-color .3s,box-shadow .4s;
  opacity:0;transform:translateY(26px)}
.reveal.in .plat{opacity:1;transform:none}
.plat:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.2);box-shadow:0 18px 48px rgba(0,0,0,.5)}
.plat b{font-size:19px}
.plat span{color:var(--muted);font-size:13px}

/* ---------- 使用步骤 ---------- */
.step{display:grid;grid-template-columns:70px 1.4fr 1fr;gap:34px;align-items:center;
  padding:46px 0;border-top:1px solid var(--line)}
.step-no{font-size:52px;font-weight:800;letter-spacing:-2px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.step h3{font-size:23px;margin-bottom:10px}
.step p{color:var(--muted);font-size:15px;max-width:460px}
.step.flip{grid-template-columns:70px 1fr 1.4fr}
/* 终端 */
.term{margin-top:22px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0d1117}
.term-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--line)}
.term-bar i{width:11px;height:11px;border-radius:50%;background:#3a414d}
.term-bar i:first-child{background:#ff5f57}.term-bar i:nth-child(2){background:#febc2e}.term-bar i:nth-child(3){background:#28c840}
.term-bar span{margin-left:8px;color:var(--muted);font-size:11.5px}
.term pre{padding:18px;overflow-x:auto;font-size:13px;line-height:1.75;
  font-family:"SF Mono",ui-monospace,Menlo,monospace;color:#c9d1d9}
.term .k{color:#ff7b72}.term .v{color:#7ee787}.term .dim{color:#6e7681}
/* mini UI 演示 */
.step-visual{display:flex;justify-content:center}
.mini-ui{width:100%;max-width:340px;height:220px;border-radius:16px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);position:relative;overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.45)}
.mini-ui::before{content:"";position:absolute;top:12px;left:14px;display:flex;gap:6px;
  width:46px;height:10px;
  background:radial-gradient(circle 4px at 6px 5px,#ff5f57 98%,transparent),radial-gradient(circle 4px at 22px 5px,#febc2e 98%,transparent),radial-gradient(circle 4px at 38px 5px,#28c840 98%,transparent)}
.mini-ui.providers::after{content:"";position:absolute;inset:36px 16px 14px;border-radius:10px;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0 26px,transparent 26px 36px)}
.mini-ui.env::after{content:"";position:absolute;inset:36px 16px 14px;border-radius:10px;background:#0d1117;
  box-shadow:inset 0 0 0 1px var(--line)}
.mini-ui.route::after{content:"";position:absolute;left:20px;right:20px;top:44px;height:12px;border-radius:6px;
  background:linear-gradient(90deg,var(--ac) 22%,var(--ac2) 22.5%,var(--ac2) 100%);opacity:.8}

/* ---------- 界面展示(截图模拟 + tabs) ---------- */
.shot-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.shot-tabs button{background:var(--panel);border:1px solid var(--line);color:var(--muted);
  border-radius:99px;padding:9px 22px;font-size:14px;cursor:pointer;transition:all .25s}
.shot-tabs button.on{background:#fff;color:#000;font-weight:600;border-color:#fff}
.shot-stage{position:relative;min-height:430px}
.shot{position:absolute;inset:0;opacity:0;transform:translateY(18px) scale(.985);pointer-events:none;
  transition:opacity .45s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1)}
.shot.show{opacity:1;transform:none;pointer-events:auto}
.win{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0e1319;
  box-shadow:0 34px 90px rgba(0,0,0,.6);height:430px;display:flex;flex-direction:column}
.win-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--line)}
.win-bar i{width:11px;height:11px;border-radius:50%;background:#3a414d}
.win-bar i:first-child{background:#ff5f57}.win-bar i:nth-child(2){background:#febc2e}.win-bar i:nth-child(3){background:#28c840}
.win-bar span{margin-left:10px;color:var(--muted);font-size:12px}
.win-body{flex:1;display:flex;min-height:0}
.sb{width:150px;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:8px}
.sb i{height:30px;border-radius:8px;background:rgba(255,255,255,.05)}
.sb i.on{background:rgba(53,194,160,.22);box-shadow:inset 0 0 0 1px rgba(53,194,160,.4)}
.main{flex:1;padding:20px;min-width:0;display:flex;flex-direction:column;gap:14px}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:16px;position:relative;overflow:hidden}
.kpi small{color:var(--muted);font-size:11.5px;display:block;margin-bottom:6px}
.kpi b{font-size:22px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.spark{position:absolute;left:14px;right:14px;bottom:10px;height:22px;opacity:.85;
  background:linear-gradient(90deg,rgba(53,194,160,.5) 0 8%,transparent 8% 16%,rgba(53,194,160,.5) 16% 28%,transparent 28% 38%,rgba(79,142,247,.55) 38% 58%,transparent 58% 66%,rgba(53,194,160,.5) 66% 88%,transparent 88%)}
.spark.s2{background:linear-gradient(90deg,rgba(79,142,247,.5) 0 20%,transparent 20% 30%,rgba(79,142,247,.6) 30% 62%,transparent 62% 70%,rgba(79,142,247,.4) 70% 100%)}
.spark.s3{background:linear-gradient(90deg,rgba(53,194,160,.5) 0 12%,transparent 12% 22%,rgba(53,194,160,.4) 22% 44%,transparent 44% 52%,rgba(53,194,160,.55) 52% 78%,transparent 78% 88%,rgba(53,194,160,.35) 88% 100%)}
.chart-area{flex:1;border-radius:14px;border:1px solid var(--line);padding:16px;display:flex;align-items:flex-end}
.bars{display:flex;gap:7px;align-items:flex-end;width:100%;height:100%}
.bars i{flex:1;border-radius:4px 4px 0 0;background:var(--grad);opacity:.85;
  transform:scaleY(0);transform-origin:bottom;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.shot.show .bars i{transform:scaleY(1)}
.rows{gap:9px}
.row{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);
  border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-size:14px}
.row b{min-width:56px}.row span{color:var(--muted);font-size:13px;flex:1}
.pill{font-size:11px;padding:2.5px 11px;border-radius:99px;font-style:normal}
.pill.on{background:rgba(53,194,160,.18);color:var(--ac)}
.pill.off{background:rgba(255,255,255,.07);color:var(--muted)}
.usage-heat{flex:1;border-radius:14px;border:1px solid var(--line);padding:14px;display:grid;
  grid-template-columns:repeat(18,1fr);gap:5px;align-content:center}
.usage-heat i{aspect-ratio:1;border-radius:4px;background:rgba(255,255,255,.05);
  transition:transform .3s}
.usage-heat i:hover{transform:scale(1.35)}
.loglines{gap:8px;overflow:hidden}
.ll{display:flex;gap:16px;align-items:center;font-size:12.5px;background:rgba(255,255,255,.035);
  border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-family:"SF Mono",ui-monospace,Menlo,monospace}
.ll .t{color:var(--muted)}.ll .dim{color:#6e7681;margin-left:auto}
.lv{font-weight:700;min-width:32px}.lv.ok{color:#28c840}.lv.wr{color:#febc2e}

/* ---------- 定价 ---------- */
/* Product Hunt 优惠横幅:标题与卡片之间,玻璃拟态 pill */
.promo{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  margin:-24px 0 42px;padding:13px 24px;border-radius:99px;
  background:rgba(53,194,160,.07);border:1px solid rgba(53,194,160,.32)}
.promo-label{font-weight:700;font-size:15px;color:var(--text)}
.promo-text{color:var(--muted);font-size:14px}
.promo-code{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-weight:700;color:var(--ac);
  background:rgba(53,194,160,.12);border:1px dashed rgba(53,194,160,.55);border-radius:10px;
  padding:6px 14px;font-size:14px;letter-spacing:1px;cursor:pointer;transition:all .2s}
.promo-code:hover{background:rgba(53,194,160,.22)}
.promo-code:active{transform:scale(.96)}
.promo-code.copied{background:var(--grad);color:#fff;border-style:solid;border-color:transparent}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:24px;justify-content:center}
.card.price{text-align:left;padding:40px 36px;position:relative}
.card.price.best{border-color:rgba(53,194,160,.5);box-shadow:0 0 70px rgba(53,194,160,.14)}
.tag{position:absolute;top:-13px;left:32px;background:var(--grad);color:#fff;font-style:normal;
  font-size:12px;font-weight:600;padding:4px 14px;border-radius:99px}
.price-line{margin:16px 0 22px;display:flex;align-items:baseline;gap:3px}
.cur{font-size:24px;font-weight:700}
.amt{font-size:62px;font-weight:800;letter-spacing:-2.5px;font-variant-numeric:tabular-nums}
.per{color:var(--muted);font-size:15px}
.card.price ul{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:11px}
.card.price li{color:var(--muted);font-size:15px;padding-left:26px;position:relative}
.card.price li::before{content:"✓";position:absolute;left:0;color:var(--ac);font-weight:700}
.card.price .cta{width:100%;text-align:center}

/* ---------- 尾部 ---------- */
.final{text-align:center;padding:150px 0}
.final h2{font-size:clamp(30px,4vw,46px);letter-spacing:-1px;margin-bottom:36px}
/* ---------- Footer ---------- */
.sfoot{border-top:1px solid var(--line);padding:30px 0}
.sfoot .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.sfoot-left{display:flex;flex-direction:column;gap:6px}
.sfoot .brand{font-size:15px}
.sfoot-left span:last-child{color:var(--muted);font-size:13px}

/* Product Hunt 徽章 */
.ph-badge img{display:block;height:44px;width:auto;border-radius:8px;opacity:.85;transition:opacity .2s}
.ph-badge:hover img{opacity:1}

/* Telegram 答疑频道入口 */
.tg-help{display:flex;align-items:center;gap:12px}
.tg-link{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:600;
  text-decoration:none;padding:8px 16px;border:1px solid var(--line);border-radius:99px;transition:all .2s}
.tg-link:hover{border-color:var(--ac);color:var(--ac);box-shadow:0 4px 18px rgba(53,194,160,.18)}
.tg-icon{width:18px;height:18px;fill:var(--ac)}
.tg-qr-btn{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline dotted;
  padding:4px}
.tg-qr-btn:hover{color:var(--text)}

/* Telegram 二维码弹层 */
.tg-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}
.tg-modal[hidden]{display:none}
.tg-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.tg-modal-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:26px 26px 22px;border-radius:18px;border:1px solid var(--line);
  background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.5);
  animation:tgPop .25s cubic-bezier(.2,.9,.3,1.3)}
.tg-modal-card img{width:180px;height:auto;border-radius:10px;border:1px solid var(--line);background:#fff;padding:10px}
.tg-modal-card span{color:var(--muted);font-size:14px}
.tg-modal-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;border-radius:50%;
  background:none;color:var(--muted);font-size:15px;cursor:pointer;transition:all .2s}
.tg-modal-close:hover{color:var(--text);background:rgba(255,255,255,.08)}
@keyframes tgPop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}

/* ---------- 滚动进出场 ---------- */
.reveal{opacity:0;transform:translateY(44px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- 响应式 ---------- */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .sub{margin-inline:auto}
  .orbit{margin-top:26px;width:min(330px,92%)}
  .cols,.plat-grid{grid-template-columns:1fr 1fr}
  .step,.step.flip{grid-template-columns:1fr;gap:18px}
  .step-no{font-size:36px}
  .step-visual{order:-1}
  .kpi-row{grid-template-columns:1fr 1fr}
  .sb{width:110px}
}
@media (max-width:620px){
  .nav-links{display:none}
  .cols,.plat-grid,.cards{grid-template-columns:1fr}
  .hero-stats{gap:26px;flex-wrap:wrap;justify-content:center}
  .win{height:380px}
}
