@layer design-reset { .design-surface,.design-surface *:not(svg,svg *),.design-surface *::before,.design-surface *::after { all:revert; } }
@scope (#publicShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:0 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{position:relative;display:flex;gap:2px;margin-left:auto;padding:3px;border-radius:980px;background:rgba(0,0,0,.05)}
.nav-links a{
  position:relative;z-index:1;padding:6px 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  transition:color .25s var(--ease);white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);font-weight:600}
/* 滑动胶囊：跟随悬停 / 当前页，位置由脚本计算 */
.nav-pill{
  position:absolute;top:3px;left:0;height:calc(100% - 6px);width:0;border-radius:980px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.14),0 0 0 .5px rgba(0,0,0,.04);opacity:0;pointer-events:none;
  transition:transform .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),opacity .2s;
}
.nav-pill.ready{opacity:1}
@media (prefers-reduced-motion:reduce){.nav-pill{transition:opacity .2s}}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav-links .only-sm{display:none}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero（浅色舞台：白底 + 轻色晕 + 川流线条，深色只留给代码卡） ---------- */
.hero{
  position:relative;overflow:hidden;background:#fff;color:var(--ink);
  padding-top:calc(var(--nav-h) + clamp(56px,7vw,104px));
}
.hero-wash{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(56% 44% at 50% -6%,rgba(0,113,227,.14),transparent 70%),
    radial-gradient(44% 40% at 98% 8%,rgba(94,92,230,.06),transparent 70%),
    radial-gradient(44% 40% at 2% 16%,rgba(48,209,190,.06),transparent 70%);
}
.nw{white-space:nowrap}
.hero-flow{
  position:absolute;left:0;right:0;bottom:0;height:clamp(230px,34vw,400px);pointer-events:none;
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
}
.hero-flow svg{width:100%;height:100%}
.hero-stage{position:absolute;left:0;right:0;bottom:0;height:clamp(110px,15vw,190px);background:var(--bg-alt);pointer-events:none}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:820px;margin:0 auto;text-align:center}
.hero-pill{
  display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 8px;border-radius:980px;
  background:rgba(255,255,255,.8);border:1px solid var(--hair);box-shadow:0 1px 2px rgba(0,0,0,.04);
  font-size:.8125rem;font-weight:500;color:var(--ink-2);letter-spacing:-.005em;
}
.hero-pill i{width:16px;height:16px;border-radius:50%;background:conic-gradient(from 200deg,#0071e3,#30d1be,#5e5ce6,#0071e3)}
.hero .display{margin:24px 0 0;font-size:clamp(2.5rem,5.6vw,4.25rem);line-height:1.04;letter-spacing:-.04em}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#0062c9 0%,#0071e3 38%,#3a8dff 64%,#30d1be 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:22px auto 0;max-width:640px;color:var(--ink-2);font-size:clamp(1.0625rem,1.45vw,1.25rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.hero-proof{display:flex;justify-content:center;gap:clamp(14px,2.6vw,30px);flex-wrap:wrap;margin-top:24px;font-size:.8125rem;color:var(--ink-3)}
.hero-proof span{display:inline-flex;align-items:center;gap:7px}
.hero-proof svg{flex-shrink:0;color:var(--blue)}

/* 代码卡：整页唯一的深色对象，当作『产品图』放在舞台上 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:880px;margin:clamp(44px,5.4vw,68px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 44px 96px -30px rgba(10,34,80,.45),0 16px 36px -18px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.05);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标（与控制台同款白卡，接在舞台灰底上） ---------- */
.metrics{background:var(--bg-alt);padding:clamp(22px,2.8vw,34px) 0 0}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,14px)}
.metric{
  background:#fff;border-radius:var(--r-md);border:1px solid var(--hair-soft);
  padding:clamp(18px,2vw,24px) clamp(16px,2vw,22px);box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.metric b{display:block;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px;color:var(--ink-2)}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink);font-weight:500}
.metric span{display:block;margin-top:4px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型滚动条 ---------- */
.ticker{background:var(--bg-alt);padding:clamp(20px,2.6vw,30px) 0 clamp(30px,3.6vw,48px)}
.ticker-head{text-align:center;font-size:.8125rem;color:var(--ink-3);margin-bottom:16px}
.ticker-head b{color:var(--ink);font-weight:600}
.ticker-track{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.ticker-row{display:flex;gap:8px;width:max-content;padding-right:8px;animation:ticker 70s linear infinite}
.ticker-track:hover .ticker-row{animation-play-state:paused}
.ticker-dup{display:contents}
.ticker-row .tk{
  display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:980px;
  background:#fff;border:1px solid var(--hair-soft);font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);
  white-space:nowrap;
}
.ticker-row .tk i{width:6px;height:6px;border-radius:50%;background:#0071e3}
.ticker-row .tk.t-image i{background:#8e4ec6}
.ticker-row .tk.t-video i{background:#ff9500}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .ticker-row{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .ticker-dup{display:none}
  .ticker-track{mask-image:none;-webkit-mask-image:none}
}

/* ---------- 区块标题行（标题 + 右侧链接） ---------- */
.sec-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-row .sec-head{margin-bottom:0}
.sec-row>a{margin-bottom:6px}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px -14px rgba(0,0,0,.16);border-color:transparent}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:22px;border-top:1px solid var(--hair)}
.step-no{
  display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  background:rgba(0,113,227,.10);color:var(--blue);font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:16px;
}
.step .h3{margin-bottom:8px}
.step p{font-size:.9375rem;color:var(--ink-2);line-height:1.6}

/* ---------- 双入口卡片（带真实数据预览） ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:flex;flex-direction:column;gap:22px;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:clamp(24px,3vw,38px);overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.dest:hover{transform:translateY(-3px);box-shadow:0 26px 54px -26px rgba(0,0,0,.2)}
.dest .h2{margin:0 0 10px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1rem;max-width:420px}
.dest b.more{display:inline-block;margin-top:16px;color:var(--blue);font-weight:500;font-size:.9375rem}
.dest .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover .arw{transform:translateX(4px)}
.dest-preview{margin-top:auto;background:#fff;border-radius:var(--r-md);padding:8px 16px;border:1px solid var(--hair-soft);font-size:.8125rem}
.dp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--hair-soft)}
.dp-row:last-child{border-bottom:0}
.dp-row span{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-row span.mono{font-family:var(--mono);font-size:.75rem}
.dp-row b{font-weight:500;white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums}
.dp-head span,.dp-head b{font-size:.6875rem;font-weight:500;color:var(--ink-3);letter-spacing:.02em}
.dp-bar{height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden;margin:2px 0 8px}
.dp-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#0071e3,#30d1be)}

/* ---------- 企业 CTA（圆角品牌色卡片，替代整幅黑块） ---------- */
.cta-tile{
  position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(118deg,#0a5ccc 0%,#0071e3 42%,#3f7ff0 74%,#5e5ce6 100%);
  padding:clamp(30px,4.4vw,62px) clamp(24px,4.4vw,62px);
  box-shadow:0 30px 70px -30px rgba(0,80,200,.45);
}
.cta-flow{position:absolute;inset:auto 0 -6% 0;height:78%;pointer-events:none;opacity:.5}
.cta-flow svg{width:100%;height:100%}
.cta-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:620px}
.cta .h2{margin:0 0 16px;color:#fff}
.cta .lead{color:rgba(255,255,255,.8)}
.cta-feats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cta-feats span{
  padding:6px 12px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  font-size:.8125rem;font-weight:500;color:#fff;
}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn-light{color:#0a5ccc;box-shadow:0 10px 26px -12px rgba(0,0,0,.4)}
.cta .btn-light:hover{background:#fff}
.cta .btn-outline-light{border-color:rgba(255,255,255,.5)}

.cta{padding-top:0}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);border-top:1px solid var(--hair-soft);padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

.skip-link{position:absolute;left:16px;top:-56px;z-index:300;padding:10px 16px;border-radius:980px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:500;transition:top .2s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
.mcard-cover{position:absolute;inset:0;border-radius:inherit;z-index:1}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--ink)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--ink);border-color:var(--ink);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 浅色页头（与定价页统一） ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-alt);color:var(--ink);
  padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:var(--ink-2);max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 80% at 16% -10%,rgba(0,113,227,.13),transparent 70%),
             radial-gradient(36% 60% at 92% 20%,rgba(48,209,190,.10),transparent 70%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-dark);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:rgba(255,255,255,.04);padding:16px clamp(14px,2vw,22px)}
.status-metrics small{display:block;font-size:.75rem;color:#86868b;margin-bottom:8px}
.status-metrics b{font-size:22px;font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:#f5f5f7}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--ink);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;border-radius:0;
    background:#fff;box-shadow:0 24px 40px -24px rgba(0,0,0,.25);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-radius:0;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none;color:var(--blue);font-weight:600}
  .nav-pill{display:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr;gap:22px}
  .dest-grid{grid-template-columns:1fr}
  .hero-proof{flex-direction:column;align-items:center;gap:8px}
  .cta-inner{align-items:flex-start}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
  .nav-links .only-sm{display:block}
}
@media (max-width:420px){
  .nav-tools .btn-ghost{display:none}
  .nav-tools{gap:8px}
}
@media (max-width:560px){
  .metrics-grid{gap:8px}
  .metric{padding:14px}
  .hero-actions .btn{width:100%}
  .sec-row>a{width:100%;justify-content:center}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border-bottom:1px solid var(--hair-soft);padding:4px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq summary::before{content:"＋";color:var(--blue);margin-right:10px;font-weight:600}
.faq details[open] summary::before{content:"－"}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 0 12px 22px}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}


}
@scope (#pricingShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:0 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{position:relative;display:flex;gap:2px;margin-left:auto;padding:3px;border-radius:980px;background:rgba(0,0,0,.05)}
.nav-links a{
  position:relative;z-index:1;padding:6px 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  transition:color .25s var(--ease);white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);font-weight:600}
/* 滑动胶囊：跟随悬停 / 当前页，位置由脚本计算 */
.nav-pill{
  position:absolute;top:3px;left:0;height:calc(100% - 6px);width:0;border-radius:980px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.14),0 0 0 .5px rgba(0,0,0,.04);opacity:0;pointer-events:none;
  transition:transform .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),opacity .2s;
}
.nav-pill.ready{opacity:1}
@media (prefers-reduced-motion:reduce){.nav-pill{transition:opacity .2s}}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav-links .only-sm{display:none}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px));
  padding-bottom:64px;padding-bottom:clamp(44px,5vw,76px);
}
.hero-glow{
  position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.55;
}
.hero-glow.g1{width:820px;height:820px;left:50%;top:-8%;transform:translateX(-58%);
  background:radial-gradient(circle,rgba(0,113,227,.42),transparent 66%)}
.hero-glow.g2{width:680px;height:680px;right:-14%;bottom:-26%;
  background:radial-gradient(circle,rgba(88,86,214,.34),transparent 66%)}
.hero-glow.g3{width:560px;height:560px;left:-12%;bottom:-30%;
  background:radial-gradient(circle,rgba(48,209,190,.20),transparent 66%)}
.hero-grid{
  position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:760px;margin:0 auto;text-align:center}
.hero .display{margin:16px 0 0}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#fff 18%,#8fb8ff 52%,#6ee7de 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:18px auto 0;max-width:540px;color:#a1a1a6;font-size:clamp(1.0625rem,1.45vw,1.3125rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:14px;font-size:.8125rem;color:#6e6e73}

/* 代码卡 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:860px;margin:51.2px auto 0;margin:clamp(32px,4vw,52px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 30px 70px -28px rgba(10,34,80,.4),0 12px 30px -16px rgba(0,0,0,.35);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px 24px 20px;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;
  letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标条 ---------- */
.metrics{border-bottom:1px solid var(--hair-soft)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-soft)}
.metric{background:#fff;padding:35.84px 22px;padding:clamp(22px,2.8vw,36px) clamp(14px,2vw,22px);text-align:center}
.metric b{
  display:block;font-size:29.44px;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;
}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}
.metric span{display:block;margin-top:5px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{border-color:rgba(0,0,0,.22)}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:20px;border-top:1px solid var(--hair)}
.step-no{
  font-family:var(--mono);font-size:.8125rem;color:var(--blue);font-weight:600;letter-spacing:.06em;
  display:block;margin-bottom:14px;
}
.step .h3{margin-bottom:10px}
.step p{font-size:1rem;color:var(--ink-2);line-height:1.55}

/* ---------- 双卡片 ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:block;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:38.4px;padding:clamp(26px,3vw,42px);overflow:hidden;
  transition:transform .4s var(--ease),background .3s;
}
.dest:hover{transform:scale(1.012)}
.dest span{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}
.dest .h2{margin:14px 0 12px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1.0625rem;max-width:400px}
.dest b{display:inline-block;margin-top:20px;color:var(--blue);font-weight:500;font-size:1rem}
.dest b .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover b .arw{transform:translateX(4px)}

/* ---------- CTA ---------- */
.cta{border-radius:0}
.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:76.8px;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:640px}
.cta-inner .h2{margin:14px 0 18px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);padding:46.08px 0 26px;padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:76px;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

/* ---------- 企业 CTA（圆角品牌色卡片，替代整幅黑块） ---------- */
.cta-tile{
  position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(118deg,#0a5ccc 0%,#0071e3 42%,#3f7ff0 74%,#5e5ce6 100%);
  padding:clamp(30px,4.4vw,62px) clamp(24px,4.4vw,62px);
  box-shadow:0 30px 70px -30px rgba(0,80,200,.45);
}
.cta-flow{position:absolute;inset:auto 0 -6% 0;height:78%;pointer-events:none;opacity:.5}
.cta-flow svg{width:100%;height:100%}
.cta-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:620px}
.cta .h2{margin:0 0 16px;color:#fff}
.cta .lead{color:rgba(255,255,255,.8)}
.cta-feats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cta-feats span{
  padding:6px 12px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  font-size:.8125rem;font-weight:500;color:#fff;
}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn-light{color:#0a5ccc;box-shadow:0 10px 26px -12px rgba(0,0,0,.4)}
.cta .btn-light:hover{background:#fff}
.cta .btn-outline-light{border-color:rgba(255,255,255,.5)}

/* ---------- 子页面页头：川流线条 ---------- */
.page-hero,.guide-hero,.status-hero{position:relative;overflow:hidden}
.page-hero>*,.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.page-hero::after,.guide-hero::after,.status-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-14%;height:70%;pointer-events:none;z-index:1;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20380%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20aria-hidden%3D%22true%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22flowGrad%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%230071e3%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%233a8dff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2330d1be%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23flowGrad%29%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-80.0%2069.7%20L-66.0%2072.9%20L-52.0%2076.0%20L-38.0%2079.0%20L-24.0%2081.8%20L-10.0%2084.3%20L4.0%2086.6%20L18.0%2088.7%20L32.0%2090.4%20L46.0%2091.9%20L60.0%2093.1%20L74.0%2094.1%20L88.0%2094.8%20L102.0%2095.3%20L116.0%2095.6%20L130.0%2095.7%20L144.0%2095.7%20L158.0%2095.6%20L172.0%2095.4%20L186.0%2095.1%20L200.0%2094.8%20L214.0%2094.6%20L228.0%2094.3%20L242.0%2094.2%20L256.0%2094.0%20L270.0%2094.0%20L284.0%2094.0%20L298.0%2094.2%20L312.0%2094.3%20L326.0%2094.6%20L340.0%2094.8%20L354.0%2095.1%20L368.0%2095.4%20L382.0%2095.6%20L396.0%2095.7%20L410.0%2095.7%20L424.0%2095.6%20L438.0%2095.3%20L452.0%2094.8%20L466.0%2094.1%20L480.0%2093.1%20L494.0%2091.9%20L508.0%2090.4%20L522.0%2088.7%20L536.0%2086.6%20L550.0%2084.3%20L564.0%2081.8%20L578.0%2079.0%20L592.0%2076.0%20L606.0%2072.9%20L620.0%2069.7%20L634.0%2066.4%20L648.0%2063.0%20L662.0%2059.7%20L676.0%2056.4%20L690.0%2053.3%20L704.0%2050.3%20L718.0%2047.5%20L732.0%2045.0%20L746.0%2042.7%20L760.0%2040.8%20L774.0%2039.2%20L788.0%2037.9%20L802.0%2037.0%20L816.0%2036.5%20L830.0%2036.3%20L844.0%2036.5%20L858.0%2036.9%20L872.0%2037.7%20L886.0%2038.8%20L900.0%2040.1%20L914.0%2041.6%20L928.0%2043.3%20L942.0%2045.1%20L956.0%2047.0%20L970.0%2049.0%20L984.0%2050.9%20L998.0%2052.9%20L1012.0%2054.7%20L1026.0%2056.5%20L1040.0%2058.2%20L1054.0%2059.8%20L1068.0%2061.2%20L1082.0%2062.5%20L1096.0%2063.7%20L1110.0%2064.8%20L1124.0%2065.7%20L1138.0%2066.6%20L1152.0%2067.4%20L1166.0%2068.2%20L1180.0%2069.0%20L1194.0%2069.7%20L1208.0%2070.6%20L1222.0%2071.4%20L1236.0%2072.4%20L1250.0%2073.5%20L1264.0%2074.8%20L1278.0%2076.1%20L1292.0%2077.7%20L1306.0%2079.4%20L1320.0%2081.2%20L1334.0%2083.2%20L1348.0%2085.3%20L1362.0%2087.5%20L1376.0%2089.8%20L1390.0%2092.1%20L1404.0%2094.4%20L1418.0%2096.7%20L1432.0%2098.9%20L1446.0%20101.0%20L1460.0%20103.0%20L1474.0%20104.7%20L1488.0%20106.2%20L1502.0%20107.4%20L1516.0%20108.3%22%20opacity%3D%220.14%22%2F%3E%3Cpath%20d%3D%22M-80.0%20141.5%20L-66.0%20144.9%20L-52.0%20148.0%20L-38.0%20150.9%20L-24.0%20153.5%20L-10.0%20155.7%20L4.0%20157.4%20L18.0%20158.6%20L32.0%20159.3%20L46.0%20159.5%20L60.0%20159.0%20L74.0%20158.0%20L88.0%20156.4%20L102.0%20154.3%20L116.0%20151.7%20L130.0%20148.7%20L144.0%20145.2%20L158.0%20141.4%20L172.0%20137.4%20L186.0%20133.2%20L200.0%20128.9%20L214.0%20124.6%20L228.0%20120.4%20L242.0%20116.3%20L256.0%20112.5%20L270.0%20108.8%20L284.0%20105.5%20L298.0%20102.5%20L312.0%2099.8%20L326.0%2097.5%20L340.0%2095.5%20L354.0%2093.9%20L368.0%2092.5%20L382.0%2091.5%20L396.0%2090.6%20L410.0%2090.0%20L424.0%2089.5%20L438.0%2089.1%20L452.0%2088.7%20L466.0%2088.3%20L480.0%2087.9%20L494.0%2087.4%20L508.0%2086.7%20L522.0%2086.0%20L536.0%2085.1%20L550.0%2084.1%20L564.0%2083.0%20L578.0%2081.8%20L592.0%2080.6%20L606.0%2079.4%20L620.0%2078.2%20L634.0%2077.2%20L648.0%2076.3%20L662.0%2075.7%20L676.0%2075.4%20L690.0%2075.3%20L704.0%2075.7%20L718.0%2076.5%20L732.0%2077.8%20L746.0%2079.6%20L760.0%2081.8%20L774.0%2084.5%20L788.0%2087.6%20L802.0%2091.2%20L816.0%2095.2%20L830.0%2099.4%20L844.0%20104.0%20L858.0%20108.7%20L872.0%20113.5%20L886.0%20118.3%20L900.0%20123.1%20L914.0%20127.7%20L928.0%20132.1%20L942.0%20136.2%20L956.0%20140.0%20L970.0%20143.3%20L984.0%20146.2%20L998.0%20148.6%20L1012.0%20150.4%20L1026.0%20151.8%20L1040.0%20152.6%20L1054.0%20152.9%20L1068.0%20152.8%20L1082.0%20152.3%20L1096.0%20151.4%20L1110.0%20150.1%20L1124.0%20148.6%20L1138.0%20147.0%20L1152.0%20145.2%20L1166.0%20143.3%20L1180.0%20141.4%20L1194.0%20139.6%20L1208.0%20137.8%20L1222.0%20136.1%20L1236.0%20134.6%20L1250.0%20133.3%20L1264.0%20132.0%20L1278.0%20131.0%20L1292.0%20130.0%20L1306.0%20129.1%20L1320.0%20128.3%20L1334.0%20127.5%20L1348.0%20126.7%20L1362.0%20125.7%20L1376.0%20124.7%20L1390.0%20123.5%20L1404.0%20122.0%20L1418.0%20120.3%20L1432.0%20118.3%20L1446.0%20116.1%20L1460.0%20113.5%20L1474.0%20110.6%20L1488.0%20107.5%20L1502.0%20104.1%20L1516.0%20100.5%22%20opacity%3D%220.21%22%2F%3E%3Cpath%20d%3D%22M-80.0%20193.0%20L-66.0%20189.4%20L-52.0%20185.2%20L-38.0%20180.4%20L-24.0%20175.1%20L-10.0%20169.4%20L4.0%20163.4%20L18.0%20157.3%20L32.0%20151.2%20L46.0%20145.2%20L60.0%20139.4%20L74.0%20133.9%20L88.0%20128.9%20L102.0%20124.4%20L116.0%20120.6%20L130.0%20117.3%20L144.0%20114.7%20L158.0%20112.8%20L172.0%20111.5%20L186.0%20110.8%20L200.0%20110.7%20L214.0%20111.0%20L228.0%20111.7%20L242.0%20112.8%20L256.0%20114.0%20L270.0%20115.3%20L284.0%20116.7%20L298.0%20118.1%20L312.0%20119.3%20L326.0%20120.4%20L340.0%20121.3%20L354.0%20122.0%20L368.0%20122.5%20L382.0%20122.8%20L396.0%20123.1%20L410.0%20123.2%20L424.0%20123.4%20L438.0%20123.7%20L452.0%20124.1%20L466.0%20124.7%20L480.0%20125.7%20L494.0%20127.0%20L508.0%20128.9%20L522.0%20131.2%20L536.0%20134.0%20L550.0%20137.4%20L564.0%20141.2%20L578.0%20145.6%20L592.0%20150.4%20L606.0%20155.6%20L620.0%20161.0%20L634.0%20166.6%20L648.0%20172.2%20L662.0%20177.8%20L676.0%20183.2%20L690.0%20188.2%20L704.0%20192.8%20L718.0%20196.9%20L732.0%20200.3%20L746.0%20203.1%20L760.0%20205.1%20L774.0%20206.3%20L788.0%20206.6%20L802.0%20206.2%20L816.0%20205.1%20L830.0%20203.3%20L844.0%20200.8%20L858.0%20197.8%20L872.0%20194.4%20L886.0%20190.6%20L900.0%20186.7%20L914.0%20182.6%20L928.0%20178.6%20L942.0%20174.6%20L956.0%20170.9%20L970.0%20167.3%20L984.0%20164.1%20L998.0%20161.2%20L1012.0%20158.7%20L1026.0%20156.4%20L1040.0%20154.5%20L1054.0%20152.9%20L1068.0%20151.4%20L1082.0%20150.1%20L1096.0%20148.8%20L1110.0%20147.5%20L1124.0%20146.2%20L1138.0%20144.6%20L1152.0%20142.9%20L1166.0%20140.9%20L1180.0%20138.6%20L1194.0%20136.0%20L1208.0%20133.1%20L1222.0%20130.0%20L1236.0%20126.6%20L1250.0%20123.0%20L1264.0%20119.3%20L1278.0%20115.7%20L1292.0%20112.1%20L1306.0%20108.7%20L1320.0%20105.7%20L1334.0%20103.1%20L1348.0%20101.0%20L1362.0%2099.5%20L1376.0%2098.7%20L1390.0%2098.6%20L1404.0%2099.3%20L1418.0%20100.8%20L1432.0%20103.1%20L1446.0%20106.1%20L1460.0%20109.8%20L1474.0%20114.2%20L1488.0%20119.0%20L1502.0%20124.3%20L1516.0%20129.9%22%20opacity%3D%220.29%22%2F%3E%3Cpath%20d%3D%22M-80.0%20148.0%20L-66.0%20143.6%20L-52.0%20140.0%20L-38.0%20137.3%20L-24.0%20135.4%20L-10.0%20134.6%20L4.0%20134.6%20L18.0%20135.5%20L32.0%20137.3%20L46.0%20139.7%20L60.0%20142.7%20L74.0%20146.2%20L88.0%20150.1%20L102.0%20154.1%20L116.0%20158.3%20L130.0%20162.3%20L144.0%20166.3%20L158.0%20170.0%20L172.0%20173.4%20L186.0%20176.4%20L200.0%20179.1%20L214.0%20181.5%20L228.0%20183.6%20L242.0%20185.5%20L256.0%20187.3%20L270.0%20188.9%20L284.0%20190.6%20L298.0%20192.4%20L312.0%20194.4%20L326.0%20196.7%20L340.0%20199.3%20L354.0%20202.3%20L368.0%20205.7%20L382.0%20209.4%20L396.0%20213.5%20L410.0%20217.8%20L424.0%20222.3%20L438.0%20226.9%20L452.0%20231.5%20L466.0%20235.9%20L480.0%20239.9%20L494.0%20243.5%20L508.0%20246.5%20L522.0%20248.7%20L536.0%20250.2%20L550.0%20250.8%20L564.0%20250.5%20L578.0%20249.2%20L592.0%20246.9%20L606.0%20243.8%20L620.0%20239.9%20L634.0%20235.2%20L648.0%20229.9%20L662.0%20224.1%20L676.0%20218.1%20L690.0%20211.8%20L704.0%20205.6%20L718.0%20199.5%20L732.0%20193.7%20L746.0%20188.2%20L760.0%20183.2%20L774.0%20178.8%20L788.0%20174.9%20L802.0%20171.7%20L816.0%20169.0%20L830.0%20166.9%20L844.0%20165.3%20L858.0%20164.1%20L872.0%20163.2%20L886.0%20162.5%20L900.0%20161.9%20L914.0%20161.4%20L928.0%20160.8%20L942.0%20160.0%20L956.0%20159.1%20L970.0%20158.0%20L984.0%20156.7%20L998.0%20155.1%20L1012.0%20153.5%20L1026.0%20151.8%20L1040.0%20150.1%20L1054.0%20148.5%20L1068.0%20147.1%20L1082.0%20146.1%20L1096.0%20145.6%20L1110.0%20145.6%20L1124.0%20146.3%20L1138.0%20147.7%20L1152.0%20149.8%20L1166.0%20152.8%20L1180.0%20156.6%20L1194.0%20161.1%20L1208.0%20166.4%20L1222.0%20172.2%20L1236.0%20178.5%20L1250.0%20185.2%20L1264.0%20192.1%20L1278.0%20199.0%20L1292.0%20205.8%20L1306.0%20212.4%20L1320.0%20218.5%20L1334.0%20224.1%20L1348.0%20229.0%20L1362.0%20233.1%20L1376.0%20236.4%20L1390.0%20238.9%20L1404.0%20240.6%20L1418.0%20241.5%20L1432.0%20241.6%20L1446.0%20241.0%20L1460.0%20239.9%20L1474.0%20238.3%20L1488.0%20236.4%20L1502.0%20234.2%20L1516.0%20231.9%22%20opacity%3D%220.34%22%2F%3E%3Cpath%20d%3D%22M-80.0%20187.5%20L-66.0%20189.8%20L-52.0%20192.3%20L-38.0%20194.9%20L-24.0%20197.6%20L-10.0%20200.2%20L4.0%20202.8%20L18.0%20205.3%20L32.0%20207.6%20L46.0%20209.7%20L60.0%20211.7%20L74.0%20213.6%20L88.0%20215.3%20L102.0%20216.9%20L116.0%20218.5%20L130.0%20220.1%20L144.0%20221.7%20L158.0%20223.3%20L172.0%20225.2%20L186.0%20227.2%20L200.0%20229.4%20L214.0%20231.9%20L228.0%20234.7%20L242.0%20237.7%20L256.0%20241.0%20L270.0%20244.6%20L284.0%20248.4%20L298.0%20252.5%20L312.0%20256.6%20L326.0%20260.8%20L340.0%20265.0%20L354.0%20269.1%20L368.0%20273.0%20L382.0%20276.6%20L396.0%20279.9%20L410.0%20282.7%20L424.0%20285.0%20L438.0%20286.8%20L452.0%20287.9%20L466.0%20288.3%20L480.0%20288.0%20L494.0%20287.0%20L508.0%20285.3%20L522.0%20282.9%20L536.0%20279.9%20L550.0%20276.3%20L564.0%20272.2%20L578.0%20267.7%20L592.0%20262.8%20L606.0%20257.7%20L620.0%20252.4%20L634.0%20247.1%20L648.0%20241.8%20L662.0%20236.7%20L676.0%20231.7%20L690.0%20227.1%20L704.0%20222.8%20L718.0%20218.8%20L732.0%20215.3%20L746.0%20212.2%20L760.0%20209.6%20L774.0%20207.3%20L788.0%20205.5%20L802.0%20204.0%20L816.0%20202.9%20L830.0%20202.0%20L844.0%20201.3%20L858.0%20200.7%20L872.0%20200.3%20L886.0%20199.9%20L900.0%20199.5%20L914.0%20199.0%20L928.0%20198.5%20L942.0%20197.9%20L956.0%20197.2%20L970.0%20196.4%20L984.0%20195.5%20L998.0%20194.7%20L1012.0%20193.8%20L1026.0%20193.0%20L1040.0%20192.3%20L1054.0%20191.9%20L1068.0%20191.6%20L1082.0%20191.7%20L1096.0%20192.1%20L1110.0%20193.0%20L1124.0%20194.4%20L1138.0%20196.2%20L1152.0%20198.6%20L1166.0%20201.5%20L1180.0%20205.0%20L1194.0%20209.0%20L1208.0%20213.4%20L1222.0%20218.3%20L1236.0%20223.5%20L1250.0%20229.0%20L1264.0%20234.7%20L1278.0%20240.5%20L1292.0%20246.3%20L1306.0%20251.9%20L1320.0%20257.4%20L1334.0%20262.5%20L1348.0%20267.3%20L1362.0%20271.6%20L1376.0%20275.3%20L1390.0%20278.5%20L1404.0%20281.0%20L1418.0%20282.8%20L1432.0%20284.0%20L1446.0%20284.5%20L1460.0%20284.4%20L1474.0%20283.7%20L1488.0%20282.4%20L1502.0%20280.7%20L1516.0%20278.5%22%20opacity%3D%220.31%22%2F%3E%3Cpath%20d%3D%22M-80.0%20245.2%20L-66.0%20245.9%20L-52.0%20246.6%20L-38.0%20247.3%20L-24.0%20248.0%20L-10.0%20248.7%20L4.0%20249.5%20L18.0%20250.4%20L32.0%20251.5%20L46.0%20252.7%20L60.0%20254.1%20L74.0%20255.8%20L88.0%20257.7%20L102.0%20259.9%20L116.0%20262.4%20L130.0%20265.1%20L144.0%20268.2%20L158.0%20271.4%20L172.0%20274.9%20L186.0%20278.6%20L200.0%20282.4%20L214.0%20286.3%20L228.0%20290.2%20L242.0%20294.2%20L256.0%20298.0%20L270.0%20301.8%20L284.0%20305.3%20L298.0%20308.6%20L312.0%20311.6%20L326.0%20314.2%20L340.0%20316.5%20L354.0%20318.2%20L368.0%20319.5%20L382.0%20320.4%20L396.0%20320.7%20L410.0%20320.5%20L424.0%20319.9%20L438.0%20318.8%20L452.0%20317.2%20L466.0%20315.3%20L480.0%20312.9%20L494.0%20310.3%20L508.0%20307.4%20L522.0%20304.3%20L536.0%20301.1%20L550.0%20297.8%20L564.0%20294.4%20L578.0%20291.1%20L592.0%20287.8%20L606.0%20284.6%20L620.0%20281.6%20L634.0%20278.7%20L648.0%20276.1%20L662.0%20273.6%20L676.0%20271.4%20L690.0%20269.3%20L704.0%20267.5%20L718.0%20265.8%20L732.0%20264.2%20L746.0%20262.8%20L760.0%20261.5%20L774.0%20260.2%20L788.0%20259.0%20L802.0%20257.7%20L816.0%20256.4%20L830.0%20255.1%20L844.0%20253.7%20L858.0%20252.1%20L872.0%20250.5%20L886.0%20248.8%20L900.0%20246.9%20L914.0%20245.0%20L928.0%20243.0%20L942.0%20241.0%20L956.0%20239.0%20L970.0%20237.0%20L984.0%20235.1%20L998.0%20233.4%20L1012.0%20231.8%20L1026.0%20230.5%20L1040.0%20229.4%20L1054.0%20228.6%20L1068.0%20228.2%20L1082.0%20228.2%20L1096.0%20228.7%20L1110.0%20229.5%20L1124.0%20230.9%20L1138.0%20232.6%20L1152.0%20234.8%20L1166.0%20237.5%20L1180.0%20240.5%20L1194.0%20244.0%20L1208.0%20247.7%20L1222.0%20251.7%20L1236.0%20256.0%20L1250.0%20260.3%20L1264.0%20264.8%20L1278.0%20269.3%20L1292.0%20273.8%20L1306.0%20278.2%20L1320.0%20282.4%20L1334.0%20286.4%20L1348.0%20290.2%20L1362.0%20293.6%20L1376.0%20296.7%20L1390.0%20299.4%20L1404.0%20301.8%20L1418.0%20303.7%20L1432.0%20305.3%20L1446.0%20306.5%20L1460.0%20307.4%20L1474.0%20307.9%20L1488.0%20308.1%20L1502.0%20308.1%20L1516.0%20307.8%22%20opacity%3D%220.23%22%2F%3E%3Cpath%20d%3D%22M-80.0%20287.0%20L-66.0%20289.7%20L-52.0%20292.7%20L-38.0%20295.8%20L-24.0%20299.0%20L-10.0%20302.3%20L4.0%20305.6%20L18.0%20308.9%20L32.0%20312.1%20L46.0%20315.2%20L60.0%20318.3%20L74.0%20321.1%20L88.0%20323.8%20L102.0%20326.3%20L116.0%20328.5%20L130.0%20330.6%20L144.0%20332.3%20L158.0%20333.9%20L172.0%20335.2%20L186.0%20336.2%20L200.0%20337.0%20L214.0%20337.6%20L228.0%20338.0%20L242.0%20338.3%20L256.0%20338.3%20L270.0%20338.3%20L284.0%20338.1%20L298.0%20337.9%20L312.0%20337.6%20L326.0%20337.3%20L340.0%20337.0%20L354.0%20336.7%20L368.0%20336.4%20L382.0%20336.2%20L396.0%20336.0%20L410.0%20335.8%20L424.0%20335.7%20L438.0%20335.7%20L452.0%20335.7%20L466.0%20335.7%20L480.0%20335.7%20L494.0%20335.7%20L508.0%20335.7%20L522.0%20335.6%20L536.0%20335.5%20L550.0%20335.2%20L564.0%20334.9%20L578.0%20334.4%20L592.0%20333.7%20L606.0%20332.8%20L620.0%20331.7%20L634.0%20330.4%20L648.0%20328.9%20L662.0%20327.2%20L676.0%20325.2%20L690.0%20323.0%20L704.0%20320.6%20L718.0%20318.0%20L732.0%20315.3%20L746.0%20312.4%20L760.0%20309.3%20L774.0%20306.2%20L788.0%20303.0%20L802.0%20299.8%20L816.0%20296.7%20L830.0%20293.6%20L844.0%20290.6%20L858.0%20287.7%20L872.0%20285.0%20L886.0%20282.5%20L900.0%20280.3%20L914.0%20278.4%20L928.0%20276.7%20L942.0%20275.3%20L956.0%20274.3%20L970.0%20273.6%20L984.0%20273.3%20L998.0%20273.2%20L1012.0%20273.5%20L1026.0%20274.1%20L1040.0%20275.0%20L1054.0%20276.2%20L1068.0%20277.6%20L1082.0%20279.2%20L1096.0%20281.0%20L1110.0%20283.0%20L1124.0%20285.0%20L1138.0%20287.2%20L1152.0%20289.4%20L1166.0%20291.6%20L1180.0%20293.8%20L1194.0%20296.0%20L1208.0%20298.0%20L1222.0%20300.0%20L1236.0%20301.9%20L1250.0%20303.7%20L1264.0%20305.4%20L1278.0%20306.9%20L1292.0%20308.3%20L1306.0%20309.6%20L1320.0%20310.8%20L1334.0%20311.9%20L1348.0%20313.0%20L1362.0%20313.9%20L1376.0%20314.8%20L1390.0%20315.7%20L1404.0%20316.6%20L1418.0%20317.5%20L1432.0%20318.5%20L1446.0%20319.5%20L1460.0%20320.6%20L1474.0%20321.8%20L1488.0%20323.1%20L1502.0%20324.4%20L1516.0%20325.9%22%20opacity%3D%220.15%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom / cover no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  mask-composite:intersect;-webkit-mask-composite:source-in;
}

.skip-link{position:absolute;left:16px;top:-56px;z-index:300;padding:10px 16px;border-radius:980px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:500;transition:top .2s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
.mcard-cover{position:absolute;inset:0;border-radius:inherit;z-index:1}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--blue)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--blue);border-color:var(--blue);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 深色页头 ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:56.32px;padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:#a1a1a6;max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.5;
  width:760px;height:760px;left:50%;top:-60%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(0,113,227,.40),transparent 66%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-dark);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:rgba(255,255,255,.04);padding:16px clamp(14px,2vw,22px)}
.status-metrics small{display:block;font-size:.75rem;color:#86868b;margin-bottom:8px}
.status-metrics b{font-size:22px;font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:#f5f5f7}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--ink);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;border-radius:0;
    background:#fff;box-shadow:0 24px 40px -24px rgba(0,0,0,.25);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-radius:0;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none;color:var(--blue);font-weight:600}
  .nav-pill{display:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
  .nav-links .only-sm{display:block}
}
@media (max-width:420px){
  .nav-tools .btn-ghost{display:none}
  .nav-tools{gap:8px}
}
@media (max-width:560px){
  .metrics-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border-bottom:1px solid var(--hair-soft);padding:4px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq summary::before{content:"＋";color:var(--blue);margin-right:10px;font-weight:600}
.faq details[open] summary::before{content:"－"}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 0 12px 22px}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}


}
@scope (#guideShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:0 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{position:relative;display:flex;gap:2px;margin-left:auto;padding:3px;border-radius:980px;background:rgba(0,0,0,.05)}
.nav-links a{
  position:relative;z-index:1;padding:6px 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  transition:color .25s var(--ease);white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);font-weight:600}
/* 滑动胶囊：跟随悬停 / 当前页，位置由脚本计算 */
.nav-pill{
  position:absolute;top:3px;left:0;height:calc(100% - 6px);width:0;border-radius:980px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.14),0 0 0 .5px rgba(0,0,0,.04);opacity:0;pointer-events:none;
  transition:transform .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),opacity .2s;
}
.nav-pill.ready{opacity:1}
@media (prefers-reduced-motion:reduce){.nav-pill{transition:opacity .2s}}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav-links .only-sm{display:none}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px));
  padding-bottom:64px;padding-bottom:clamp(44px,5vw,76px);
}
.hero-glow{
  position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.55;
}
.hero-glow.g1{width:820px;height:820px;left:50%;top:-8%;transform:translateX(-58%);
  background:radial-gradient(circle,rgba(0,113,227,.42),transparent 66%)}
.hero-glow.g2{width:680px;height:680px;right:-14%;bottom:-26%;
  background:radial-gradient(circle,rgba(88,86,214,.34),transparent 66%)}
.hero-glow.g3{width:560px;height:560px;left:-12%;bottom:-30%;
  background:radial-gradient(circle,rgba(48,209,190,.20),transparent 66%)}
.hero-grid{
  position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:760px;margin:0 auto;text-align:center}
.hero .display{margin:16px 0 0}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#fff 18%,#8fb8ff 52%,#6ee7de 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:18px auto 0;max-width:540px;color:#a1a1a6;font-size:clamp(1.0625rem,1.45vw,1.3125rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:14px;font-size:.8125rem;color:#6e6e73}

/* 代码卡 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:860px;margin:51.2px auto 0;margin:clamp(32px,4vw,52px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 30px 70px -28px rgba(10,34,80,.4),0 12px 30px -16px rgba(0,0,0,.35);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px 24px 20px;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;
  letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标条 ---------- */
.metrics{border-bottom:1px solid var(--hair-soft)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-soft)}
.metric{background:#fff;padding:35.84px 22px;padding:clamp(22px,2.8vw,36px) clamp(14px,2vw,22px);text-align:center}
.metric b{
  display:block;font-size:29.44px;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;
}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}
.metric span{display:block;margin-top:5px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px -14px rgba(0,0,0,.16);border-color:transparent}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:20px;border-top:1px solid var(--hair)}
.step-no{
  font-family:var(--mono);font-size:.8125rem;color:var(--blue);font-weight:600;letter-spacing:.06em;
  display:block;margin-bottom:14px;
}
.step .h3{margin-bottom:10px}
.step p{font-size:1rem;color:var(--ink-2);line-height:1.55}

/* ---------- 双卡片 ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:block;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:38.4px;padding:clamp(26px,3vw,42px);overflow:hidden;
  transition:transform .4s var(--ease),background .3s;
}
.dest:hover{transform:scale(1.012)}
.dest span{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}
.dest .h2{margin:14px 0 12px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1.0625rem;max-width:400px}
.dest b{display:inline-block;margin-top:20px;color:var(--blue);font-weight:500;font-size:1rem}
.dest b .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover b .arw{transform:translateX(4px)}

/* ---------- CTA ---------- */
.cta{border-radius:0}
.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:76.8px;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:640px}
.cta-inner .h2{margin:14px 0 18px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);padding:46.08px 0 26px;padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:76px;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

/* ---------- 企业 CTA（圆角品牌色卡片，替代整幅黑块） ---------- */
.cta-tile{
  position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(118deg,#0a5ccc 0%,#0071e3 42%,#3f7ff0 74%,#5e5ce6 100%);
  padding:clamp(30px,4.4vw,62px) clamp(24px,4.4vw,62px);
  box-shadow:0 30px 70px -30px rgba(0,80,200,.45);
}
.cta-flow{position:absolute;inset:auto 0 -6% 0;height:78%;pointer-events:none;opacity:.5}
.cta-flow svg{width:100%;height:100%}
.cta-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:620px}
.cta .h2{margin:0 0 16px;color:#fff}
.cta .lead{color:rgba(255,255,255,.8)}
.cta-feats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cta-feats span{
  padding:6px 12px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  font-size:.8125rem;font-weight:500;color:#fff;
}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn-light{color:#0a5ccc;box-shadow:0 10px 26px -12px rgba(0,0,0,.4)}
.cta .btn-light:hover{background:#fff}
.cta .btn-outline-light{border-color:rgba(255,255,255,.5)}

/* ---------- 子页面页头：川流线条 ---------- */
.page-hero,.guide-hero,.status-hero{position:relative;overflow:hidden}
.page-hero>*,.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.page-hero::after,.guide-hero::after,.status-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-14%;height:70%;pointer-events:none;z-index:1;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20380%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20aria-hidden%3D%22true%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22flowGrad%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%230071e3%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%233a8dff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2330d1be%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23flowGrad%29%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-80.0%2069.7%20L-66.0%2072.9%20L-52.0%2076.0%20L-38.0%2079.0%20L-24.0%2081.8%20L-10.0%2084.3%20L4.0%2086.6%20L18.0%2088.7%20L32.0%2090.4%20L46.0%2091.9%20L60.0%2093.1%20L74.0%2094.1%20L88.0%2094.8%20L102.0%2095.3%20L116.0%2095.6%20L130.0%2095.7%20L144.0%2095.7%20L158.0%2095.6%20L172.0%2095.4%20L186.0%2095.1%20L200.0%2094.8%20L214.0%2094.6%20L228.0%2094.3%20L242.0%2094.2%20L256.0%2094.0%20L270.0%2094.0%20L284.0%2094.0%20L298.0%2094.2%20L312.0%2094.3%20L326.0%2094.6%20L340.0%2094.8%20L354.0%2095.1%20L368.0%2095.4%20L382.0%2095.6%20L396.0%2095.7%20L410.0%2095.7%20L424.0%2095.6%20L438.0%2095.3%20L452.0%2094.8%20L466.0%2094.1%20L480.0%2093.1%20L494.0%2091.9%20L508.0%2090.4%20L522.0%2088.7%20L536.0%2086.6%20L550.0%2084.3%20L564.0%2081.8%20L578.0%2079.0%20L592.0%2076.0%20L606.0%2072.9%20L620.0%2069.7%20L634.0%2066.4%20L648.0%2063.0%20L662.0%2059.7%20L676.0%2056.4%20L690.0%2053.3%20L704.0%2050.3%20L718.0%2047.5%20L732.0%2045.0%20L746.0%2042.7%20L760.0%2040.8%20L774.0%2039.2%20L788.0%2037.9%20L802.0%2037.0%20L816.0%2036.5%20L830.0%2036.3%20L844.0%2036.5%20L858.0%2036.9%20L872.0%2037.7%20L886.0%2038.8%20L900.0%2040.1%20L914.0%2041.6%20L928.0%2043.3%20L942.0%2045.1%20L956.0%2047.0%20L970.0%2049.0%20L984.0%2050.9%20L998.0%2052.9%20L1012.0%2054.7%20L1026.0%2056.5%20L1040.0%2058.2%20L1054.0%2059.8%20L1068.0%2061.2%20L1082.0%2062.5%20L1096.0%2063.7%20L1110.0%2064.8%20L1124.0%2065.7%20L1138.0%2066.6%20L1152.0%2067.4%20L1166.0%2068.2%20L1180.0%2069.0%20L1194.0%2069.7%20L1208.0%2070.6%20L1222.0%2071.4%20L1236.0%2072.4%20L1250.0%2073.5%20L1264.0%2074.8%20L1278.0%2076.1%20L1292.0%2077.7%20L1306.0%2079.4%20L1320.0%2081.2%20L1334.0%2083.2%20L1348.0%2085.3%20L1362.0%2087.5%20L1376.0%2089.8%20L1390.0%2092.1%20L1404.0%2094.4%20L1418.0%2096.7%20L1432.0%2098.9%20L1446.0%20101.0%20L1460.0%20103.0%20L1474.0%20104.7%20L1488.0%20106.2%20L1502.0%20107.4%20L1516.0%20108.3%22%20opacity%3D%220.14%22%2F%3E%3Cpath%20d%3D%22M-80.0%20141.5%20L-66.0%20144.9%20L-52.0%20148.0%20L-38.0%20150.9%20L-24.0%20153.5%20L-10.0%20155.7%20L4.0%20157.4%20L18.0%20158.6%20L32.0%20159.3%20L46.0%20159.5%20L60.0%20159.0%20L74.0%20158.0%20L88.0%20156.4%20L102.0%20154.3%20L116.0%20151.7%20L130.0%20148.7%20L144.0%20145.2%20L158.0%20141.4%20L172.0%20137.4%20L186.0%20133.2%20L200.0%20128.9%20L214.0%20124.6%20L228.0%20120.4%20L242.0%20116.3%20L256.0%20112.5%20L270.0%20108.8%20L284.0%20105.5%20L298.0%20102.5%20L312.0%2099.8%20L326.0%2097.5%20L340.0%2095.5%20L354.0%2093.9%20L368.0%2092.5%20L382.0%2091.5%20L396.0%2090.6%20L410.0%2090.0%20L424.0%2089.5%20L438.0%2089.1%20L452.0%2088.7%20L466.0%2088.3%20L480.0%2087.9%20L494.0%2087.4%20L508.0%2086.7%20L522.0%2086.0%20L536.0%2085.1%20L550.0%2084.1%20L564.0%2083.0%20L578.0%2081.8%20L592.0%2080.6%20L606.0%2079.4%20L620.0%2078.2%20L634.0%2077.2%20L648.0%2076.3%20L662.0%2075.7%20L676.0%2075.4%20L690.0%2075.3%20L704.0%2075.7%20L718.0%2076.5%20L732.0%2077.8%20L746.0%2079.6%20L760.0%2081.8%20L774.0%2084.5%20L788.0%2087.6%20L802.0%2091.2%20L816.0%2095.2%20L830.0%2099.4%20L844.0%20104.0%20L858.0%20108.7%20L872.0%20113.5%20L886.0%20118.3%20L900.0%20123.1%20L914.0%20127.7%20L928.0%20132.1%20L942.0%20136.2%20L956.0%20140.0%20L970.0%20143.3%20L984.0%20146.2%20L998.0%20148.6%20L1012.0%20150.4%20L1026.0%20151.8%20L1040.0%20152.6%20L1054.0%20152.9%20L1068.0%20152.8%20L1082.0%20152.3%20L1096.0%20151.4%20L1110.0%20150.1%20L1124.0%20148.6%20L1138.0%20147.0%20L1152.0%20145.2%20L1166.0%20143.3%20L1180.0%20141.4%20L1194.0%20139.6%20L1208.0%20137.8%20L1222.0%20136.1%20L1236.0%20134.6%20L1250.0%20133.3%20L1264.0%20132.0%20L1278.0%20131.0%20L1292.0%20130.0%20L1306.0%20129.1%20L1320.0%20128.3%20L1334.0%20127.5%20L1348.0%20126.7%20L1362.0%20125.7%20L1376.0%20124.7%20L1390.0%20123.5%20L1404.0%20122.0%20L1418.0%20120.3%20L1432.0%20118.3%20L1446.0%20116.1%20L1460.0%20113.5%20L1474.0%20110.6%20L1488.0%20107.5%20L1502.0%20104.1%20L1516.0%20100.5%22%20opacity%3D%220.21%22%2F%3E%3Cpath%20d%3D%22M-80.0%20193.0%20L-66.0%20189.4%20L-52.0%20185.2%20L-38.0%20180.4%20L-24.0%20175.1%20L-10.0%20169.4%20L4.0%20163.4%20L18.0%20157.3%20L32.0%20151.2%20L46.0%20145.2%20L60.0%20139.4%20L74.0%20133.9%20L88.0%20128.9%20L102.0%20124.4%20L116.0%20120.6%20L130.0%20117.3%20L144.0%20114.7%20L158.0%20112.8%20L172.0%20111.5%20L186.0%20110.8%20L200.0%20110.7%20L214.0%20111.0%20L228.0%20111.7%20L242.0%20112.8%20L256.0%20114.0%20L270.0%20115.3%20L284.0%20116.7%20L298.0%20118.1%20L312.0%20119.3%20L326.0%20120.4%20L340.0%20121.3%20L354.0%20122.0%20L368.0%20122.5%20L382.0%20122.8%20L396.0%20123.1%20L410.0%20123.2%20L424.0%20123.4%20L438.0%20123.7%20L452.0%20124.1%20L466.0%20124.7%20L480.0%20125.7%20L494.0%20127.0%20L508.0%20128.9%20L522.0%20131.2%20L536.0%20134.0%20L550.0%20137.4%20L564.0%20141.2%20L578.0%20145.6%20L592.0%20150.4%20L606.0%20155.6%20L620.0%20161.0%20L634.0%20166.6%20L648.0%20172.2%20L662.0%20177.8%20L676.0%20183.2%20L690.0%20188.2%20L704.0%20192.8%20L718.0%20196.9%20L732.0%20200.3%20L746.0%20203.1%20L760.0%20205.1%20L774.0%20206.3%20L788.0%20206.6%20L802.0%20206.2%20L816.0%20205.1%20L830.0%20203.3%20L844.0%20200.8%20L858.0%20197.8%20L872.0%20194.4%20L886.0%20190.6%20L900.0%20186.7%20L914.0%20182.6%20L928.0%20178.6%20L942.0%20174.6%20L956.0%20170.9%20L970.0%20167.3%20L984.0%20164.1%20L998.0%20161.2%20L1012.0%20158.7%20L1026.0%20156.4%20L1040.0%20154.5%20L1054.0%20152.9%20L1068.0%20151.4%20L1082.0%20150.1%20L1096.0%20148.8%20L1110.0%20147.5%20L1124.0%20146.2%20L1138.0%20144.6%20L1152.0%20142.9%20L1166.0%20140.9%20L1180.0%20138.6%20L1194.0%20136.0%20L1208.0%20133.1%20L1222.0%20130.0%20L1236.0%20126.6%20L1250.0%20123.0%20L1264.0%20119.3%20L1278.0%20115.7%20L1292.0%20112.1%20L1306.0%20108.7%20L1320.0%20105.7%20L1334.0%20103.1%20L1348.0%20101.0%20L1362.0%2099.5%20L1376.0%2098.7%20L1390.0%2098.6%20L1404.0%2099.3%20L1418.0%20100.8%20L1432.0%20103.1%20L1446.0%20106.1%20L1460.0%20109.8%20L1474.0%20114.2%20L1488.0%20119.0%20L1502.0%20124.3%20L1516.0%20129.9%22%20opacity%3D%220.29%22%2F%3E%3Cpath%20d%3D%22M-80.0%20148.0%20L-66.0%20143.6%20L-52.0%20140.0%20L-38.0%20137.3%20L-24.0%20135.4%20L-10.0%20134.6%20L4.0%20134.6%20L18.0%20135.5%20L32.0%20137.3%20L46.0%20139.7%20L60.0%20142.7%20L74.0%20146.2%20L88.0%20150.1%20L102.0%20154.1%20L116.0%20158.3%20L130.0%20162.3%20L144.0%20166.3%20L158.0%20170.0%20L172.0%20173.4%20L186.0%20176.4%20L200.0%20179.1%20L214.0%20181.5%20L228.0%20183.6%20L242.0%20185.5%20L256.0%20187.3%20L270.0%20188.9%20L284.0%20190.6%20L298.0%20192.4%20L312.0%20194.4%20L326.0%20196.7%20L340.0%20199.3%20L354.0%20202.3%20L368.0%20205.7%20L382.0%20209.4%20L396.0%20213.5%20L410.0%20217.8%20L424.0%20222.3%20L438.0%20226.9%20L452.0%20231.5%20L466.0%20235.9%20L480.0%20239.9%20L494.0%20243.5%20L508.0%20246.5%20L522.0%20248.7%20L536.0%20250.2%20L550.0%20250.8%20L564.0%20250.5%20L578.0%20249.2%20L592.0%20246.9%20L606.0%20243.8%20L620.0%20239.9%20L634.0%20235.2%20L648.0%20229.9%20L662.0%20224.1%20L676.0%20218.1%20L690.0%20211.8%20L704.0%20205.6%20L718.0%20199.5%20L732.0%20193.7%20L746.0%20188.2%20L760.0%20183.2%20L774.0%20178.8%20L788.0%20174.9%20L802.0%20171.7%20L816.0%20169.0%20L830.0%20166.9%20L844.0%20165.3%20L858.0%20164.1%20L872.0%20163.2%20L886.0%20162.5%20L900.0%20161.9%20L914.0%20161.4%20L928.0%20160.8%20L942.0%20160.0%20L956.0%20159.1%20L970.0%20158.0%20L984.0%20156.7%20L998.0%20155.1%20L1012.0%20153.5%20L1026.0%20151.8%20L1040.0%20150.1%20L1054.0%20148.5%20L1068.0%20147.1%20L1082.0%20146.1%20L1096.0%20145.6%20L1110.0%20145.6%20L1124.0%20146.3%20L1138.0%20147.7%20L1152.0%20149.8%20L1166.0%20152.8%20L1180.0%20156.6%20L1194.0%20161.1%20L1208.0%20166.4%20L1222.0%20172.2%20L1236.0%20178.5%20L1250.0%20185.2%20L1264.0%20192.1%20L1278.0%20199.0%20L1292.0%20205.8%20L1306.0%20212.4%20L1320.0%20218.5%20L1334.0%20224.1%20L1348.0%20229.0%20L1362.0%20233.1%20L1376.0%20236.4%20L1390.0%20238.9%20L1404.0%20240.6%20L1418.0%20241.5%20L1432.0%20241.6%20L1446.0%20241.0%20L1460.0%20239.9%20L1474.0%20238.3%20L1488.0%20236.4%20L1502.0%20234.2%20L1516.0%20231.9%22%20opacity%3D%220.34%22%2F%3E%3Cpath%20d%3D%22M-80.0%20187.5%20L-66.0%20189.8%20L-52.0%20192.3%20L-38.0%20194.9%20L-24.0%20197.6%20L-10.0%20200.2%20L4.0%20202.8%20L18.0%20205.3%20L32.0%20207.6%20L46.0%20209.7%20L60.0%20211.7%20L74.0%20213.6%20L88.0%20215.3%20L102.0%20216.9%20L116.0%20218.5%20L130.0%20220.1%20L144.0%20221.7%20L158.0%20223.3%20L172.0%20225.2%20L186.0%20227.2%20L200.0%20229.4%20L214.0%20231.9%20L228.0%20234.7%20L242.0%20237.7%20L256.0%20241.0%20L270.0%20244.6%20L284.0%20248.4%20L298.0%20252.5%20L312.0%20256.6%20L326.0%20260.8%20L340.0%20265.0%20L354.0%20269.1%20L368.0%20273.0%20L382.0%20276.6%20L396.0%20279.9%20L410.0%20282.7%20L424.0%20285.0%20L438.0%20286.8%20L452.0%20287.9%20L466.0%20288.3%20L480.0%20288.0%20L494.0%20287.0%20L508.0%20285.3%20L522.0%20282.9%20L536.0%20279.9%20L550.0%20276.3%20L564.0%20272.2%20L578.0%20267.7%20L592.0%20262.8%20L606.0%20257.7%20L620.0%20252.4%20L634.0%20247.1%20L648.0%20241.8%20L662.0%20236.7%20L676.0%20231.7%20L690.0%20227.1%20L704.0%20222.8%20L718.0%20218.8%20L732.0%20215.3%20L746.0%20212.2%20L760.0%20209.6%20L774.0%20207.3%20L788.0%20205.5%20L802.0%20204.0%20L816.0%20202.9%20L830.0%20202.0%20L844.0%20201.3%20L858.0%20200.7%20L872.0%20200.3%20L886.0%20199.9%20L900.0%20199.5%20L914.0%20199.0%20L928.0%20198.5%20L942.0%20197.9%20L956.0%20197.2%20L970.0%20196.4%20L984.0%20195.5%20L998.0%20194.7%20L1012.0%20193.8%20L1026.0%20193.0%20L1040.0%20192.3%20L1054.0%20191.9%20L1068.0%20191.6%20L1082.0%20191.7%20L1096.0%20192.1%20L1110.0%20193.0%20L1124.0%20194.4%20L1138.0%20196.2%20L1152.0%20198.6%20L1166.0%20201.5%20L1180.0%20205.0%20L1194.0%20209.0%20L1208.0%20213.4%20L1222.0%20218.3%20L1236.0%20223.5%20L1250.0%20229.0%20L1264.0%20234.7%20L1278.0%20240.5%20L1292.0%20246.3%20L1306.0%20251.9%20L1320.0%20257.4%20L1334.0%20262.5%20L1348.0%20267.3%20L1362.0%20271.6%20L1376.0%20275.3%20L1390.0%20278.5%20L1404.0%20281.0%20L1418.0%20282.8%20L1432.0%20284.0%20L1446.0%20284.5%20L1460.0%20284.4%20L1474.0%20283.7%20L1488.0%20282.4%20L1502.0%20280.7%20L1516.0%20278.5%22%20opacity%3D%220.31%22%2F%3E%3Cpath%20d%3D%22M-80.0%20245.2%20L-66.0%20245.9%20L-52.0%20246.6%20L-38.0%20247.3%20L-24.0%20248.0%20L-10.0%20248.7%20L4.0%20249.5%20L18.0%20250.4%20L32.0%20251.5%20L46.0%20252.7%20L60.0%20254.1%20L74.0%20255.8%20L88.0%20257.7%20L102.0%20259.9%20L116.0%20262.4%20L130.0%20265.1%20L144.0%20268.2%20L158.0%20271.4%20L172.0%20274.9%20L186.0%20278.6%20L200.0%20282.4%20L214.0%20286.3%20L228.0%20290.2%20L242.0%20294.2%20L256.0%20298.0%20L270.0%20301.8%20L284.0%20305.3%20L298.0%20308.6%20L312.0%20311.6%20L326.0%20314.2%20L340.0%20316.5%20L354.0%20318.2%20L368.0%20319.5%20L382.0%20320.4%20L396.0%20320.7%20L410.0%20320.5%20L424.0%20319.9%20L438.0%20318.8%20L452.0%20317.2%20L466.0%20315.3%20L480.0%20312.9%20L494.0%20310.3%20L508.0%20307.4%20L522.0%20304.3%20L536.0%20301.1%20L550.0%20297.8%20L564.0%20294.4%20L578.0%20291.1%20L592.0%20287.8%20L606.0%20284.6%20L620.0%20281.6%20L634.0%20278.7%20L648.0%20276.1%20L662.0%20273.6%20L676.0%20271.4%20L690.0%20269.3%20L704.0%20267.5%20L718.0%20265.8%20L732.0%20264.2%20L746.0%20262.8%20L760.0%20261.5%20L774.0%20260.2%20L788.0%20259.0%20L802.0%20257.7%20L816.0%20256.4%20L830.0%20255.1%20L844.0%20253.7%20L858.0%20252.1%20L872.0%20250.5%20L886.0%20248.8%20L900.0%20246.9%20L914.0%20245.0%20L928.0%20243.0%20L942.0%20241.0%20L956.0%20239.0%20L970.0%20237.0%20L984.0%20235.1%20L998.0%20233.4%20L1012.0%20231.8%20L1026.0%20230.5%20L1040.0%20229.4%20L1054.0%20228.6%20L1068.0%20228.2%20L1082.0%20228.2%20L1096.0%20228.7%20L1110.0%20229.5%20L1124.0%20230.9%20L1138.0%20232.6%20L1152.0%20234.8%20L1166.0%20237.5%20L1180.0%20240.5%20L1194.0%20244.0%20L1208.0%20247.7%20L1222.0%20251.7%20L1236.0%20256.0%20L1250.0%20260.3%20L1264.0%20264.8%20L1278.0%20269.3%20L1292.0%20273.8%20L1306.0%20278.2%20L1320.0%20282.4%20L1334.0%20286.4%20L1348.0%20290.2%20L1362.0%20293.6%20L1376.0%20296.7%20L1390.0%20299.4%20L1404.0%20301.8%20L1418.0%20303.7%20L1432.0%20305.3%20L1446.0%20306.5%20L1460.0%20307.4%20L1474.0%20307.9%20L1488.0%20308.1%20L1502.0%20308.1%20L1516.0%20307.8%22%20opacity%3D%220.23%22%2F%3E%3Cpath%20d%3D%22M-80.0%20287.0%20L-66.0%20289.7%20L-52.0%20292.7%20L-38.0%20295.8%20L-24.0%20299.0%20L-10.0%20302.3%20L4.0%20305.6%20L18.0%20308.9%20L32.0%20312.1%20L46.0%20315.2%20L60.0%20318.3%20L74.0%20321.1%20L88.0%20323.8%20L102.0%20326.3%20L116.0%20328.5%20L130.0%20330.6%20L144.0%20332.3%20L158.0%20333.9%20L172.0%20335.2%20L186.0%20336.2%20L200.0%20337.0%20L214.0%20337.6%20L228.0%20338.0%20L242.0%20338.3%20L256.0%20338.3%20L270.0%20338.3%20L284.0%20338.1%20L298.0%20337.9%20L312.0%20337.6%20L326.0%20337.3%20L340.0%20337.0%20L354.0%20336.7%20L368.0%20336.4%20L382.0%20336.2%20L396.0%20336.0%20L410.0%20335.8%20L424.0%20335.7%20L438.0%20335.7%20L452.0%20335.7%20L466.0%20335.7%20L480.0%20335.7%20L494.0%20335.7%20L508.0%20335.7%20L522.0%20335.6%20L536.0%20335.5%20L550.0%20335.2%20L564.0%20334.9%20L578.0%20334.4%20L592.0%20333.7%20L606.0%20332.8%20L620.0%20331.7%20L634.0%20330.4%20L648.0%20328.9%20L662.0%20327.2%20L676.0%20325.2%20L690.0%20323.0%20L704.0%20320.6%20L718.0%20318.0%20L732.0%20315.3%20L746.0%20312.4%20L760.0%20309.3%20L774.0%20306.2%20L788.0%20303.0%20L802.0%20299.8%20L816.0%20296.7%20L830.0%20293.6%20L844.0%20290.6%20L858.0%20287.7%20L872.0%20285.0%20L886.0%20282.5%20L900.0%20280.3%20L914.0%20278.4%20L928.0%20276.7%20L942.0%20275.3%20L956.0%20274.3%20L970.0%20273.6%20L984.0%20273.3%20L998.0%20273.2%20L1012.0%20273.5%20L1026.0%20274.1%20L1040.0%20275.0%20L1054.0%20276.2%20L1068.0%20277.6%20L1082.0%20279.2%20L1096.0%20281.0%20L1110.0%20283.0%20L1124.0%20285.0%20L1138.0%20287.2%20L1152.0%20289.4%20L1166.0%20291.6%20L1180.0%20293.8%20L1194.0%20296.0%20L1208.0%20298.0%20L1222.0%20300.0%20L1236.0%20301.9%20L1250.0%20303.7%20L1264.0%20305.4%20L1278.0%20306.9%20L1292.0%20308.3%20L1306.0%20309.6%20L1320.0%20310.8%20L1334.0%20311.9%20L1348.0%20313.0%20L1362.0%20313.9%20L1376.0%20314.8%20L1390.0%20315.7%20L1404.0%20316.6%20L1418.0%20317.5%20L1432.0%20318.5%20L1446.0%20319.5%20L1460.0%20320.6%20L1474.0%20321.8%20L1488.0%20323.1%20L1502.0%20324.4%20L1516.0%20325.9%22%20opacity%3D%220.15%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom / cover no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  mask-composite:intersect;-webkit-mask-composite:source-in;
}

.skip-link{position:absolute;left:16px;top:-56px;z-index:300;padding:10px 16px;border-radius:980px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:500;transition:top .2s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
.mcard-cover{position:absolute;inset:0;border-radius:inherit;z-index:1}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--ink)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--ink);border-color:var(--ink);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 浅色页头（与定价页统一） ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-alt);color:var(--ink);
  padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:var(--ink-2);max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 80% at 16% -10%,rgba(0,113,227,.13),transparent 70%),
             radial-gradient(36% 60% at 92% 20%,rgba(48,209,190,.10),transparent 70%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:rgba(0,113,227,.10);color:var(--blue);font-family:var(--mono);font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-dark);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:rgba(255,255,255,.04);padding:16px clamp(14px,2vw,22px)}
.status-metrics small{display:block;font-size:.75rem;color:#86868b;margin-bottom:8px}
.status-metrics b{font-size:22px;font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:#f5f5f7}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--ink);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;border-radius:0;
    background:#fff;box-shadow:0 24px 40px -24px rgba(0,0,0,.25);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-radius:0;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none;color:var(--blue);font-weight:600}
  .nav-pill{display:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
  .nav-links .only-sm{display:block}
}
@media (max-width:420px){
  .nav-tools .btn-ghost{display:none}
  .nav-tools{gap:8px}
}
@media (max-width:560px){
  .metrics-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border-bottom:1px solid var(--hair-soft);padding:4px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq summary::before{content:"＋";color:var(--blue);margin-right:10px;font-weight:600}
.faq details[open] summary::before{content:"－"}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 0 12px 22px}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}


}
@scope (#statusShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:0 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{position:relative;display:flex;gap:2px;margin-left:auto;padding:3px;border-radius:980px;background:rgba(0,0,0,.05)}
.nav-links a{
  position:relative;z-index:1;padding:6px 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  transition:color .25s var(--ease);white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);font-weight:600}
/* 滑动胶囊：跟随悬停 / 当前页，位置由脚本计算 */
.nav-pill{
  position:absolute;top:3px;left:0;height:calc(100% - 6px);width:0;border-radius:980px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.14),0 0 0 .5px rgba(0,0,0,.04);opacity:0;pointer-events:none;
  transition:transform .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),opacity .2s;
}
.nav-pill.ready{opacity:1}
@media (prefers-reduced-motion:reduce){.nav-pill{transition:opacity .2s}}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav-links .only-sm{display:none}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px));
  padding-bottom:64px;padding-bottom:clamp(44px,5vw,76px);
}
.hero-glow{
  position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.55;
}
.hero-glow.g1{width:820px;height:820px;left:50%;top:-8%;transform:translateX(-58%);
  background:radial-gradient(circle,rgba(0,113,227,.42),transparent 66%)}
.hero-glow.g2{width:680px;height:680px;right:-14%;bottom:-26%;
  background:radial-gradient(circle,rgba(88,86,214,.34),transparent 66%)}
.hero-glow.g3{width:560px;height:560px;left:-12%;bottom:-30%;
  background:radial-gradient(circle,rgba(48,209,190,.20),transparent 66%)}
.hero-grid{
  position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:760px;margin:0 auto;text-align:center}
.hero .display{margin:16px 0 0}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#fff 18%,#8fb8ff 52%,#6ee7de 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:18px auto 0;max-width:540px;color:#a1a1a6;font-size:clamp(1.0625rem,1.45vw,1.3125rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:14px;font-size:.8125rem;color:#6e6e73}

/* 代码卡 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:860px;margin:51.2px auto 0;margin:clamp(32px,4vw,52px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 30px 70px -28px rgba(10,34,80,.4),0 12px 30px -16px rgba(0,0,0,.35);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px 24px 20px;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;
  letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标条 ---------- */
.metrics{border-bottom:1px solid var(--hair-soft)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-soft)}
.metric{background:#fff;padding:35.84px 22px;padding:clamp(22px,2.8vw,36px) clamp(14px,2vw,22px);text-align:center}
.metric b{
  display:block;font-size:29.44px;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;
}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}
.metric span{display:block;margin-top:5px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px -14px rgba(0,0,0,.16);border-color:transparent}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:20px;border-top:1px solid var(--hair)}
.step-no{
  font-family:var(--mono);font-size:.8125rem;color:var(--blue);font-weight:600;letter-spacing:.06em;
  display:block;margin-bottom:14px;
}
.step .h3{margin-bottom:10px}
.step p{font-size:1rem;color:var(--ink-2);line-height:1.55}

/* ---------- 双卡片 ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:block;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:38.4px;padding:clamp(26px,3vw,42px);overflow:hidden;
  transition:transform .4s var(--ease),background .3s;
}
.dest:hover{transform:scale(1.012)}
.dest span{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}
.dest .h2{margin:14px 0 12px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1.0625rem;max-width:400px}
.dest b{display:inline-block;margin-top:20px;color:var(--blue);font-weight:500;font-size:1rem}
.dest b .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover b .arw{transform:translateX(4px)}

/* ---------- CTA ---------- */
.cta{border-radius:0}
.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:76.8px;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:640px}
.cta-inner .h2{margin:14px 0 18px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);padding:46.08px 0 26px;padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:76px;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

/* ---------- 企业 CTA（圆角品牌色卡片，替代整幅黑块） ---------- */
.cta-tile{
  position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(118deg,#0a5ccc 0%,#0071e3 42%,#3f7ff0 74%,#5e5ce6 100%);
  padding:clamp(30px,4.4vw,62px) clamp(24px,4.4vw,62px);
  box-shadow:0 30px 70px -30px rgba(0,80,200,.45);
}
.cta-flow{position:absolute;inset:auto 0 -6% 0;height:78%;pointer-events:none;opacity:.5}
.cta-flow svg{width:100%;height:100%}
.cta-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:620px}
.cta .h2{margin:0 0 16px;color:#fff}
.cta .lead{color:rgba(255,255,255,.8)}
.cta-feats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cta-feats span{
  padding:6px 12px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  font-size:.8125rem;font-weight:500;color:#fff;
}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn-light{color:#0a5ccc;box-shadow:0 10px 26px -12px rgba(0,0,0,.4)}
.cta .btn-light:hover{background:#fff}
.cta .btn-outline-light{border-color:rgba(255,255,255,.5)}

/* ---------- 子页面页头：川流线条 ---------- */
.page-hero,.guide-hero,.status-hero{position:relative;overflow:hidden}
.page-hero>*,.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.page-hero::after,.guide-hero::after,.status-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-14%;height:70%;pointer-events:none;z-index:1;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20380%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20aria-hidden%3D%22true%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22flowGrad%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%230071e3%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%233a8dff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2330d1be%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23flowGrad%29%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-80.0%2069.7%20L-66.0%2072.9%20L-52.0%2076.0%20L-38.0%2079.0%20L-24.0%2081.8%20L-10.0%2084.3%20L4.0%2086.6%20L18.0%2088.7%20L32.0%2090.4%20L46.0%2091.9%20L60.0%2093.1%20L74.0%2094.1%20L88.0%2094.8%20L102.0%2095.3%20L116.0%2095.6%20L130.0%2095.7%20L144.0%2095.7%20L158.0%2095.6%20L172.0%2095.4%20L186.0%2095.1%20L200.0%2094.8%20L214.0%2094.6%20L228.0%2094.3%20L242.0%2094.2%20L256.0%2094.0%20L270.0%2094.0%20L284.0%2094.0%20L298.0%2094.2%20L312.0%2094.3%20L326.0%2094.6%20L340.0%2094.8%20L354.0%2095.1%20L368.0%2095.4%20L382.0%2095.6%20L396.0%2095.7%20L410.0%2095.7%20L424.0%2095.6%20L438.0%2095.3%20L452.0%2094.8%20L466.0%2094.1%20L480.0%2093.1%20L494.0%2091.9%20L508.0%2090.4%20L522.0%2088.7%20L536.0%2086.6%20L550.0%2084.3%20L564.0%2081.8%20L578.0%2079.0%20L592.0%2076.0%20L606.0%2072.9%20L620.0%2069.7%20L634.0%2066.4%20L648.0%2063.0%20L662.0%2059.7%20L676.0%2056.4%20L690.0%2053.3%20L704.0%2050.3%20L718.0%2047.5%20L732.0%2045.0%20L746.0%2042.7%20L760.0%2040.8%20L774.0%2039.2%20L788.0%2037.9%20L802.0%2037.0%20L816.0%2036.5%20L830.0%2036.3%20L844.0%2036.5%20L858.0%2036.9%20L872.0%2037.7%20L886.0%2038.8%20L900.0%2040.1%20L914.0%2041.6%20L928.0%2043.3%20L942.0%2045.1%20L956.0%2047.0%20L970.0%2049.0%20L984.0%2050.9%20L998.0%2052.9%20L1012.0%2054.7%20L1026.0%2056.5%20L1040.0%2058.2%20L1054.0%2059.8%20L1068.0%2061.2%20L1082.0%2062.5%20L1096.0%2063.7%20L1110.0%2064.8%20L1124.0%2065.7%20L1138.0%2066.6%20L1152.0%2067.4%20L1166.0%2068.2%20L1180.0%2069.0%20L1194.0%2069.7%20L1208.0%2070.6%20L1222.0%2071.4%20L1236.0%2072.4%20L1250.0%2073.5%20L1264.0%2074.8%20L1278.0%2076.1%20L1292.0%2077.7%20L1306.0%2079.4%20L1320.0%2081.2%20L1334.0%2083.2%20L1348.0%2085.3%20L1362.0%2087.5%20L1376.0%2089.8%20L1390.0%2092.1%20L1404.0%2094.4%20L1418.0%2096.7%20L1432.0%2098.9%20L1446.0%20101.0%20L1460.0%20103.0%20L1474.0%20104.7%20L1488.0%20106.2%20L1502.0%20107.4%20L1516.0%20108.3%22%20opacity%3D%220.14%22%2F%3E%3Cpath%20d%3D%22M-80.0%20141.5%20L-66.0%20144.9%20L-52.0%20148.0%20L-38.0%20150.9%20L-24.0%20153.5%20L-10.0%20155.7%20L4.0%20157.4%20L18.0%20158.6%20L32.0%20159.3%20L46.0%20159.5%20L60.0%20159.0%20L74.0%20158.0%20L88.0%20156.4%20L102.0%20154.3%20L116.0%20151.7%20L130.0%20148.7%20L144.0%20145.2%20L158.0%20141.4%20L172.0%20137.4%20L186.0%20133.2%20L200.0%20128.9%20L214.0%20124.6%20L228.0%20120.4%20L242.0%20116.3%20L256.0%20112.5%20L270.0%20108.8%20L284.0%20105.5%20L298.0%20102.5%20L312.0%2099.8%20L326.0%2097.5%20L340.0%2095.5%20L354.0%2093.9%20L368.0%2092.5%20L382.0%2091.5%20L396.0%2090.6%20L410.0%2090.0%20L424.0%2089.5%20L438.0%2089.1%20L452.0%2088.7%20L466.0%2088.3%20L480.0%2087.9%20L494.0%2087.4%20L508.0%2086.7%20L522.0%2086.0%20L536.0%2085.1%20L550.0%2084.1%20L564.0%2083.0%20L578.0%2081.8%20L592.0%2080.6%20L606.0%2079.4%20L620.0%2078.2%20L634.0%2077.2%20L648.0%2076.3%20L662.0%2075.7%20L676.0%2075.4%20L690.0%2075.3%20L704.0%2075.7%20L718.0%2076.5%20L732.0%2077.8%20L746.0%2079.6%20L760.0%2081.8%20L774.0%2084.5%20L788.0%2087.6%20L802.0%2091.2%20L816.0%2095.2%20L830.0%2099.4%20L844.0%20104.0%20L858.0%20108.7%20L872.0%20113.5%20L886.0%20118.3%20L900.0%20123.1%20L914.0%20127.7%20L928.0%20132.1%20L942.0%20136.2%20L956.0%20140.0%20L970.0%20143.3%20L984.0%20146.2%20L998.0%20148.6%20L1012.0%20150.4%20L1026.0%20151.8%20L1040.0%20152.6%20L1054.0%20152.9%20L1068.0%20152.8%20L1082.0%20152.3%20L1096.0%20151.4%20L1110.0%20150.1%20L1124.0%20148.6%20L1138.0%20147.0%20L1152.0%20145.2%20L1166.0%20143.3%20L1180.0%20141.4%20L1194.0%20139.6%20L1208.0%20137.8%20L1222.0%20136.1%20L1236.0%20134.6%20L1250.0%20133.3%20L1264.0%20132.0%20L1278.0%20131.0%20L1292.0%20130.0%20L1306.0%20129.1%20L1320.0%20128.3%20L1334.0%20127.5%20L1348.0%20126.7%20L1362.0%20125.7%20L1376.0%20124.7%20L1390.0%20123.5%20L1404.0%20122.0%20L1418.0%20120.3%20L1432.0%20118.3%20L1446.0%20116.1%20L1460.0%20113.5%20L1474.0%20110.6%20L1488.0%20107.5%20L1502.0%20104.1%20L1516.0%20100.5%22%20opacity%3D%220.21%22%2F%3E%3Cpath%20d%3D%22M-80.0%20193.0%20L-66.0%20189.4%20L-52.0%20185.2%20L-38.0%20180.4%20L-24.0%20175.1%20L-10.0%20169.4%20L4.0%20163.4%20L18.0%20157.3%20L32.0%20151.2%20L46.0%20145.2%20L60.0%20139.4%20L74.0%20133.9%20L88.0%20128.9%20L102.0%20124.4%20L116.0%20120.6%20L130.0%20117.3%20L144.0%20114.7%20L158.0%20112.8%20L172.0%20111.5%20L186.0%20110.8%20L200.0%20110.7%20L214.0%20111.0%20L228.0%20111.7%20L242.0%20112.8%20L256.0%20114.0%20L270.0%20115.3%20L284.0%20116.7%20L298.0%20118.1%20L312.0%20119.3%20L326.0%20120.4%20L340.0%20121.3%20L354.0%20122.0%20L368.0%20122.5%20L382.0%20122.8%20L396.0%20123.1%20L410.0%20123.2%20L424.0%20123.4%20L438.0%20123.7%20L452.0%20124.1%20L466.0%20124.7%20L480.0%20125.7%20L494.0%20127.0%20L508.0%20128.9%20L522.0%20131.2%20L536.0%20134.0%20L550.0%20137.4%20L564.0%20141.2%20L578.0%20145.6%20L592.0%20150.4%20L606.0%20155.6%20L620.0%20161.0%20L634.0%20166.6%20L648.0%20172.2%20L662.0%20177.8%20L676.0%20183.2%20L690.0%20188.2%20L704.0%20192.8%20L718.0%20196.9%20L732.0%20200.3%20L746.0%20203.1%20L760.0%20205.1%20L774.0%20206.3%20L788.0%20206.6%20L802.0%20206.2%20L816.0%20205.1%20L830.0%20203.3%20L844.0%20200.8%20L858.0%20197.8%20L872.0%20194.4%20L886.0%20190.6%20L900.0%20186.7%20L914.0%20182.6%20L928.0%20178.6%20L942.0%20174.6%20L956.0%20170.9%20L970.0%20167.3%20L984.0%20164.1%20L998.0%20161.2%20L1012.0%20158.7%20L1026.0%20156.4%20L1040.0%20154.5%20L1054.0%20152.9%20L1068.0%20151.4%20L1082.0%20150.1%20L1096.0%20148.8%20L1110.0%20147.5%20L1124.0%20146.2%20L1138.0%20144.6%20L1152.0%20142.9%20L1166.0%20140.9%20L1180.0%20138.6%20L1194.0%20136.0%20L1208.0%20133.1%20L1222.0%20130.0%20L1236.0%20126.6%20L1250.0%20123.0%20L1264.0%20119.3%20L1278.0%20115.7%20L1292.0%20112.1%20L1306.0%20108.7%20L1320.0%20105.7%20L1334.0%20103.1%20L1348.0%20101.0%20L1362.0%2099.5%20L1376.0%2098.7%20L1390.0%2098.6%20L1404.0%2099.3%20L1418.0%20100.8%20L1432.0%20103.1%20L1446.0%20106.1%20L1460.0%20109.8%20L1474.0%20114.2%20L1488.0%20119.0%20L1502.0%20124.3%20L1516.0%20129.9%22%20opacity%3D%220.29%22%2F%3E%3Cpath%20d%3D%22M-80.0%20148.0%20L-66.0%20143.6%20L-52.0%20140.0%20L-38.0%20137.3%20L-24.0%20135.4%20L-10.0%20134.6%20L4.0%20134.6%20L18.0%20135.5%20L32.0%20137.3%20L46.0%20139.7%20L60.0%20142.7%20L74.0%20146.2%20L88.0%20150.1%20L102.0%20154.1%20L116.0%20158.3%20L130.0%20162.3%20L144.0%20166.3%20L158.0%20170.0%20L172.0%20173.4%20L186.0%20176.4%20L200.0%20179.1%20L214.0%20181.5%20L228.0%20183.6%20L242.0%20185.5%20L256.0%20187.3%20L270.0%20188.9%20L284.0%20190.6%20L298.0%20192.4%20L312.0%20194.4%20L326.0%20196.7%20L340.0%20199.3%20L354.0%20202.3%20L368.0%20205.7%20L382.0%20209.4%20L396.0%20213.5%20L410.0%20217.8%20L424.0%20222.3%20L438.0%20226.9%20L452.0%20231.5%20L466.0%20235.9%20L480.0%20239.9%20L494.0%20243.5%20L508.0%20246.5%20L522.0%20248.7%20L536.0%20250.2%20L550.0%20250.8%20L564.0%20250.5%20L578.0%20249.2%20L592.0%20246.9%20L606.0%20243.8%20L620.0%20239.9%20L634.0%20235.2%20L648.0%20229.9%20L662.0%20224.1%20L676.0%20218.1%20L690.0%20211.8%20L704.0%20205.6%20L718.0%20199.5%20L732.0%20193.7%20L746.0%20188.2%20L760.0%20183.2%20L774.0%20178.8%20L788.0%20174.9%20L802.0%20171.7%20L816.0%20169.0%20L830.0%20166.9%20L844.0%20165.3%20L858.0%20164.1%20L872.0%20163.2%20L886.0%20162.5%20L900.0%20161.9%20L914.0%20161.4%20L928.0%20160.8%20L942.0%20160.0%20L956.0%20159.1%20L970.0%20158.0%20L984.0%20156.7%20L998.0%20155.1%20L1012.0%20153.5%20L1026.0%20151.8%20L1040.0%20150.1%20L1054.0%20148.5%20L1068.0%20147.1%20L1082.0%20146.1%20L1096.0%20145.6%20L1110.0%20145.6%20L1124.0%20146.3%20L1138.0%20147.7%20L1152.0%20149.8%20L1166.0%20152.8%20L1180.0%20156.6%20L1194.0%20161.1%20L1208.0%20166.4%20L1222.0%20172.2%20L1236.0%20178.5%20L1250.0%20185.2%20L1264.0%20192.1%20L1278.0%20199.0%20L1292.0%20205.8%20L1306.0%20212.4%20L1320.0%20218.5%20L1334.0%20224.1%20L1348.0%20229.0%20L1362.0%20233.1%20L1376.0%20236.4%20L1390.0%20238.9%20L1404.0%20240.6%20L1418.0%20241.5%20L1432.0%20241.6%20L1446.0%20241.0%20L1460.0%20239.9%20L1474.0%20238.3%20L1488.0%20236.4%20L1502.0%20234.2%20L1516.0%20231.9%22%20opacity%3D%220.34%22%2F%3E%3Cpath%20d%3D%22M-80.0%20187.5%20L-66.0%20189.8%20L-52.0%20192.3%20L-38.0%20194.9%20L-24.0%20197.6%20L-10.0%20200.2%20L4.0%20202.8%20L18.0%20205.3%20L32.0%20207.6%20L46.0%20209.7%20L60.0%20211.7%20L74.0%20213.6%20L88.0%20215.3%20L102.0%20216.9%20L116.0%20218.5%20L130.0%20220.1%20L144.0%20221.7%20L158.0%20223.3%20L172.0%20225.2%20L186.0%20227.2%20L200.0%20229.4%20L214.0%20231.9%20L228.0%20234.7%20L242.0%20237.7%20L256.0%20241.0%20L270.0%20244.6%20L284.0%20248.4%20L298.0%20252.5%20L312.0%20256.6%20L326.0%20260.8%20L340.0%20265.0%20L354.0%20269.1%20L368.0%20273.0%20L382.0%20276.6%20L396.0%20279.9%20L410.0%20282.7%20L424.0%20285.0%20L438.0%20286.8%20L452.0%20287.9%20L466.0%20288.3%20L480.0%20288.0%20L494.0%20287.0%20L508.0%20285.3%20L522.0%20282.9%20L536.0%20279.9%20L550.0%20276.3%20L564.0%20272.2%20L578.0%20267.7%20L592.0%20262.8%20L606.0%20257.7%20L620.0%20252.4%20L634.0%20247.1%20L648.0%20241.8%20L662.0%20236.7%20L676.0%20231.7%20L690.0%20227.1%20L704.0%20222.8%20L718.0%20218.8%20L732.0%20215.3%20L746.0%20212.2%20L760.0%20209.6%20L774.0%20207.3%20L788.0%20205.5%20L802.0%20204.0%20L816.0%20202.9%20L830.0%20202.0%20L844.0%20201.3%20L858.0%20200.7%20L872.0%20200.3%20L886.0%20199.9%20L900.0%20199.5%20L914.0%20199.0%20L928.0%20198.5%20L942.0%20197.9%20L956.0%20197.2%20L970.0%20196.4%20L984.0%20195.5%20L998.0%20194.7%20L1012.0%20193.8%20L1026.0%20193.0%20L1040.0%20192.3%20L1054.0%20191.9%20L1068.0%20191.6%20L1082.0%20191.7%20L1096.0%20192.1%20L1110.0%20193.0%20L1124.0%20194.4%20L1138.0%20196.2%20L1152.0%20198.6%20L1166.0%20201.5%20L1180.0%20205.0%20L1194.0%20209.0%20L1208.0%20213.4%20L1222.0%20218.3%20L1236.0%20223.5%20L1250.0%20229.0%20L1264.0%20234.7%20L1278.0%20240.5%20L1292.0%20246.3%20L1306.0%20251.9%20L1320.0%20257.4%20L1334.0%20262.5%20L1348.0%20267.3%20L1362.0%20271.6%20L1376.0%20275.3%20L1390.0%20278.5%20L1404.0%20281.0%20L1418.0%20282.8%20L1432.0%20284.0%20L1446.0%20284.5%20L1460.0%20284.4%20L1474.0%20283.7%20L1488.0%20282.4%20L1502.0%20280.7%20L1516.0%20278.5%22%20opacity%3D%220.31%22%2F%3E%3Cpath%20d%3D%22M-80.0%20245.2%20L-66.0%20245.9%20L-52.0%20246.6%20L-38.0%20247.3%20L-24.0%20248.0%20L-10.0%20248.7%20L4.0%20249.5%20L18.0%20250.4%20L32.0%20251.5%20L46.0%20252.7%20L60.0%20254.1%20L74.0%20255.8%20L88.0%20257.7%20L102.0%20259.9%20L116.0%20262.4%20L130.0%20265.1%20L144.0%20268.2%20L158.0%20271.4%20L172.0%20274.9%20L186.0%20278.6%20L200.0%20282.4%20L214.0%20286.3%20L228.0%20290.2%20L242.0%20294.2%20L256.0%20298.0%20L270.0%20301.8%20L284.0%20305.3%20L298.0%20308.6%20L312.0%20311.6%20L326.0%20314.2%20L340.0%20316.5%20L354.0%20318.2%20L368.0%20319.5%20L382.0%20320.4%20L396.0%20320.7%20L410.0%20320.5%20L424.0%20319.9%20L438.0%20318.8%20L452.0%20317.2%20L466.0%20315.3%20L480.0%20312.9%20L494.0%20310.3%20L508.0%20307.4%20L522.0%20304.3%20L536.0%20301.1%20L550.0%20297.8%20L564.0%20294.4%20L578.0%20291.1%20L592.0%20287.8%20L606.0%20284.6%20L620.0%20281.6%20L634.0%20278.7%20L648.0%20276.1%20L662.0%20273.6%20L676.0%20271.4%20L690.0%20269.3%20L704.0%20267.5%20L718.0%20265.8%20L732.0%20264.2%20L746.0%20262.8%20L760.0%20261.5%20L774.0%20260.2%20L788.0%20259.0%20L802.0%20257.7%20L816.0%20256.4%20L830.0%20255.1%20L844.0%20253.7%20L858.0%20252.1%20L872.0%20250.5%20L886.0%20248.8%20L900.0%20246.9%20L914.0%20245.0%20L928.0%20243.0%20L942.0%20241.0%20L956.0%20239.0%20L970.0%20237.0%20L984.0%20235.1%20L998.0%20233.4%20L1012.0%20231.8%20L1026.0%20230.5%20L1040.0%20229.4%20L1054.0%20228.6%20L1068.0%20228.2%20L1082.0%20228.2%20L1096.0%20228.7%20L1110.0%20229.5%20L1124.0%20230.9%20L1138.0%20232.6%20L1152.0%20234.8%20L1166.0%20237.5%20L1180.0%20240.5%20L1194.0%20244.0%20L1208.0%20247.7%20L1222.0%20251.7%20L1236.0%20256.0%20L1250.0%20260.3%20L1264.0%20264.8%20L1278.0%20269.3%20L1292.0%20273.8%20L1306.0%20278.2%20L1320.0%20282.4%20L1334.0%20286.4%20L1348.0%20290.2%20L1362.0%20293.6%20L1376.0%20296.7%20L1390.0%20299.4%20L1404.0%20301.8%20L1418.0%20303.7%20L1432.0%20305.3%20L1446.0%20306.5%20L1460.0%20307.4%20L1474.0%20307.9%20L1488.0%20308.1%20L1502.0%20308.1%20L1516.0%20307.8%22%20opacity%3D%220.23%22%2F%3E%3Cpath%20d%3D%22M-80.0%20287.0%20L-66.0%20289.7%20L-52.0%20292.7%20L-38.0%20295.8%20L-24.0%20299.0%20L-10.0%20302.3%20L4.0%20305.6%20L18.0%20308.9%20L32.0%20312.1%20L46.0%20315.2%20L60.0%20318.3%20L74.0%20321.1%20L88.0%20323.8%20L102.0%20326.3%20L116.0%20328.5%20L130.0%20330.6%20L144.0%20332.3%20L158.0%20333.9%20L172.0%20335.2%20L186.0%20336.2%20L200.0%20337.0%20L214.0%20337.6%20L228.0%20338.0%20L242.0%20338.3%20L256.0%20338.3%20L270.0%20338.3%20L284.0%20338.1%20L298.0%20337.9%20L312.0%20337.6%20L326.0%20337.3%20L340.0%20337.0%20L354.0%20336.7%20L368.0%20336.4%20L382.0%20336.2%20L396.0%20336.0%20L410.0%20335.8%20L424.0%20335.7%20L438.0%20335.7%20L452.0%20335.7%20L466.0%20335.7%20L480.0%20335.7%20L494.0%20335.7%20L508.0%20335.7%20L522.0%20335.6%20L536.0%20335.5%20L550.0%20335.2%20L564.0%20334.9%20L578.0%20334.4%20L592.0%20333.7%20L606.0%20332.8%20L620.0%20331.7%20L634.0%20330.4%20L648.0%20328.9%20L662.0%20327.2%20L676.0%20325.2%20L690.0%20323.0%20L704.0%20320.6%20L718.0%20318.0%20L732.0%20315.3%20L746.0%20312.4%20L760.0%20309.3%20L774.0%20306.2%20L788.0%20303.0%20L802.0%20299.8%20L816.0%20296.7%20L830.0%20293.6%20L844.0%20290.6%20L858.0%20287.7%20L872.0%20285.0%20L886.0%20282.5%20L900.0%20280.3%20L914.0%20278.4%20L928.0%20276.7%20L942.0%20275.3%20L956.0%20274.3%20L970.0%20273.6%20L984.0%20273.3%20L998.0%20273.2%20L1012.0%20273.5%20L1026.0%20274.1%20L1040.0%20275.0%20L1054.0%20276.2%20L1068.0%20277.6%20L1082.0%20279.2%20L1096.0%20281.0%20L1110.0%20283.0%20L1124.0%20285.0%20L1138.0%20287.2%20L1152.0%20289.4%20L1166.0%20291.6%20L1180.0%20293.8%20L1194.0%20296.0%20L1208.0%20298.0%20L1222.0%20300.0%20L1236.0%20301.9%20L1250.0%20303.7%20L1264.0%20305.4%20L1278.0%20306.9%20L1292.0%20308.3%20L1306.0%20309.6%20L1320.0%20310.8%20L1334.0%20311.9%20L1348.0%20313.0%20L1362.0%20313.9%20L1376.0%20314.8%20L1390.0%20315.7%20L1404.0%20316.6%20L1418.0%20317.5%20L1432.0%20318.5%20L1446.0%20319.5%20L1460.0%20320.6%20L1474.0%20321.8%20L1488.0%20323.1%20L1502.0%20324.4%20L1516.0%20325.9%22%20opacity%3D%220.15%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom / cover no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 55%);
  mask-composite:intersect;-webkit-mask-composite:source-in;
}

.skip-link{position:absolute;left:16px;top:-56px;z-index:300;padding:10px 16px;border-radius:980px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:500;transition:top .2s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
.mcard-cover{position:absolute;inset:0;border-radius:inherit;z-index:1}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--ink)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--ink);border-color:var(--ink);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 浅色页头（与定价页统一） ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-alt);color:var(--ink);
  padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:var(--ink-2);max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 80% at 16% -10%,rgba(0,113,227,.13),transparent 70%),
             radial-gradient(36% 60% at 92% 20%,rgba(48,209,190,.10),transparent 70%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,14px);margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:#fff;border:1px solid var(--hair-soft);border-radius:var(--r-md);padding:18px clamp(14px,2vw,22px);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.status-metrics small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.status-metrics b{font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.status-metrics b small{display:inline;font-size:.55em;font-weight:600;margin:0 0 0 2px;color:var(--ink-2)}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--blue);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;border-radius:0;
    background:#fff;box-shadow:0 24px 40px -24px rgba(0,0,0,.25);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-radius:0;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none;color:var(--blue);font-weight:600}
  .nav-pill{display:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
  .nav-links .only-sm{display:block}
}
@media (max-width:420px){
  .nav-tools .btn-ghost{display:none}
  .nav-tools{gap:8px}
}
@media (max-width:560px){
  .metrics-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border-bottom:1px solid var(--hair-soft);padding:4px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq summary::before{content:"＋";color:var(--blue);margin-right:10px;font-weight:600}
.faq details[open] summary::before{content:"－"}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 0 12px 22px}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}

/* ---------- 状态页 · 手机端排行卡片换行 ---------- */
@media (max-width:560px){
  .rank-item{flex-wrap:wrap;row-gap:6px}
  .rank-nm{flex:1 1 calc(100% - 40px)}
  .rank-nm .track{max-width:none}
  .rank-meta{width:100%;padding-left:40px;text-align:left;white-space:normal;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
  .rank-meta b{display:inline;white-space:nowrap;flex-shrink:0}
  .rank-meta span,.rank-meta small{white-space:normal}
}

}
@scope (#loginShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:12px 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:var(--ink);
  opacity:.82;transition:opacity .2s,background .2s,color .2s;white-space:nowrap;
}
.nav-links a:hover{opacity:1;background:rgba(0,0,0,.05)}
.nav-links a.on{opacity:1;font-weight:500}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px));
  padding-bottom:64px;padding-bottom:clamp(44px,5vw,76px);
}
.hero-glow{
  position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.55;
}
.hero-glow.g1{width:820px;height:820px;left:50%;top:-8%;transform:translateX(-58%);
  background:radial-gradient(circle,rgba(0,113,227,.42),transparent 66%)}
.hero-glow.g2{width:680px;height:680px;right:-14%;bottom:-26%;
  background:radial-gradient(circle,rgba(88,86,214,.34),transparent 66%)}
.hero-glow.g3{width:560px;height:560px;left:-12%;bottom:-30%;
  background:radial-gradient(circle,rgba(48,209,190,.20),transparent 66%)}
.hero-grid{
  position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:760px;margin:0 auto;text-align:center}
.hero .display{margin:16px 0 0}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#fff 18%,#8fb8ff 52%,#6ee7de 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:18px auto 0;max-width:540px;color:#a1a1a6;font-size:clamp(1.0625rem,1.45vw,1.3125rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:14px;font-size:.8125rem;color:#6e6e73}

/* 代码卡 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:860px;margin:51.2px auto 0;margin:clamp(32px,4vw,52px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 30px 70px -28px rgba(10,34,80,.4),0 12px 30px -16px rgba(0,0,0,.35);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px 24px 20px;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;
  letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标条 ---------- */
.metrics{border-bottom:1px solid var(--hair-soft)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-soft)}
.metric{background:#fff;padding:35.84px 22px;padding:clamp(22px,2.8vw,36px) clamp(14px,2vw,22px);text-align:center}
.metric b{
  display:block;font-size:29.44px;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;
}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}
.metric span{display:block;margin-top:5px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px -14px rgba(0,0,0,.16);border-color:transparent}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:20px;border-top:1px solid var(--hair)}
.step-no{
  font-family:var(--mono);font-size:.8125rem;color:var(--blue);font-weight:600;letter-spacing:.06em;
  display:block;margin-bottom:14px;
}
.step .h3{margin-bottom:10px}
.step p{font-size:1rem;color:var(--ink-2);line-height:1.55}

/* ---------- 双卡片 ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:block;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:38.4px;padding:clamp(26px,3vw,42px);overflow:hidden;
  transition:transform .4s var(--ease),background .3s;
}
.dest:hover{transform:scale(1.012)}
.dest span{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}
.dest .h2{margin:14px 0 12px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1.0625rem;max-width:400px}
.dest b{display:inline-block;margin-top:20px;color:var(--blue);font-weight:500;font-size:1rem}
.dest b .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover b .arw{transform:translateX(4px)}

/* ---------- CTA ---------- */
.cta{border-radius:0}
.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:76.8px;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:640px}
.cta-inner .h2{margin:14px 0 18px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);padding:46.08px 0 26px;padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:76px;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--ink)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--ink);border-color:var(--ink);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 深色页头 ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:56.32px;padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:#a1a1a6;max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.5;
  width:760px;height:760px;left:50%;top:-60%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(0,113,227,.40),transparent 66%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-dark);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:rgba(255,255,255,.04);padding:16px clamp(14px,2vw,22px)}
.status-metrics small{display:block;font-size:.75rem;color:#86868b;margin-bottom:8px}
.status-metrics b{font-size:22px;font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:#f5f5f7}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--ink);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;
    background:rgba(255,255,255,.98);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
}
@media (max-width:560px){
  .metrics-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border-bottom:1px solid var(--hair-soft);padding:4px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq summary::before{content:"＋";color:var(--blue);margin-right:10px;font-weight:600}
.faq details[open] summary::before{content:"－"}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 0 12px 22px}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}


}
@scope (#appShell) {

/* ============================================================
   川流 Token · 官网 UI
   设计语言：极简科技 / 大留白 / 大字号 / 明暗交替区块
   ============================================================ */

:scope{
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#737378;
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-deep:#000000;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --hair:rgba(0,0,0,.10);
  --hair-soft:rgba(0,0,0,.06);
  --hair-dark:rgba(255,255,255,.14);

  --font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-display:clamp(2.125rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.5rem,2.9vw,2.125rem);
  --fs-h3:clamp(1.0625rem,1.5vw,1.1875rem);
  --fs-lead:clamp(.9375rem,1.15vw,1.0625rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;

  --pad-sec:clamp(52px,6.4vw,92px);
  --nav-h:44px;
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;

  --ease:cubic-bezier(.28,.11,.32,1);
}

*,*::before,*::after{box-sizing:border-box}
:scope{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
:scope{
  margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(0,113,227,.18)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.btn:focus-visible,.chip:focus-visible,.code-tab:focus-visible{outline-offset:3px;border-radius:980px}

/* ---------- 布局 ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.wrap-narrow{width:100%;max-width:740px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{position:relative}
.band{padding:var(--pad-sec) 0}
.band-alt{background:var(--bg-alt)}
.band-deep{background:var(--bg-deep);color:#f5f5f7}

/* ---------- 排版 ---------- */
.display{
  font-size:56px;font-size:var(--fs-display);font-weight:600;line-height:1.04;
  letter-spacing:-.035em;
}
.h2{
  font-size:34px;font-size:var(--fs-h2);font-weight:600;line-height:1.07;letter-spacing:-.028em;
}
.h3{font-size:19px;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.016em;line-height:1.25}
.lead{font-size:15px;font-size:var(--fs-lead);font-weight:400;color:var(--ink-2);line-height:1.5;letter-spacing:-.01em}
.eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);
}
.band-deep .eyebrow{color:#5ac8fa}
.muted{color:var(--ink-2)}
.band-deep .muted{color:#a1a1a6}

.sec-head{max-width:700px;margin-bottom:clamp(26px,3.2vw,44px)}
.sec-head .h2{margin:12px 0 14px}
.sec-head .lead{max-width:640px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair-soft);
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.nav.deep{background:rgba(0,0,0,.62);border-bottom-color:rgba(255,255,255,.10)}
.nav-inner{
  max-width:1080px;height:100%;margin:0 auto;padding:0 40px;padding:0 clamp(20px,5vw,40px);
  display:flex;align-items:center;gap:8px;
}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-mark{width:26px;height:26px;border-radius:7px;overflow:hidden}
.logo b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}
.nav.deep .logo b{color:#fff}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:var(--ink);
  opacity:.82;transition:opacity .2s,background .2s,color .2s;white-space:nowrap;
}
.nav-links a:hover{opacity:1;background:rgba(0,0,0,.05)}
.nav-links a.on{opacity:1;font-weight:500}
.nav.deep .nav-links a{color:#f5f5f7}
.nav.deep .nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.nav.deep .nav-tools{gap:10px}

.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.nav.deep .live{color:#a1a1a6}
.live i{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 3px rgba(48,209,88,.16)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 17px;border-radius:980px;font-size:.9375rem;font-weight:500;
  letter-spacing:-.01em;transition:background .22s var(--ease),transform .22s var(--ease),color .22s,border-color .22s;
  white-space:nowrap;
}
.btn:active{transform:scale(.975)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{color:var(--ink);border:1px solid var(--hair)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:#1d1d1f}
.btn-light:hover{background:rgba(255,255,255,.86)}
.btn-outline-light{color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-lg{height:42px;padding:0 24px;font-size:.9375rem}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px));
  padding-bottom:64px;padding-bottom:clamp(44px,5vw,76px);
}
.hero-glow{
  position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.55;
}
.hero-glow.g1{width:820px;height:820px;left:50%;top:-8%;transform:translateX(-58%);
  background:radial-gradient(circle,rgba(0,113,227,.42),transparent 66%)}
.hero-glow.g2{width:680px;height:680px;right:-14%;bottom:-26%;
  background:radial-gradient(circle,rgba(88,86,214,.34),transparent 66%)}
.hero-glow.g3{width:560px;height:560px;left:-12%;bottom:-30%;
  background:radial-gradient(circle,rgba(48,209,190,.20),transparent 66%)}
.hero-grid{
  position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000,transparent 78%);
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.hero-copy{max-width:760px;margin:0 auto;text-align:center}
.hero .display{margin:16px 0 0}
.hero .display em{
  font-style:normal;display:block;
  background:linear-gradient(95deg,#fff 18%,#8fb8ff 52%,#6ee7de 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lead{margin:18px auto 0;max-width:540px;color:#a1a1a6;font-size:clamp(1.0625rem,1.45vw,1.3125rem)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:14px;font-size:.8125rem;color:#6e6e73}

/* 代码卡 */
.code-stage{
  position:relative;z-index:2;width:100%;max-width:860px;margin:51.2px auto 0;margin:clamp(32px,4vw,52px) auto 0;
  background:#151517;color:#f5f5f7;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);
  box-shadow:0 30px 70px -28px rgba(10,34,80,.4),0 12px 30px -16px rgba(0,0,0,.35);
  overflow:hidden;
}
.code-bar{
  display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none;
}
.code-bar::-webkit-scrollbar{display:none}
.code-tab{
  padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;white-space:nowrap;
  transition:background .2s,color .2s;
}
.code-tab:hover{color:#f5f5f7;background:rgba(255,255,255,.07)}
.code-tab.on{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
.code-copy{
  margin-left:auto;padding:6px 13px;border-radius:980px;font-size:.8125rem;color:#a1a1a6;
  border:1px solid rgba(255,255,255,.16);flex-shrink:0;transition:.2s;
}
.code-copy:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.code-body{
  margin:0;padding:18px 24px 20px;padding:18px clamp(16px,2.4vw,24px) 20px;overflow-x:auto;
  font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:#e8e8ed;
  letter-spacing:0;
}
.code-body .c{color:#6e6e73}
.code-body .k{color:#ff8fbf}
.code-body .s{color:#a5e075}
.code-body .p{color:#7fb3ff}
.code-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;padding:11px clamp(16px,2.4vw,24px);border-top:1px solid rgba(255,255,255,.08);
  font-size:.8125rem;color:#86868b;
}
.code-foot span{display:inline-flex;align-items:center;gap:7px}
.code-foot i{width:5px;height:5px;border-radius:50%;background:#30d158}
.code-foot a{color:#7fb3ff;transition:opacity .2s}
.code-foot a:hover{opacity:.8}

/* ---------- 指标条 ---------- */
.metrics{border-bottom:1px solid var(--hair-soft)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-soft)}
.metric{background:#fff;padding:35.84px 22px;padding:clamp(22px,2.8vw,36px) clamp(14px,2vw,22px);text-align:center}
.metric b{
  display:block;font-size:29.44px;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;
}
.metric b small{font-size:.44em;font-weight:600;letter-spacing:-.01em;margin-left:2px}
.metric > small{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}
.metric span{display:block;margin-top:5px;font-size:.75rem;color:var(--ink-3)}

/* ---------- 模型卡 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,1.2vw,16px)}
.mcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);
  padding:20px 18px 18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px -14px rgba(0,0,0,.16);border-color:transparent}
.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mcard-avatar{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font);font-size:.6875rem;font-weight:700;letter-spacing:.02em;
}
.mcard-title{flex:1;min-width:0}
.mcard-title small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard-name{font-size:1rem;font-weight:600;letter-spacing:-.018em;overflow-wrap:anywhere;line-height:1.3}
.price-head{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px}
.tag{
  flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:980px;
  background:var(--bg-alt);color:var(--ink-2);
}
.tag.t-chat{background:rgba(0,113,227,.10);color:#0071e3}
.tag.t-image{background:rgba(175,82,222,.11);color:#8e4ec6}
.tag.t-video{background:rgba(255,149,0,.13);color:#b25000}
.mcard-desc{
  font-size:.875rem;color:var(--ink-2);line-height:1.55;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair-soft)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}
.price-row+.price-row{margin-top:7px}
.price-row span{color:var(--ink-3)}
.price-row b{font-weight:500;font-size:.9375rem;letter-spacing:-.01em}
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:.75rem;color:var(--ink-3)}
.avail{display:inline-flex;align-items:center;gap:5px}
.avail i{width:5px;height:5px;border-radius:50%;background:#30d158}
.avail.warn i{background:#ff9f0a}
.avail.bad i{background:#ff453a}

/* ---------- 步骤 ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.step{padding-top:20px;border-top:1px solid var(--hair)}
.step-no{
  font-family:var(--mono);font-size:.8125rem;color:var(--blue);font-weight:600;letter-spacing:.06em;
  display:block;margin-bottom:14px;
}
.step .h3{margin-bottom:10px}
.step p{font-size:1rem;color:var(--ink-2);line-height:1.55}

/* ---------- 双卡片 ---------- */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.dest{
  position:relative;display:block;background:var(--bg-alt);border-radius:var(--r-lg);
  padding:38.4px;padding:clamp(26px,3vw,42px);overflow:hidden;
  transition:transform .4s var(--ease),background .3s;
}
.dest:hover{transform:scale(1.012)}
.dest span{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}
.dest .h2{margin:14px 0 12px;font-size:clamp(1.375rem,2.1vw,1.75rem)}
.dest p{color:var(--ink-2);font-size:1.0625rem;max-width:400px}
.dest b{display:inline-block;margin-top:20px;color:var(--blue);font-weight:500;font-size:1rem}
.dest b .arw{display:inline-block;transition:transform .25s var(--ease)}
.dest:hover b .arw{transform:translateX(4px)}

/* ---------- CTA ---------- */
.cta{border-radius:0}
.cta-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:76.8px;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.cta-inner>div:first-child{max-width:640px}
.cta-inner .h2{margin:14px 0 18px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.foot{background:var(--bg-alt);padding:46.08px 0 26px;padding:clamp(36px,3.6vw,48px) 0 26px;font-size:.75rem;color:var(--ink-2)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--hair)}
.foot-brand p{margin-top:12px;max-width:280px;line-height:1.6}
.foot-cols{display:flex;gap:76px;gap:clamp(36px,6vw,76px);flex-wrap:wrap}
.foot-col b{display:block;color:var(--ink);font-size:.75rem;font-weight:600;margin-bottom:12px}
.foot-col a,.foot-col button{display:block;padding:5px 0;font-size:.75rem;color:var(--ink-2);transition:color .2s;text-align:left}
.foot-col a:hover,.foot-col button:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--ink-3)}

/* ---------- 滚动揭示 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  :scope{scroll-behavior:auto}
}

/* ---------- 定价页 ---------- */
.page-hero{
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:48px;padding-bottom:clamp(32px,4vw,48px);
  background:var(--bg-alt);
}
.page-hero .lead{max-width:700px;margin-top:16px}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{
  padding:8px 16px;border-radius:980px;font-size:.875rem;border:1px solid var(--hair);
  color:var(--ink-2);transition:.22s var(--ease);
}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.seg{display:inline-flex;padding:3px;background:var(--bg-alt);border-radius:980px;gap:2px}
.seg button{padding:6px 15px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);transition:.22s}
.seg button.on{background:#fff;color:var(--ink);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.10)}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.plan{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:29.44px;padding:clamp(22px,2.3vw,30px);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(0,0,0,.16)}
.plan.feat{border-color:transparent;box-shadow:0 0 0 2px var(--ink)}
.plan-kind{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.plan-name{font-size:1.25rem;font-weight:600;letter-spacing:-.022em;margin:10px 0 6px}
.plan-for{font-size:.8125rem;color:var(--ink-3);margin-bottom:20px}
.plan-price{font-size:32px;font-size:clamp(1.625rem,2.5vw,2.125rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.plan-price small{font-size:.4em;font-weight:500;letter-spacing:-.01em;margin-left:4px;color:var(--ink-2)}
.plan-unit{font-size:.8125rem;color:var(--ink-3);margin-top:6px}
.plan-desc{margin:16px 0 18px;font-size:.9375rem;color:var(--ink-2);line-height:1.6}
.plan-list{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair-soft)}
.plan-list li{position:relative;padding:7px 0 7px 22px;font-size:.9375rem;color:var(--ink)}
.plan-list li::before{
  content:"";position:absolute;left:0;top:14px;width:11px;height:7px;
  border-left:1.6px solid var(--blue);border-bottom:1.6px solid var(--blue);transform:rotate(-45deg);
}
.plan-cta{margin-top:20px}

/* 计算器 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:51.2px;gap:clamp(24px,4vw,56px);align-items:start}
.calc-panel{background:var(--bg-alt);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.field{margin-bottom:20px}
.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.field-head label{font-size:.9375rem;font-weight:500}
.field-head output{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;color:var(--blue)}
.field-head .hint{font-size:.75rem;color:var(--ink-3);margin-top:3px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
  background:var(--hair);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.06);cursor:pointer;transition:transform .16s;
}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border:0;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;
}
select{
  width:100%;height:44px;padding:0 38px 0 14px;border-radius:var(--r-sm);border:1px solid var(--hair);
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;font:inherit;font-size:.9375rem;color:var(--ink);cursor:pointer;
}
.days{display:flex;gap:8px}
.days button{flex:1;height:44px;border-radius:var(--r-sm);border:1px solid var(--hair);font-size:.9375rem;color:var(--ink-2);transition:.22s}
.days button.on{background:var(--ink);border-color:var(--ink);color:#fff}

.result{background:#fff;border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair-soft)}
.result-head span{font-size:.8125rem;color:var(--ink-3)}
.result-head b{font-size:30px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:600;letter-spacing:-.035em}
.cost-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hair-soft)}
.cost-row .lbl{font-size:.9375rem}
.cost-row .lbl small{display:block;font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cost-row .val{font-size:1.0625rem;font-weight:600;letter-spacing:-.025em;text-align:right;white-space:nowrap}
.cost-row .val small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-3);letter-spacing:0}
.cost-row.best .val{color:var(--blue)}
.advice{margin-top:16px;padding:13px 15px;border-radius:var(--r-sm);background:var(--bg-alt);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.advice b{color:var(--ink);font-weight:600}
.calc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.calc-facts div{background:var(--bg-alt);border-radius:var(--r-sm);padding:12px 14px}
.calc-facts small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:5px}
.calc-facts b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
th{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafafa}
td.num{text-align:right;font-variant-numeric:tabular-nums}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);align-items:start}
details{
  background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);padding:16px 20px;
  transition:border-color .25s,box-shadow .25s;
}
details[open]{border-color:transparent;box-shadow:0 14px 36px -14px rgba(0,0,0,.16)}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:.9375rem;font-weight:500;letter-spacing:-.015em;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex-shrink:0;width:11px;height:11px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
details p{margin-top:12px;font-size:.9375rem;color:var(--ink-2);line-height:1.65}

/* ---------- 教程页 / 状态页 · 深色页头 ---------- */
.guide-hero,.status-hero{
  position:relative;overflow:hidden;background:var(--bg-deep);color:#f5f5f7;
  padding-top:calc(var(--nav-h) + 64px);padding-top:calc(var(--nav-h) + clamp(40px,5vw,68px));padding-bottom:56.32px;padding-bottom:clamp(36px,4.4vw,64px);
}
.guide-hero .lead,.status-hero .lead{color:#a1a1a6;max-width:640px;margin-top:18px}
.guide-hero::before,.status-hero::before{
  content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.5;
  width:760px;height:760px;left:50%;top:-60%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(0,113,227,.40),transparent 66%);
}
.guide-hero>*,.status-hero>*{position:relative;z-index:2}
.callout{
  display:flex;gap:12px;padding:15px 18px;border-radius:var(--r-md);
  background:rgba(255,159,10,.10);border:1px solid rgba(255,159,10,.22);
  font-size:.9375rem;line-height:1.6;color:#8a5200;
}
.callout svg{flex-shrink:0;margin-top:2px}

.guide-layout{display:grid;grid-template-columns:190px 1fr;gap:46.08px;gap:clamp(24px,3.6vw,52px);align-items:start}
.guide-nav{position:sticky;top:calc(var(--nav-h) + 28px)}
.guide-nav b{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 10px}
.guide-nav b:first-child{margin-top:0}
.guide-nav a{
  display:block;padding:7px 0;font-size:.9375rem;color:var(--ink-2);transition:color .2s;
  border-left:2px solid transparent;padding-left:14px;margin-left:-16px;
}
.guide-nav a:hover{color:var(--ink)}
.guide-nav a.on{color:var(--ink);font-weight:500;border-left-color:var(--blue)}

.gstep{padding-bottom:56px;padding-bottom:clamp(36px,4.4vw,56px);margin-bottom:56px;margin-bottom:clamp(36px,4.4vw,56px);border-bottom:1px solid var(--hair-soft)}
.gstep:last-of-type{border-bottom:0}
.gstep-no{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;
  border-radius:980px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.04em;
  margin-bottom:20px;
}
.gstep .h2{font-size:25.6px;font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:14px}
.gstep>p{font-size:15px;font-size:var(--fs-lead);color:var(--ink-2);max-width:660px;line-height:1.55}

.checklist{margin-top:20px;display:grid;gap:12px}
.checklist li{
  display:flex;gap:12px;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff;
  font-size:.9375rem;line-height:1.55;
}
.checklist li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:600;margin-top:1px;
}
.checklist li b{font-weight:600}
.checklist li p{color:var(--ink-2);margin-top:3px}

.code-inline{
  display:inline-block;padding:2px 7px;border-radius:6px;background:var(--bg-alt);
  font-family:var(--mono);font-size:.86em;color:var(--ink);border:1px solid var(--hair-soft);
}

.snip{margin-top:20px;border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;background:#1c1c1e}
.snip-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.snip-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.snip-bar span{margin-left:6px;font-size:.75rem;color:#86868b;font-family:var(--mono)}
.snip-bar button{margin-left:auto;font-size:.75rem;color:#86868b;border:1px solid rgba(255,255,255,.16);padding:4px 11px;border-radius:980px;transition:.2s}
.snip-bar button:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.snip pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.78125rem;line-height:1.7;color:#e8e8ed}
.snip .c{color:#6e6e73}
.snip .k{color:#ff8fbf}
.snip .s{color:#a5e075}
.snip .p{color:#7fb3ff}

.note{
  margin-top:20px;padding:13px 16px;border-radius:var(--r-md);background:var(--bg-alt);
  font-size:.9375rem;line-height:1.6;color:var(--ink-2);
}
.note b{color:var(--ink);font-weight:600}
.note.ok{background:rgba(48,209,88,.09);color:#1a6b33}
.note.ok b{color:#14622c}

.secret{
  display:flex;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;
  border:1px dashed var(--hair);border-radius:var(--r-md);background:var(--bg-alt);
  font-family:var(--mono);font-size:.9375rem;color:var(--ink-2);letter-spacing:.02em;flex-wrap:wrap;
}
.secret b{font-family:var(--font)}

.tabrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- 状态页 ---------- */
.status-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair-dark);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(24px,3vw,38px)}
.status-metrics div{background:rgba(255,255,255,.04);padding:16px clamp(14px,2vw,22px)}
.status-metrics small{display:block;font-size:.75rem;color:#86868b;margin-bottom:8px}
.status-metrics b{font-size:22px;font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600;letter-spacing:-.03em;color:#f5f5f7}
@media (max-width:860px){.status-metrics{grid-template-columns:1fr 1fr}}

.health-card{border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;padding:clamp(20px,2.4vw,28px)}
.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:980px;
  font-size:.875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.spark-row{display:flex;align-items:flex-end;gap:2px;height:52px;margin-bottom:6px}
.spark-row i{flex:1;border-radius:2px 2px 0 0;min-height:3px;transition:opacity .2s}
.spark-row i:hover{opacity:.65}
.axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:8px}

.health-list{display:grid;gap:1px;background:var(--hair-soft);border-radius:var(--r-md);overflow:hidden;margin-top:30px}
.health-item{display:flex;align-items:center;gap:16px;padding:13px 18px;background:#fff;flex-wrap:wrap}
.health-item .nm{font-size:.9375rem;font-weight:500;min-width:150px}
.health-item .bar{flex:1;min-width:120px;height:6px;border-radius:4px;background:var(--bg-alt);overflow:hidden}
.health-item .bar i{display:block;height:100%;border-radius:4px;background:#30d158}
.health-item .num{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;min-width:56px;text-align:right}
.health-item .sub{font-size:.75rem;color:var(--ink-3);min-width:124px}

.rank-list{display:grid;gap:10px}
.rank-item{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#fff;border:1px solid var(--hair);border-radius:var(--r-md);transition:border-color .25s,box-shadow .25s}
.rank-item:hover{border-color:transparent;box-shadow:0 12px 30px -12px rgba(0,0,0,.14)}
.rank-no{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;
}
.rank-item:nth-child(1) .rank-no{background:var(--ink);color:#fff}
.rank-nm{flex:1;min-width:0}
.rank-nm b{display:block;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-nm .track{margin-top:7px;height:4px;border-radius:3px;background:var(--bg-alt);overflow:hidden;max-width:340px}
.rank-nm .track i{display:block;height:100%;background:var(--blue);border-radius:3px}
.rank-meta{font-size:.8125rem;color:var(--ink-3);text-align:right;white-space:nowrap}
.rank-meta b{display:block;font-size:.9375rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .guide-layout{grid-template-columns:1fr}
  .guide-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:6px}
  .guide-nav b{display:none}
  .guide-nav a{border-left:0;border:1px solid var(--hair);border-radius:980px;padding:8px 15px;margin:0;white-space:nowrap}
  .guide-nav a.on{border-color:var(--ink)}
  .plan-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;
    background:rgba(255,255,255,.98);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--hair);padding:10px 20px 18px;margin:0;
    max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s,padding .35s;
  }
  .nav-links.open{max-height:340px;opacity:1}
  .nav.deep .nav-links{background:rgba(0,0,0,.92)}
  .nav-links a{padding:12px 4px;font-size:1rem;border-bottom:1px solid var(--hair-soft)}
  .nav-links a.on{background:none}
  .nav-burger{display:flex!important}
  .nav-tools{margin-left:auto}
  .metrics-grid{grid-template-columns:1fr 1fr}
  .step-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .calc-facts{grid-template-columns:1fr}
  .live.hide-sm{display:none}
}
@media (max-width:560px){
  .metrics-grid{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .model-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1}
}
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:4.5px;
  width:32px;height:32px;margin-left:4px;
}
.nav-burger i{display:block;height:1.5px;width:17px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav.open .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ============================================================
   登录页 / 控制台后台
   ============================================================ */

/* ---------- 登录页（Apple 风格：居中单卡片 + 浮动标签） ---------- */
.auth-page{background:#fbfbfd;-webkit-font-smoothing:antialiased}
.auth-wrap{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(32px,6vh,76px) 20px;
}
.auth-wrap::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(120% 70% at 50% -12%,rgba(0,113,227,.06),transparent 60%),
             radial-gradient(90% 60% at 50% 112%,rgba(94,231,208,.05),transparent 62%);
}
.auth-shell{position:relative;z-index:2;width:100%;max-width:440px}

/* 顶部品牌 */
.auth-brand{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin-bottom:24px;color:#1d1d1f;text-decoration:none;
  animation:authIn .6s var(--ease) both;
}
.auth-brand-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.auth-brand b{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}

/* 卡片 */
.auth-card{
  position:relative;overflow:hidden;background:#fff;border-radius:28px;
  padding:38px;padding:clamp(26px,3.6vw,38px);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.05),0 28px 64px -20px rgba(0,0,0,.14);
  animation:authIn .7s var(--ease) both .05s;
}
@keyframes authIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 身份切换（Apple segmented） */
.auth-tabs{
  display:flex;gap:2px;padding:3px;background:#f5f5f7;border-radius:980px;margin-bottom:28px;
}
.auth-tabs button{
  flex:1;height:36px;border-radius:980px;font-size:.8125rem;color:#6e6e73;
  transition:color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.auth-tabs button:hover{color:#1d1d1f}
.auth-tabs button.on{
  background:#fff;color:#1d1d1f;font-weight:500;
  box-shadow:0 1px 3px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04);
}

/* 面板切换时淡入（display 由 none 变为可见，动画会自动重放） */
[data-panel]{animation:panelIn .42s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.auth-title{
  font-size:30px;font-size:clamp(1.5rem,4.2vw,1.875rem);font-weight:600;letter-spacing:-.022em;
  line-height:1.16;color:#1d1d1f;
}
.auth-sub{margin-top:9px;font-size:.875rem;line-height:1.5;color:#86868b}

/* 浮动标签输入框 */
.auth-card .field{position:relative;margin-top:14px}
.auth-sub + .field,.auth-sub + .grid-2{margin-top:26px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.auth-card .field .input{
  width:100%;height:58px;padding:26px 16px 9px;
  border:1px solid #d2d2d7;border-radius:12px;
  font:inherit;font-size:1.0625rem;color:#1d1d1f;background:#fff;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.auth-card .field .input:hover{border-color:#b9b9c0}
.auth-card .field .input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.auth-card .field label{
  position:absolute;left:17px;top:18px;font-size:1.0625rem;color:#86868b;
  pointer-events:none;transform-origin:left top;transition:transform .18s var(--ease),color .18s var(--ease);
}
.auth-card .field .input:focus + label,
.auth-card .field .input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.706);color:#6e6e73}
.auth-card .field .input:focus + label{color:#0071e3}
.auth-card .field.has-toggle .input{padding-right:74px}
.auth-card .field.has-sms .input{padding-right:106px}
.pwd-toggle,.sms-btn{
  position:absolute;right:8px;top:14px;height:30px;padding:0 11px;border-radius:8px;
  font-size:.8125rem;font-weight:500;color:#0071e3;transition:background .18s var(--ease);
}
.pwd-toggle:hover,.sms-btn:hover{background:rgba(0,113,227,.08)}
.field-hint{margin:9px 2px 0;font-size:.75rem;color:#86868b}

/* 主按钮（Apple 蓝色胶囊） */
.btn-apple{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;margin-top:24px;
  border-radius:980px;background:#0071e3;color:#fff;
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 1px 3px rgba(0,113,227,.30);
  transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease);
}
.btn-apple:hover{background:#0077ed;box-shadow:0 2px 12px rgba(0,113,227,.36)}
.btn-apple:active{background:#006edb;transform:scale(.985)}

.auth-forgot{display:block;margin-top:14px;text-align:right;font-size:.8125rem;color:#0071e3;text-decoration:none}
.auth-forgot:hover{text-decoration:underline}

.agree{
  display:flex;gap:9px;align-items:flex-start;margin-top:22px;
  font-size:.8125rem;line-height:1.5;color:#6e6e73;
}
.agree input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#0071e3}
.agree a{color:#0071e3}

.auth-swap{
  margin-top:22px;padding-top:20px;border-top:1px solid #f0f0f2;
  text-align:center;font-size:.8125rem;color:#6e6e73;
}
.auth-swap button{color:#0071e3;font-size:.8125rem}
.auth-swap button:hover{text-decoration:underline}

/* 卡片下方 */
.auth-trust{
  margin-top:26px;text-align:center;font-size:.75rem;color:#a1a1a6;letter-spacing:.03em;
  animation:authIn .7s var(--ease) both .11s;
}
.auth-foot{
  margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
  font-size:.75rem;color:#86868b;
  animation:authIn .7s var(--ease) both .15s;
}
.auth-foot a{color:#86868b}
.auth-foot a:hover{color:#1d1d1f;text-decoration:underline}

@media (max-width:560px){
  .auth-wrap{padding:26px 16px;align-items:flex-start}
  .auth-card{border-radius:22px;padding:24px 20px}
  .grid-2{grid-template-columns:1fr;gap:0}
  .auth-tabs{margin-bottom:24px}
  .auth-title{font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .auth-card,.auth-brand,.auth-trust,.auth-foot,[data-panel]{animation:none}
}

/* ---------- 控制台（macOS 系统设置风格） ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7}
.app-side{
  position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
  background:rgba(246,246,248,.82);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid rgba(0,0,0,.06);
  padding:18px 12px 12px;
}
/* ---------- 补：头像、表单行 ---------- */
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#0071e3,#30d1be);color:#fff;font-weight:600;letter-spacing:0}
.form-row{margin-bottom:16px}
.form-row label{display:block;font-size:.8125rem;font-weight:500;color:var(--ink);margin-bottom:8px}
.form-row input.input{
  width:100%;height:44px;padding:0 14px;border:1px solid var(--hair);border-radius:var(--r-sm);
  font:inherit;font-size:.9375rem;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;
}
.form-row input.input::placeholder{color:var(--ink-3)}
.form-row input.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.form-row + .btn{margin-top:4px}
.app-user{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.app-user .avatar{width:36px;height:36px;font-size:.875rem}
.app-user-meta{min-width:0;flex:1}
.app-user-meta b{display:block;font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.app-user-meta small{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:2px}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:background .18s;
}
.icon-btn:hover{background:rgba(0,0,0,.05)}
.app-search{
  display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin:0 4px 14px;
  border-radius:9px;background:rgba(0,0,0,.05);color:var(--ink-3);
  border:1px solid transparent;transition:border-color .2s,background .2s;
}
.app-search:focus-within{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.app-search input{
  flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--ink);outline:none;
}
.app-search input::placeholder{color:var(--ink-3)}
.app-nav{flex:1}
.sb-group{margin-bottom:16px}
.sb-group>b{
  display:block;padding:0 12px;margin-bottom:5px;
  font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border-radius:9px;text-align:left;
  font-size:.875rem;color:var(--ink);transition:background .16s,color .16s;
}
.sb-item:hover{background:rgba(0,0,0,.05);text-decoration:none}
.sb-item.on{background:#0071e3;color:#fff;font-weight:500}
.sb-item.on:hover{background:#0071e3}
.sb-item svg{flex-shrink:0;opacity:.72}
.sb-item.on svg{opacity:1}
.sb-item.locked{color:var(--ink-3)}
.sb-item.locked svg{opacity:.45}
.sb-item .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:980px;
  background:rgba(0,0,0,.06);color:var(--ink-2);font-size:.6875rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sb-item.on .cnt{background:rgba(255,255,255,.24);color:#fff}
.app-side-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px}

.app-main{padding:38.4px 33.28px;padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px);min-width:0}
.view{animation:viewIn .34s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.page-head h1{font-size:30px;font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
.page-head p{font-size:.875rem;color:var(--ink-2);margin-top:6px}
.page-head p a{color:var(--blue)}
.page-head .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 卡片 / 指标 ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-grid.three{grid-template-columns:repeat(3,1fr)}
.stat{
  background:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.stat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 28px rgba(0,0,0,.07)}
.stat small{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:8px}
.stat b{font-size:23.04px;font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;font-size:.55em;font-weight:500;color:var(--ink-2);margin-left:2px}
.stat span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:6px}

.card{
  background:#fff;border-radius:18px;overflow:hidden;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--hair-soft)}
.card-head h2{font-size:.9375rem;font-weight:600;letter-spacing:-.015em}
.card-head .sub{font-size:.75rem;color:var(--ink-3);margin-top:3px}
.card-body{padding:20px}
.card-foot{padding:12px 20px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--ink-3)}
.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.muted{color:var(--ink-3)}

/* ---------- 图表 ---------- */
.bars{display:flex;align-items:flex-end;gap:3px;height:172px}
.bars i{
  flex:1;border-radius:3px 3px 0 0;min-height:2px;position:relative;
  background:linear-gradient(180deg,#4d94ff,#0071e3);transition:opacity .2s;
}
.bars i.alt{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}
.bars i:hover{opacity:.68}
.chart-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:10px}
.legend-inline{display:flex;gap:14px;font-size:.75rem;color:var(--ink-3);flex-wrap:wrap}
.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.usage-svg{width:100%;height:220px;display:block}
.usage-svg .ln{fill:none;stroke:#0071e3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.usage-svg .area{fill:rgba(0,113,227,.10)}
.usage-svg .grid{stroke:rgba(0,0,0,.05);stroke-width:1}
.usage-svg .pt{fill:#fff;stroke:#0071e3;stroke-width:2}
.usage-svg text{font-size:10px;fill:#86868b}

.dist{display:grid;gap:11px}
.dist-row{display:grid;grid-template-columns:132px 1fr 62px;align-items:center;gap:12px;font-size:.8125rem}
.dist-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dist-track{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden}
.dist-track i{display:block;height:100%;border-radius:5px}
.dist-val{text-align:right;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- 表格 ---------- */
.tbl-clean{width:100%;border-collapse:collapse;font-size:.8125rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);background:#fff}
.tbl-clean th,.tbl-clean td{padding:11px 20px;text-align:left;border-bottom:1px solid var(--hair-soft);white-space:nowrap}
.tbl-clean th{font-size:.6875rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:#fafafa}
.tbl-clean tbody tr:last-child td{border-bottom:0}
.tbl-clean tbody tr:hover{background:#fafafa}
.tbl-clean td.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:.78125rem}
.badge-sm{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:980px;
  font-size:.6875rem;font-weight:500;background:rgba(48,209,88,.12);color:#1a7f37;
}
.badge-sm i{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge-sm.gray{background:var(--bg-alt);color:var(--ink-2)}
.badge-sm.blue{background:rgba(0,113,227,.10);color:#0071e3}
.badge-sm.warn{background:rgba(255,159,10,.14);color:#9a5b00}
.badge-sm.red{background:rgba(255,69,58,.12);color:#c0392b}
.row-act{color:var(--blue);font-size:.8125rem}
.row-act:hover{text-decoration:underline}

/* ---------- 进度条 / 额度 ---------- */
.quota{display:grid;gap:10px}
.quota-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8125rem}
.quota-bar{height:7px;border-radius:5px;background:var(--bg-alt);overflow:hidden;margin-top:8px}
.quota-bar i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.quota-bar.warn i{background:#ff9f0a}

/* ---------- 密钥管理 ---------- */
.key-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.key-card{
  background:#fff;border-radius:16px;padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.key-card h3{font-size:.9375rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.key-card .k{font-family:var(--mono);font-size:.78125rem;color:var(--ink-2);margin-top:10px}
.key-card .meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin-top:14px}
.key-card .ops{display:flex;gap:8px;margin-top:14px}
.key-card .ops button{font-size:.75rem;color:var(--blue);padding:5px 10px;border-radius:8px}
.key-card .ops button:hover{background:rgba(0,113,227,.07)}
.rule-list{display:grid;gap:10px;font-size:.8125rem;color:var(--ink-2);line-height:1.6}
.rule-list li{padding-left:18px;position:relative}
.rule-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ---------- 模型目录 ---------- */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  height:32px;padding:0 14px;border-radius:980px;font-size:.8125rem;color:var(--ink-2);
  background:#fff;border:1px solid var(--hair);transition:.18s;
}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.on{background:#0071e3;border-color:#0071e3;color:#fff}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat-card{
  background:#fff;border-radius:16px;padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.cat-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.cat-card h3{font-size:.875rem;font-weight:600;letter-spacing:-.01em}
.cat-card .vendor{font-size:.75rem;color:var(--ink-3);margin-top:2px}
.cat-card .price{display:flex;gap:14px;margin-top:12px;font-size:.75rem;color:var(--ink-2)}
.cat-card .price b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- 模型体验 ---------- */
.play-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.play-side .form-row{margin-bottom:16px}
.play-side label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.val-tag{color:var(--blue);font-variant-numeric:tabular-nums}
.play-side input[type=range]{width:100%;accent-color:var(--blue)}
.play-balance{margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-alt);font-size:.75rem;color:var(--ink-2)}
.play-balance b{color:var(--ink);font-variant-numeric:tabular-nums}
.play-main{display:flex;flex-direction:column;min-height:480px}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.msg{
  max-width:78%;padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.55;
  animation:viewIn .3s var(--ease) both;
}
.msg.user{align-self:flex-end;background:#0071e3;color:#fff;border-bottom-right-radius:6px}
.msg.bot{align-self:flex-start;background:var(--bg-alt);color:var(--ink);border-bottom-left-radius:6px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--hair-soft)}
.chat-input .input{flex:1}

/* ---------- 充值 ---------- */
.topup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.topup-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 8px;border-radius:14px;background:#fff;border:1.5px solid var(--hair);
  transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);
}
.topup-card b{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.topup-card span{font-size:.6875rem;color:var(--ink-3)}
.topup-card:hover{border-color:rgba(0,0,0,.18);transform:translateY(-1px)}
.topup-card.on{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.topup-act{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.topup-act .muted{font-size:.75rem}

/* ---------- 套餐 ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan-card{
  display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04);
}
.plan-head{display:flex;align-items:center;justify-content:space-between}
.plan-head h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.plan-price{margin:14px 0 4px}
.plan-price b{font-size:2rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plan-price span{font-size:.875rem;color:var(--ink-3);margin-left:4px}
.plan-card ul{flex:1;display:grid;gap:9px;margin:14px 0 18px;font-size:.8125rem;color:var(--ink-2)}
.plan-card ul li{padding-left:18px;position:relative}
.plan-card ul li::before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:#30d158}

/* ---------- FAQ / 工单 / 空状态 ---------- */
.faq details{border:0;border-bottom:1px solid var(--hair-soft);border-radius:0;box-shadow:none;padding:4px 0}
.faq details[open]{box-shadow:none;border-color:var(--hair-soft)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 0;list-style:none}
.faq p{font-size:.8125rem;color:var(--ink-2);line-height:1.65;padding:0 28px 12px 0}
.empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:90px 24px;color:var(--ink-2);
}
.empty svg{color:#c7c7cc;margin-bottom:18px}
.empty h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.empty p{font-size:.875rem;line-height:1.65;margin-top:10px;max-width:420px}
.empty-act{display:flex;gap:10px;margin-top:24px}
.inv-grid{align-items:start}

/* ---------- 控制台响应式 ---------- */
@media (max-width:1280px){
  .topup-grid{grid-template-columns:repeat(3,1fr)}
  .key-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .app .grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .plan-grid{grid-template-columns:1fr}
  .play-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .app-side{
    position:static;height:auto;border-right:0;border-bottom:1px solid var(--hair-soft);
    display:flex;gap:8px;overflow-x:auto;padding:10px 14px;
  }
  .app-user,.app-search,.app-side-foot{display:none}
  .app-nav{display:flex;gap:8px}
  .sb-group{display:flex;gap:6px;margin:0;flex-shrink:0}
  .sb-group>b{display:none}
  .sb-item{white-space:nowrap;border:1px solid var(--hair);border-radius:980px;padding:6px 14px}
  .sb-item.on{border-color:#0071e3}
  .sb-item .cnt{display:none}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:1fr}
  .stat-grid.three{grid-template-columns:1fr}
  .key-cards{grid-template-columns:1fr}
  .topup-grid{grid-template-columns:repeat(2,1fr)}
  .form-row.two{grid-template-columns:1fr}
  .dist-row{grid-template-columns:104px 1fr 56px}
}

/* 堆叠柱（控制台消费趋势） */
.bars i.stack{
  align-self:stretch;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;
  background:none;border-radius:0;
}
.bars i.stack em{display:block;width:100%;border-radius:3px}
.bars i.stack em.a{background:linear-gradient(180deg,#4d94ff,#0071e3)}
.bars i.stack em.b{background:linear-gradient(180deg,#7ee0d2,#2bb8a3)}

/* 深色导航下的次要按钮 */
.nav.deep .btn-ghost{color:#f5f5f7;border-color:rgba(255,255,255,.32)}
.nav.deep .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}


}
/* Product wiring: shell visibility and real permission-dependent views. */
[hidden],.design-compat{display:none!important}
#publicShell.off,#pricingShell.off,#guideShell.off,#statusShell.off,#loginShell.off{display:none!important}
.design-surface{display:block;min-height:100vh;background:white;color:#1d1d1f;font-family:"SF Pro Display",-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:15px;line-height:1.6}
.design-guest{display:flex;align-items:center;gap:10px}
.design-surface .rv.in{opacity:1;transform:none}
.design-surface .nav-inner{max-width:1080px;padding:0 24px;min-height:44px}
.design-surface .home-links{position:relative}
.design-surface .nav-burger{border:0;background:transparent}
#loginShell{display:block;background:#fbfbfd;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
#loginShell .auth-card{width:100%;max-width:none;min-height:0;margin:0}
#loginShell .auth-title{margin:0;text-align:center}
#loginShell .auth-sub{text-align:center}
#loginShell .field{margin-bottom:0}
#loginShell form{margin-top:26px}
#loginShell .btn-apple{width:100%}
#loginShell .auth-password{display:contents}
#appShell{display:none}
#appShell.on{display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f7;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
#appShell .app-side{width:auto;z-index:30;left:auto;transform:none}
#appShell .app-main{margin-left:0;width:auto;min-width:0;padding:28px 36px 60px}
#appShell .content{padding:0;max-width:1440px;margin:auto}
#appShell .topbar{position:relative;background:transparent;border:0;padding:0 0 24px;height:auto;min-height:58px;backdrop-filter:none}
#appShell .topbar .pg{font-size:28px;font-weight:650;letter-spacing:-.03em}
#appShell .view{display:none}
#appShell .view.on{display:block}
#appShell .card{border-radius:18px;box-shadow:0 1px 3px rgba(0,0,0,.04);margin-bottom:20px}
#appShell .card-head{padding:20px 22px;border-bottom:1px solid rgba(0,0,0,.06)}
#appShell .card-head h3{font-size:16px;font-weight:600}
#appShell .card-body{padding:22px}
#appShell .stat-grid{gap:16px;margin:0 0 20px!important}
#appShell .stat{border:1px solid rgba(0,0,0,.06);border-radius:18px;background:#fff;padding:22px}
#appShell .stat>span{font-size:12px;color:#6e6e73}
#appShell .stat>b{font-size:28px;letter-spacing:-.04em;font-weight:650}
#appShell .stat>small{font-size:11px;color:#86868b}
#appShell .grid-2{gap:20px;margin-top:0!important}
#appShell .sb-item{width:100%;font-size:13px;border-radius:8px;margin-bottom:2px;padding:9px 12px;gap:10px}
#appShell .sb-item.on{background:#0071e3;color:#fff}
#appShell .sb-item.on svg{color:inherit}
#appShell .design-sb-label{font-size:11px;color:#86868b;letter-spacing:.08em;padding:14px 12px 5px}
#appShell .side-logo{margin-bottom:12px;padding:0 8px}
#appShell .side-foot{border-top:0;margin-top:auto}
@media(max-width:820px){.design-surface .nav-links.open{display:flex;position:absolute;top:44px;left:0;right:0;background:rgba(255,255,255,.98);flex-direction:column;padding:20px;align-items:stretch}.design-surface .home-nav-pill{display:none}#appShell.on{display:block}#appShell .app-side{position:fixed;left:0;top:0;width:248px;transform:translateX(-100%)}#appShell.side-open .app-side,body.side-open #appShell .app-side{transform:translateX(0)}#appShell .app-main{padding:20px 16px}#appShell .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#appShell .grid-2{grid-template-columns:1fr}}
#appShell .design-account{width:100%;border:0;background:none;text-align:left;color:#1d1d1f;margin-bottom:0}
#appShell .design-account>svg{width:16px;height:16px;color:#86868b}
#appShell .design-account i.avatar{font-style:normal}
#appShell .design-page-heading{flex:1;min-width:0}
#appShell .design-page-heading p{font-size:13px;color:#86868b;margin-top:9px;font-weight:400}
#appShell .topbar{align-items:flex-end;padding-bottom:26px;gap:10px}
#appShell .design-page-heading .pg{margin:0;display:block}
#appShell .design-tier h2{font-size:16px;margin:0}
#appShell .design-tier .sub{font-size:12px;color:#86868b;margin-top:4px}
#appShell .design-tier .tier-progress{padding:0;margin-bottom:24px;border:0;box-shadow:none}
#appShell .design-additional>summary{padding:20px 22px;cursor:pointer;font-size:14px;font-weight:600}
#appShell .design-additional .dev-onboarding{margin:0;border:0}
#appShell[data-design-view="v-dev"][data-design-role="member"] .topbar-health,#appShell[data-design-view="v-dev"][data-design-role="member"] .topbar-tier,#appShell[data-design-view="v-dev"][data-design-role="member"] #tbDeptBadge,#appShell[data-design-view="v-dev"][data-design-role="member"] #tbAvatar,#appShell[data-design-view="v-dev"][data-design-role="member"] .topbar-site-link{display:none}
#appShell .stat b,#appShell .stat small{font-family:inherit}
#appShell .side-balance{margin-top:20px}
@media(max-width:650px){#appShell .topbar .btn{padding:7px 10px;font-size:12px}#appShell .design-page-heading p{display:none}#appShell .stat-grid{gap:10px}#appShell .stat{padding:16px}}
@media(max-width:820px){#appShell .app-side.open{transform:translateX(0)}#appShell .side-scrim.on{display:block;position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:29}}
.design-surface .avail.unknown i{background:#86868b}
.design-surface [data-register-kind][aria-disabled="true"]{opacity:.5;pointer-events:none}
#guideShell .guide-layout>*{min-width:0}
#guideShell .code-stage,#guideShell .snip{min-width:0;max-width:100%}
#guideShell .snip pre,#guideShell .code-body{overflow-x:auto;max-width:100%}
#guideShell .guide-endpoints{margin-top:32px}
#guideShell .guide-endpoints h3{font-size:1.125rem;margin-bottom:10px}
#guideShell .guide-endpoints>p{color:var(--ink-2);font-size:.9375rem;line-height:1.6}
#guideShell .guide-bases{display:grid;gap:12px;margin:18px 0}
#guideShell .guide-bases>div{padding:13px 16px;border:1px solid var(--hair);border-radius:var(--r-md)}
#guideShell .guide-bases dt{font-size:.8125rem;color:var(--ink-2);margin-bottom:5px}
#guideShell .guide-bases dd{margin:0}
#guideShell .guide-bases code{font-family:var(--mono);font-size:.875rem;overflow-wrap:anywhere}
#guideShell .guide-endpoint-table{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md)}
#guideShell .guide-endpoint-table table{width:100%;min-width:0;border-collapse:collapse;text-align:left;font-size:.8125rem}
#guideShell .guide-endpoint-table th,#guideShell .guide-endpoint-table td{padding:12px 14px;border-bottom:1px solid var(--hair-soft);vertical-align:top;white-space:normal}
#guideShell .guide-endpoint-table th{background:var(--bg-alt);font-weight:600}
#guideShell .guide-endpoint-table tr:last-child td{border-bottom:0}
#guideShell .guide-endpoint-table td:first-child{min-width:115px}
#guideShell .guide-endpoint-table th:nth-child(2),#guideShell .guide-endpoint-table td:nth-child(2){white-space:nowrap}
#guideShell .guide-endpoint-table a{color:var(--blue)}
#guideShell .guide-endpoint-table a:hover{text-decoration:underline}
#guideShell .guide-endpoint-table code{font-family:var(--mono);overflow-wrap:anywhere}
#guideShell .guide-endpoints .code-inline{overflow-wrap:anywhere;max-width:100%}
#appShell .design-member-actions{display:none;order:20;gap:10px}
#appShell[data-design-view="v-dev"][data-design-role="member"] .design-member-actions{display:flex}
#appShell[data-design-view="v-dev"][data-design-role="member"] .topbar [data-member-topbar]{display:none}
#appShell .side-balance{border-radius:12px}
#appShell[data-design-role="member"] .side-balance{display:none}
/* Measured against reference console.html at the same viewport. */
.design-surface .nav-inner{min-height:0}
#appShell .app-main{padding:clamp(20px,3vw,40px) clamp(18px,2.6vw,36px)}
#appShell .stat-grid{gap:12px;margin-bottom:14px!important}
#appShell .stat{border:0;border-radius:16px;padding:18px 20px;min-height:0;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04)}
#appShell .stat>b{font-size:clamp(1.1875rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.03em;margin:0}
#appShell .stat>span{font-size:12px;margin:0 0 8px;color:#86868b}
#appShell .stat>small{font-size:12px;display:block;margin:6px 0 0;color:#86868b;line-height:1.6}
#appShell .card{margin-bottom:14px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 14px rgba(0,0,0,.04)}
#appShell .card-head{padding:16px 20px;gap:14px}
#appShell .card-head h3,#appShell .card-head h2{font-size:15px}
#appShell .card-body{padding:20px}
#appShell .grid-2{grid-template-columns:1.35fr 1fr;gap:14px}
#appShell .topbar .pg{font-size:clamp(1.5rem,2.6vw,1.875rem);font-weight:700;letter-spacing:-.028em}
#appShell .design-page-heading p{font-size:14px;margin-top:6px}
#appShell .sb-item{padding:7px 12px;border-radius:9px;font-size:14px}
@media(max-width:820px){#appShell .grid-2{grid-template-columns:1fr}}
/* The legacy tier hook stays available to account rendering without becoming a grid item. */
#memberSideTier{display:none!important}
/* Console views retain real controls while using the reference page and card composition. */
#appShell[data-design-role="member"] .view>.page-h h2{display:none}
#appShell[data-design-role="member"] .view>.page-h{margin:0 0 16px;align-items:center}
#appShell[data-design-role="member"] .view>.page-h p{font-size:12px;color:#86868b}
#appShell[data-design-role="member"] .topbar-health,#appShell[data-design-role="member"] .topbar-tier,#appShell[data-design-role="member"] #tbAvatar,#appShell[data-design-role="member"] .topbar-site-link,#appShell[data-design-role="member"] #tbDeptBadge{display:none}
#appShell[data-design-view="v-tokens"] #memberTopbarCreateKey{display:none}
#appShell #tpRedeemCard{box-shadow:none;margin:0;border-radius:0;border:0}
#appShell .plan-choice-grid{gap:14px}
#appShell .plan-choice-card{padding:26px;border-radius:20px}
#appShell .plan-choice-card h3{font-size:20px;font-weight:600}
#appShell .plan-choice-price b{font-size:40px;font-weight:600;letter-spacing:-.04em}
#appShell .key-card .k{overflow-wrap:anywhere}
#appShell .key-card .meta{gap:10px}
#appShell .key-card .meta b{text-align:right;overflow-wrap:anywhere}
#appShell .key-card .ops{flex-wrap:wrap}
#appShell .key-card .ops button:disabled{opacity:.4;cursor:not-allowed}
#appShell .stat .v{font-size:24px;font-weight:600;letter-spacing:-.03em;margin:8px 0 6px}
@media(max-width:650px){#appShell #tpTiers{grid-template-columns:repeat(2,minmax(0,1fr))!important}#appShell .plan-choice-grid{grid-template-columns:1fr}#appShell .view>.page-h{flex-wrap:wrap;gap:10px}}

/* Smooth the reference stage edge while keeping the next section color continuous. */
#publicShell .hero-stage{height:clamp(180px,22vw,300px);background:linear-gradient(to bottom,rgba(245,245,247,0),var(--bg-alt) 72%)}
@media(max-width:650px){.design-surface .code-bar{flex-wrap:wrap;overflow-x:visible}.design-surface .code-copy{margin-left:auto}}
@media(max-width:650px){#appShell #v-a-members>.page-h>.row{flex-wrap:wrap;width:100%;min-width:0}#appShell #v-a-members #memSearch{width:100%!important;min-width:0}}

/* Legacy semantic badges must win over the design template's generic green badge. */
#appShell .badge.b-warn{background:#fff3d6;color:#8a5200}
#appShell .badge.b-crit{background:#ffebe9;color:#b42318}
#appShell .badge.b-muted{background:#f0f1f3;color:#626975}

/* 管理日志是紧凑工具栏，不能继承设计稿表单 select 的整行宽度。 */
#appShell[data-design-view="v-a-logs"] .content{max-width:none}
#appShell #v-a-logs>.page-h{margin:0 0 16px}
#appShell #v-a-logs>.page-h h2{display:none}
#appShell #v-a-logs>.page-h p{margin:0;font-size:13px;color:var(--ink-2)}
#appShell .call-log-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 18px}
#appShell .call-log-filters>select{flex:1 1 calc((100% - 40px)/5);width:0;min-width:0;height:36px;font-size:13px;padding-left:10px}
#appShell .call-log-filters>input{height:36px;min-width:0;font-size:13px;border-radius:8px}
#appShell .call-log-filters #logToken{flex:0 1 150px;width:150px}
#appShell .call-log-filters input[type=date]{flex:0 1 140px;width:140px}
#appShell .call-log-filters #logReqId{flex:1 1 190px;width:190px}
#appShell .call-log-filters>.btn{flex:0 0 auto;min-height:36px;margin:0;padding:7px 14px;white-space:nowrap}
#appShell .call-log-filters #logCount{flex:1 0 100%;margin:0;font-size:12px;white-space:normal}
#appShell .call-log-table td.log-time{display:table-cell;vertical-align:middle}
#appShell .call-log-table td.log-time>span,#appShell .call-log-table td.log-time>small{display:block}
#appShell .call-log-table .log-request-id{font-size:12px}
#appShell .call-log-table th:last-child,#appShell .call-log-table td:last-child{position:sticky;right:0;background:var(--surface);z-index:1;box-shadow:-1px 0 0 var(--line-soft)}
#appShell .call-log-table th:last-child{z-index:3}
#appShell .call-log-table .badge{font-size:12px;line-height:1.5;white-space:normal;padding:4px 9px}
#appShell #callLogHScroll{height:14px;padding:0;margin:0;border:0;border-radius:0;background:var(--surface-2)}
#appShell #callLogHScroll::-webkit-slider-runnable-track{height:14px;background:var(--surface-2)}
#appShell #callLogHScroll::-webkit-slider-thumb{width:var(--scroll-thumb);height:10px;margin-top:2px;border:2px solid var(--surface-2);border-radius:999px;background:var(--ink-3);box-shadow:none;transform:none}
#appShell #callLogHScroll::-moz-range-track{height:14px;background:var(--surface-2)}
#appShell #callLogHScroll::-moz-range-thumb{width:var(--scroll-thumb);height:8px;border:2px solid var(--surface-2);border-radius:999px;background:var(--ink-3);box-shadow:none}
@media(max-width:1100px){#appShell .call-log-filters>select{flex-basis:calc((100% - 20px)/3)}}
@media(max-width:650px){
  #appShell .call-log-filters{padding:14px;gap:8px}
  #appShell .call-log-filters>select{flex-basis:calc((100% - 8px)/2)}
  #appShell .call-log-filters #logToken,#appShell .call-log-filters input[type=date]{flex:1 1 calc((100% - 8px)/2);width:0}
  #appShell .call-log-filters #logReqId{flex-basis:100%;width:100%}
  #appShell .call-log-filters>.btn{padding:7px 10px}
}

/* Authentication: compact forms and an integrated SMS action at every width. */
#loginShell .auth-wrap{min-height:100dvh;padding:48px 20px;background:#f6f8fc}
#loginShell .auth-wrap::before{background:radial-gradient(ellipse at 50% 0,rgba(0,113,227,.07),transparent 60%)}
#loginShell .auth-shell{width:100%;max-width:480px}
#loginShell .auth-brand{margin-bottom:24px}
#loginShell .auth-card{padding:36px 40px;border:1px solid #e7ebf1;border-radius:24px;box-shadow:0 16px 48px rgba(30,55,90,.06)}
#loginShell .auth-welcome{text-align:center;margin-bottom:28px}
#loginShell .auth-welcome h1{margin:0;font-size:28px;font-weight:650;letter-spacing:-.04em;line-height:1.35;color:#182233}
#loginShell .auth-welcome p{margin:10px 0 0;font-size:14px;line-height:1.6;color:#788293}
#loginShell .auth-tabs{margin:0 0 22px;padding:4px;gap:4px;border-radius:12px;background:#f2f4f8;border:0}
#loginShell .auth-tabs button{min-width:0;height:40px;padding:0 8px;border-radius:9px;font-size:14px;white-space:nowrap}
#loginShell .auth-tabs button.on{color:#0065cd;background:white;box-shadow:0 2px 6px rgba(25,48,82,.07)}
#loginShell .auth-pane{max-width:none;margin:0}
#loginShell #authPersonal>.auth-title,#loginShell #authLogin>.auth-title{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#loginShell .auth-sub{font-size:13px;line-height:1.7;text-align:left;margin:0 0 20px;color:#788293}
#loginShell form{margin-top:0}
#loginShell .field{margin-top:16px}
#loginShell .field .input{height:56px;font-size:16px;padding:24px 16px 8px;border:1px solid #dfe4ec;border-radius:12px;background:#fff;box-shadow:none}
#loginShell .field .input:focus{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.1)}
#loginShell .field>label{top:17px;font-size:14px;color:#788293}
#loginShell .field.has-sms .input{padding-right:132px}
#loginShell .sms-btn{position:absolute;right:8px;top:10px;width:120px;height:36px;margin:0;padding:0 8px;border:0;border-left:1px solid #e7ebf1;border-radius:0;background:transparent;color:#0071e3;font:inherit;font-size:13px;font-weight:550;white-space:nowrap;cursor:pointer}
#loginShell .sms-btn:hover:not(:disabled){color:#0055ad;background:#f4f8ff;border-radius:0 6px 6px 0}
#loginShell .sms-btn:disabled{color:#8993a3;cursor:default}
#loginShell .sms-code-status{display:block;margin:8px 0 0 2px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#loginShell .agreement{display:flex;align-items:flex-start;gap:8px;margin-top:22px;font-size:12px;line-height:1.8;color:#788293}
#loginShell .agreement input{flex:0 0 15px;width:15px;height:15px;min-height:0;margin:3px 0 0;accent-color:#0071e3}
#loginShell .agreement a{color:#0065cd;text-decoration:none;margin:0 3px}
#loginShell .btn-apple{height:50px;margin-top:22px;border-radius:12px;font-size:15px;font-weight:600;box-shadow:0 5px 12px rgba(0,113,227,.12)}
#loginShell .auth-recovery{margin:20px 0 0;font-size:12px;line-height:1.9;text-align:center;color:#788293}
#loginShell .auth-recovery .btn{display:inline;padding:0 2px;min-height:0;height:auto;border:0;border-radius:0;font-size:inherit;color:#0065cd;background:transparent}
#loginShell .auth-trust{margin-top:24px;font-size:12px;color:#8993a3}
#loginShell .auth-foot{margin-top:12px}
#loginShell button:focus-visible,#loginShell a:focus-visible{outline:3px solid rgba(0,113,227,.45);outline-offset:3px}
@media(max-width:560px){
 #loginShell .auth-wrap{padding:28px 16px;align-items:flex-start}
 #loginShell .auth-brand{margin-bottom:22px}
 #loginShell .auth-card{padding:28px 22px;border-radius:20px}
 #loginShell .auth-welcome{margin-bottom:24px}
 #loginShell .auth-welcome h1{font-size:25px}
 #loginShell .auth-trust{line-height:1.7}
}
@media(prefers-reduced-motion:reduce){#loginShell .auth-card{animation:none}}

/* The desktop introduction and the form share one reading line. */
#loginShell .auth-shell{max-width:1060px;display:grid;grid-template-columns:minmax(0,1fr) 440px;column-gap:88px;align-items:start}
#loginShell .auth-brand{grid-column:1/-1;justify-content:flex-start;margin-bottom:46px;width:fit-content}
#loginShell .auth-story{grid-column:1;grid-row:2;padding:38px 0 0;min-width:0}
#loginShell .auth-kicker{font-size:11px;letter-spacing:.15em;font-weight:600;color:#627187}
#loginShell .auth-story h2{margin:22px 0;font-size:42px;font-weight:600;line-height:1.4;letter-spacing:-.055em;color:#15233b}
#loginShell .auth-story h2 em{font-style:normal;color:#0071e3}
#loginShell .auth-story>p{margin:0;color:#7b8798;font-size:15px;line-height:1.9}
#loginShell .auth-card{grid-column:2;grid-row:2;padding:34px 32px}
#loginShell .auth-welcome{text-align:left;margin-bottom:28px}
#loginShell .auth-welcome h1{font-size:27px}
#loginShell .auth-route-art{display:flex;align-items:center;margin-top:52px;width:100%;height:132px}
#loginShell .auth-route-source{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}
#loginShell .auth-route-source>span{width:34px;height:34px;display:grid;place-items:center;background:#e8edf5;border:1px solid #dce3ee;border-radius:10px;font-size:23px;color:#586b87;margin-bottom:3px}
#loginShell .auth-route-source b{font-size:13px;color:#33445e;font-weight:550}
#loginShell .auth-route-source small{font-size:10px;color:#8590a2}
#loginShell .auth-route-line{height:1px;flex:1;min-width:16px;background:#c9d7ea;margin:0 12px;position:relative}
#loginShell .auth-route-line i{position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#0071e3}
#loginShell .auth-route-hub{width:74px;height:82px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;flex-shrink:0;border:1px solid #c8dff8;border-radius:20px;background:#fff;box-shadow:0 6px 24px rgba(0,113,227,.08)}
#loginShell .auth-route-hub img{width:28px;height:28px}
#loginShell .auth-route-hub b{font-size:12px;font-weight:600;color:#0065cd}
#loginShell .auth-route-branches{height:102px;flex:1;min-width:20px;position:relative;margin-right:8px}
#loginShell .auth-route-branches:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#c9d7ea}
#loginShell .auth-route-branches i:first-child{position:absolute;left:50%;right:0;top:8px;height:43px;border-top:1px solid #c9d7ea;border-left:1px solid #c9d7ea;border-radius:8px 0 0 0}
#loginShell .auth-route-branches i:last-child{position:absolute;left:50%;right:0;bottom:8px;height:43px;border-bottom:1px solid #c9d7ea;border-left:1px solid #c9d7ea;border-radius:0 0 0 8px}
#loginShell .auth-route-models{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
#loginShell .auth-route-models span{display:block;width:88px;padding:7px 0;text-align:center;font-size:11px;color:#65758d;border:1px solid #e0e6ef;border-radius:8px;background:rgba(255,255,255,.65)}
#loginShell .auth-story-note{display:flex;justify-content:space-between;gap:8px;margin-top:34px;padding-top:18px;border-top:1px solid #e0e6ef;font-size:10px;letter-spacing:.08em;color:#8592a5}
#loginShell .auth-trust,#loginShell .auth-foot{grid-column:2}
#loginShell .auth-trust{margin-top:22px}
#loginShell .btn-apple{display:flex;align-items:center;justify-content:center;gap:12px}
#loginShell .form-error{font-size:12px;line-height:1.6;margin:10px 0 0}
@media(max-width:960px){
 #loginShell .auth-shell{column-gap:40px;grid-template-columns:minmax(0,1fr) 410px}
 #loginShell .auth-story h2{font-size:34px}
 #loginShell .auth-story{padding-top:42px}
 #loginShell .auth-route-source small{max-width:56px;line-height:1.6}
}
@media(max-width:760px){
 #loginShell .auth-shell{display:block;max-width:460px}
 #loginShell .auth-brand{margin:0 0 28px}
 #loginShell .auth-story{display:none}
 #loginShell .auth-card{padding:30px 26px}
 #loginShell .auth-wrap{padding:32px 18px;align-items:flex-start}
 #loginShell .auth-welcome h1{font-size:25px}
}
@media(max-width:360px){#loginShell .auth-card{padding:26px 18px}#loginShell .auth-wrap{padding:24px 12px}}

#loginShell.auth-page{padding:0}
@media(min-width:761px){#loginShell .auth-wrap{padding:32px 28px}#loginShell .auth-brand{margin-bottom:32px}}
#loginShell .field:has(textarea)>label{position:static;display:block;margin:0 0 8px;transform:none;font-size:13px}
#loginShell .field textarea{width:100%;padding:12px 14px;border:1px solid #dfe4ec;border-radius:12px;resize:vertical;font:inherit;font-size:14px;line-height:1.6}
#loginShell .auth-welcome p,#loginShell .auth-sub,#loginShell .field>label,#loginShell .agreement,#loginShell .auth-recovery{color:#657287}

/* Account settings: progressive profile editing and consistent security forms. */
:is(#v-account,#mdl-account-profile) .modal,#mdl-pwd .modal{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border:1px solid #e4e9f1;border-radius:24px;box-shadow:0 24px 80px rgba(25,42,70,.18);overflow:auto;background:#fff}
:is(#v-account,#mdl-account-profile) .modal-h,#mdl-pwd .modal-h{padding:24px 28px 18px;border-bottom:1px solid #edf0f5;align-items:flex-start;background:white;position:sticky;top:0;z-index:2}
:is(#v-account,#mdl-account-profile) .modal-h h3,#mdl-pwd .modal-h h3{font-size:21px;font-weight:650;letter-spacing:-.03em}
:is(#v-account,#mdl-account-profile) .modal-subline,#mdl-pwd .modal-subline{font-size:12px;margin-top:6px;color:#758196}
:is(#v-account,#mdl-account-profile) .modal-x,#mdl-pwd .modal-x{width:32px;height:32px;border-radius:9px;background:#f3f5f9;font-size:22px;color:#758196;display:grid;place-items:center;flex:none}
:is(#v-account,#mdl-account-profile) .account-center-body{padding:24px 28px;gap:26px}
:is(#v-account,#mdl-account-profile) .account-center-profile{padding:20px;border:1px solid #e0eafb;border-radius:16px;background:linear-gradient(110deg,#edf4ff,#f8fbff);gap:14px}
:is(#v-account,#mdl-account-profile) .account-center-profile>i{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#0071e3,#46a3ed);font-size:23px}
:is(#v-account,#mdl-account-profile) .account-center-profile h4{font-size:20px;font-weight:650;line-height:1.5;margin:0;overflow-wrap:anywhere}
:is(#v-account,#mdl-account-profile) .account-center-profile p{font-size:12px;margin:4px 0 0;color:#536e94}
:is(#v-account,#mdl-account-profile) .account-profile-mark{align-self:flex-start;white-space:nowrap;font-size:8px;letter-spacing:.1em;color:#8196b6}
:is(#v-account,#mdl-account-profile) .account-section>h4{margin:0 0 6px;font-size:11px;color:#7c8798;letter-spacing:.06em;font-weight:550}
:is(#v-account,#mdl-account-profile) .account-setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #edf0f5}
:is(#v-account,#mdl-account-profile) .account-setting-row:last-child{border-bottom:0;padding-bottom:0}
:is(#v-account,#mdl-account-profile) .account-setting-row>div{min-width:0;flex:1}
:is(#v-account,#mdl-account-profile) .account-setting-row b{font-size:14px;font-weight:550;color:#26364e}
:is(#v-account,#mdl-account-profile) .account-setting-row p{font-size:12px;line-height:1.7;color:#68768c;margin:5px 0 0;overflow-wrap:anywhere}
:is(#v-account,#mdl-account-profile) .account-setting-row .btn{flex:none;min-height:36px;padding:7px 13px;border:1px solid #dfe5ef;border-radius:9px;font-size:12px;color:#0868ca;background:white;white-space:nowrap}
:is(#v-account,#mdl-account-profile) .account-status{font-size:11px;padding:4px 8px;border-radius:6px;background:#edf7f2;color:#338163;white-space:nowrap;flex:none}
:is(#v-account,#mdl-account-profile) .account-status.pending{background:#f3f5f8;color:#7c8798}
:is(#v-account,#mdl-account-profile) .account-center-facts{display:block;margin:0;border:0;border-radius:0;overflow:visible}
:is(#v-account,#mdl-account-profile) .account-center-facts>div{display:flex;gap:20px;justify-content:space-between;padding:12px 0;border:0;border-bottom:1px solid #edf0f5}
:is(#v-account,#mdl-account-profile) .account-center-facts dt{font-size:12px;color:#7c8798;flex:none}
:is(#v-account,#mdl-account-profile) .account-center-facts dd{font-size:12px;line-height:1.7;margin:0;white-space:normal;overflow-wrap:anywhere;text-align:right;color:#44536a}
:is(#v-account,#mdl-account-profile) .account-center-note{margin:12px 0 0;padding:0;background:none;font-size:11px;line-height:1.7;color:#7c8798}
:is(#v-account,#mdl-account-profile) #accountProfileForm{padding:16px;margin:8px 0;background:#f6f8fc;border:1px solid #e7edf5;border-radius:12px}
:is(#v-account,#mdl-account-profile) #accountProfileForm>label{display:block;font-size:12px;margin-bottom:8px;color:#52627b}
:is(#v-account,#mdl-account-profile) .account-nickname-input{position:relative}
:is(#v-account,#mdl-account-profile) #accountNickname{width:100%;height:44px;padding:10px 70px 10px 12px;font-size:15px;border:1px solid #dce3ef;border-radius:9px;background:white}
:is(#v-account,#mdl-account-profile) #accountNicknameCount{position:absolute;right:12px;top:15px;font-size:10px;color:#7c8798;pointer-events:none}
:is(#v-account,#mdl-account-profile) #accountNicknameHelp{margin:8px 0 0;font-size:11px;line-height:1.7;color:#758196}
:is(#v-account,#mdl-account-profile) .account-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
:is(#v-account,#mdl-account-profile) .account-edit-actions .btn{min-height:36px;border-radius:8px;font-size:12px}
:is(#v-account,#mdl-account-profile) .account-center-actions,#mdl-pwd .modal-f{padding:16px 28px;display:flex;flex-direction:row;justify-content:space-between;gap:12px;background:#fafbfd;border-top:1px solid #edf0f5;position:sticky;bottom:0;z-index:2}
:is(#v-account,#mdl-account-profile) .account-center-actions .btn{border:0;background:transparent;font-size:12px;min-height:36px;padding:6px 0}
:is(#v-account,#mdl-account-profile) .account-center-home{color:#68768c}
:is(#v-account,#mdl-account-profile) .account-logout{color:#b24747}
:is(#v-account,#mdl-account-profile) button:focus-visible,#mdl-pwd button:focus-visible{outline:3px solid #aacffa;outline-offset:2px}
:is(#v-account,#mdl-account-profile) input:focus,#mdl-pwd input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.1)}
#mdl-pwd .modal{width:min(480px,calc(100vw - 32px))}
#mdl-pwd .modal-b{padding:24px 28px}
#mdl-pwd .field{margin-bottom:18px}
#mdl-pwd .field>label{position:static;display:block;transform:none;font-size:12px;margin-bottom:8px;color:#52627b}
#mdl-pwd input{width:100%;height:46px;font-size:15px;padding:10px 12px;border:1px solid #dce3ef;border-radius:10px;background:#fff}
#mdl-pwd .account-password-input,#mdl-pwd .account-sms-input{position:relative}
#mdl-pwd .account-password-input input{padding-right:62px}
#mdl-pwd .account-sms-input input{padding-right:124px}
#mdl-pwd .account-password-input button,#mdl-pwd .account-sms-input button{position:absolute;top:6px;right:6px;height:34px;padding:0 10px;font-size:12px;border:0;border-radius:7px;background:#f5f8fc;color:#0868ca;white-space:nowrap}
#mdl-pwd .account-sms-input button{width:112px;background:transparent;border-left:1px solid #e5eaf2;border-radius:0}
#mdl-pwd #pwdSmsHint{display:block;font-size:11px;line-height:1.7;margin-top:8px}
#mdl-pwd #pwdSetupHint{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#f0f6ff;color:#526e94;font-size:12px;line-height:1.8}
#mdl-pwd .modal-f .btn{height:40px;border-radius:9px;font-size:12px}
#mdl-pwd .modal-f .btn-primary{min-width:100px}
@media(max-width:520px){
 :is(#v-account,#mdl-account-profile) .modal,#mdl-pwd .modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
 :is(#v-account,#mdl-account-profile) .modal-h,#mdl-pwd .modal-h{padding:20px 20px 16px}
 :is(#v-account,#mdl-account-profile) .account-center-body,#mdl-pwd .modal-b{padding:20px}
 :is(#v-account,#mdl-account-profile) .account-center-profile{padding:16px}
 :is(#v-account,#mdl-account-profile) .account-profile-mark{display:none}
 :is(#v-account,#mdl-account-profile) .account-center-profile h4{font-size:18px}
 :is(#v-account,#mdl-account-profile) .account-center-actions,#mdl-pwd .modal-f{padding:14px 20px}
 :is(#v-account,#mdl-account-profile) .account-setting-row{gap:12px}
}

:is(#v-account,#mdl-account-profile) .account-center-body{padding-top:20px;padding-bottom:20px;gap:20px}
:is(#v-account,#mdl-account-profile) .account-center-profile{padding:16px 18px}
:is(#v-account,#mdl-account-profile) .account-row-title{display:flex;gap:10px;align-items:center}
:is(#v-account,#mdl-account-profile) #accountPasswordHint{font-size:11px;color:#758196}
@media(max-width:860px){#appShell .app-side .app-user{display:flex;width:100%;align-items:center;gap:10px;padding:4px 8px 16px}}
@media(max-width:860px){#appShell.on{display:block}#appShell .app-side{position:fixed;left:0;top:0;width:248px;z-index:70;height:100dvh;overflow-y:auto;transform:translateX(-100%)}#appShell .app-side.open{transform:translateX(0)}#appShell .side-scrim.on{display:block;position:fixed;inset:0;z-index:65}}

:is(#v-account,#mdl-account-profile) .account-id-row{padding:12px 0}
:is(#v-account,#mdl-account-profile) .account-id-row>div{display:flex;align-items:center;gap:14px}
:is(#v-account,#mdl-account-profile) .account-id-row p{margin:0;font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.03em;color:#52627b}
:is(#v-account,#mdl-account-profile) .account-center-body{gap:16px}
:is(#v-account,#mdl-account-profile) .modal{width:min(740px,calc(100vw - 32px))}
:is(#v-account,#mdl-account-profile) .account-tabs{display:flex;gap:6px;padding:4px;background:#f2f5f9;border-radius:10px}
:is(#v-account,#mdl-account-profile) .account-tabs button{flex:1;padding:9px 12px;border:0;background:none;border-radius:7px;color:#65758b;font-size:13px}
:is(#v-account,#mdl-account-profile) .account-tabs button.on{background:#fff;color:#0868ca;box-shadow:0 1px 5px #182c4910}
:is(#v-account,#mdl-account-profile) #accountOverview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
:is(#v-account,#mdl-account-profile) .account-cert-intro{font-size:12px;line-height:1.8;margin:0 0 16px;color:#68768c}
:is(#v-account,#mdl-account-profile) .account-cert-card{padding:18px;border:1px solid #e5eaf2;border-radius:14px;margin-bottom:14px}
:is(#v-account,#mdl-account-profile) .account-cert-heading{display:flex;align-items:center;gap:12px}
:is(#v-account,#mdl-account-profile) .account-cert-heading>div{flex:1;min-width:0}
:is(#v-account,#mdl-account-profile) .account-cert-heading h4{font-size:14px;font-weight:600;margin:0}
:is(#v-account,#mdl-account-profile) .account-cert-heading p,:is(#v-account,#mdl-account-profile) .account-cert-card>p{font-size:12px;line-height:1.8;color:#68768c;margin:6px 0 0;overflow-wrap:anywhere}
:is(#v-account,#mdl-account-profile) .account-cert-icon{display:grid;place-items:center;width:38px;height:38px;background:#edf4ff;color:#2675cb;border-radius:11px;font-size:16px;flex:none}
:is(#v-account,#mdl-account-profile) .account-cert-card>.btn{margin-top:14px;font-size:12px;border-radius:8px;min-height:36px}
:is(#v-account,#mdl-account-profile) .account-cert-loading{font-size:12px;color:#68768c;padding:18px 0}
:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm){border:1px solid #e5eaf2;padding:18px;border-radius:14px;background:#f8fafd}
:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm) .field{margin-bottom:14px}
:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm) label{display:block;font-size:12px;color:#52627b;margin-bottom:8px}
:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm) input:not([type=checkbox]),:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm) textarea{width:100%;border:1px solid #dce3ef;border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;background:white}
:is(#v-account,#mdl-account-profile) :is(#accountBusinessForm,#accountPersonalForm) .account-cert-consent{display:flex;align-items:flex-start;gap:8px;line-height:1.8}
:is(#v-account,#mdl-account-profile) .account-cert-consent input{width:15px;height:15px;flex:none;margin-top:3px;accent-color:#0071e3}
@media(max-width:600px){:is(#v-account,#mdl-account-profile) .modal{width:calc(100vw - 24px)}:is(#v-account,#mdl-account-profile) #accountOverview{grid-template-columns:1fr;gap:20px}}

/* Personal identity verification uses the same compact inline SMS control as account security. */
:is(#v-account,#mdl-account-profile) #personalSmsField .account-sms-input{position:relative}
:is(#v-account,#mdl-account-profile) #personalSmsField .account-sms-input input{padding-right:124px}
:is(#v-account,#mdl-account-profile) #personalSmsBtn{position:absolute;right:6px;top:6px;height:32px;width:112px;padding:0 8px;border:0;border-left:1px solid #e5eaf2;border-radius:0;background:transparent;color:#0868ca;font-size:12px;white-space:nowrap}
:is(#v-account,#mdl-account-profile) #personalSmsHint{font-size:12px;color:#68768c;margin:8px 0 0}

/* Dedicated account pages: reuse console navigation, with focused settings and certification forms. */
#v-account{max-width:1120px;margin:0 auto;padding:4px 0 36px}
#v-account .account-page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}
#v-account .account-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:#7890ab;margin-bottom:9px}
#v-account .account-page-heading h2{display:block!important;font-size:30px;line-height:1.25;letter-spacing:-.04em;font-weight:650;margin:0;color:#1d2c40}
#v-account .account-page-heading p{font-size:13px;color:#748196;line-height:1.7;margin:10px 0 0}
#v-account .account-page-heading>.btn{font-size:12px;min-height:38px;padding:8px 14px;border:1px solid #dfe5ee;background:#fff;border-radius:10px;white-space:nowrap}
#v-account .account-center-body{display:flex;flex-direction:column;padding:0;gap:24px}
#v-account .account-center-profile{display:flex;align-items:center;padding:24px 28px;border:1px solid #dfe9f6;border-radius:18px;background:linear-gradient(110deg,#edf5ff 0%,#f7faff 65%,#fff 100%);gap:16px}
#v-account .account-center-profile>i{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:16px;font-style:normal;color:#fff}
#v-account .account-center-profile>div{min-width:0;flex:1}
#v-account .account-profile-mark{align-self:center;font-size:10px;letter-spacing:.14em}
#v-account .account-tabs{align-self:flex-start;gap:28px;padding:0;background:none;border-radius:0;border-bottom:1px solid #dfe5ee;width:100%}
#v-account .account-tabs button{flex:none;padding:0 2px 14px;border-radius:0;border-bottom:2px solid transparent;font-size:14px;font-weight:550}
#v-account .account-tabs button.on{background:none;box-shadow:none;border-bottom-color:#0071e3}
#v-account #accountOverview{gap:20px;grid-template-columns:1fr 1fr}
#v-account .account-section{padding:26px 28px;background:#fff;border:1px solid #e5eaf1;border-radius:16px;box-shadow:0 3px 12px #182c4903}
#v-account .account-section>h4{font-size:16px;letter-spacing:0;color:#26364e;font-weight:600;margin:0}
#v-account .account-section-caption{font-size:12px;color:#8490a0;margin:8px 0 14px;line-height:1.7}
#v-account .account-setting-row{padding:20px 0;min-height:84px}
#v-account .account-setting-row p{font-size:14px;color:#52627b}
#v-account .account-setting-row b{font-size:12px;color:#8490a0}
#v-account .account-id-row>div{display:block}
#v-account .account-id-row p{margin-top:8px;font-size:16px;color:#26364e}
#v-account .account-setting-row:last-child{padding-bottom:10px}
#v-account .account-status{font-weight:500;border-radius:6px;line-height:1.5}
#v-account .account-status[data-state=failed],#v-account .account-status[data-state=rejected]{color:#b5473f;background:#fff0ee}
#v-account .account-status[data-state=checking],#v-account .account-status[data-state=pending],#v-account .account-status[data-state=error]{color:#9a6a1c;background:#fff6e5}
#v-account .account-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#v-account .account-cert-card{display:flex;flex-direction:column;margin:0;padding:28px;background:#fff;border-radius:16px;min-height:240px;box-shadow:0 3px 12px #182c4903}
#v-account .account-cert-heading{align-items:flex-start;gap:12px;margin-bottom:12px}
#v-account .account-cert-heading h4{font-size:17px;line-height:1.5}
#v-account .account-cert-card>p{margin:0 0 20px;line-height:1.9}
#v-account .account-cert-card>.btn{align-self:flex-start;margin-top:auto;font-size:13px;min-height:38px;padding:8px 16px}
#v-account .account-cert-icon{width:42px;height:42px;border-radius:12px;font-size:16px;font-weight:600}
#v-account .account-back-link{display:inline-flex;align-items:center;border:0;background:none;color:#586c86;padding:0;margin:0 0 18px;font-size:13px;cursor:pointer}
#v-account .account-cert-loading{background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:24px}
#v-account #accountCertRetry{margin-top:12px}
#v-account :is(#accountBusinessForm,#accountPersonalForm){max-width:760px;margin:0 auto;padding:28px 36px;background:#fff;border-radius:16px}
#v-account .account-form-heading{display:flex;align-items:center;gap:14px;margin-bottom:28px}
#v-account .account-form-heading h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 5px;color:#26364e}
#v-account .account-form-heading p{font-size:12px;margin:0;line-height:1.8;color:#758196}
#v-account .account-form-section-label{font-size:13px;font-weight:600;color:#32455f;margin:24px 0 18px;padding-bottom:12px;border-bottom:1px solid #edf0f5}
#v-account :is(#accountBusinessForm,#accountPersonalForm) .field{margin-bottom:22px}
#v-account :is(#accountBusinessForm,#accountPersonalForm) label{font-size:13px;line-height:1.6;margin-bottom:9px}
#v-account :is(#accountBusinessForm,#accountPersonalForm) input:not([type=checkbox]){height:46px}
#v-account :is(#accountBusinessForm,#accountPersonalForm) textarea{resize:vertical;min-height:100px}
#v-account .account-cert-consent{font-size:12px!important;color:#758196!important;margin:18px 0!important}
#v-account .account-cert-consent input{margin-top:3px}
#v-account #personalSmsBtn{top:7px;height:32px}
#v-account .account-edit-actions{border-top:1px solid #edf0f5;padding-top:20px;gap:10px;margin-top:24px}
#v-account .account-edit-actions .btn{font-size:13px;padding:10px 20px;min-height:40px}
#v-account .account-center-actions{position:static;padding:24px 0 0;margin-top:28px;background:transparent;border-top:1px solid #e0e6ee;display:flex;justify-content:space-between}
#mdl-account-profile .modal{width:min(460px,calc(100vw - 32px))}
#mdl-account-profile #accountProfileForm{padding:0;margin:0;background:none;border:0}
#mdl-account-profile .modal-b{padding:24px 28px}
@media(max-width:900px){
 #v-account #accountOverview{grid-template-columns:1fr}
 #v-account .account-cert-heading{flex-wrap:wrap}
 #v-account .account-cert-heading .account-status{margin-left:54px}
}
@media(max-width:600px){
 #v-account{padding-top:0}
 #v-account .account-page-heading{gap:12px;align-items:flex-start;margin-bottom:20px}
 #v-account .account-page-heading h2{font-size:25px}
 #v-account .account-page-heading>.btn{font-size:11px;padding:7px 9px;min-height:34px}
 #v-account .account-page-heading p{font-size:12px}
 #v-account .account-center-profile{padding:20px}
 #v-account .account-center-body{gap:20px}
 #v-account .account-section{padding:20px}
 #v-account .account-cert-grid{grid-template-columns:1fr;gap:16px}
 #v-account .account-cert-card{min-height:210px;padding:22px}
 #v-account .account-cert-heading{flex-wrap:nowrap}
 #v-account .account-cert-heading .account-status{margin-left:0}
 #v-account .account-cert-heading h4{font-size:16px}
 #v-account :is(#accountBusinessForm,#accountPersonalForm){padding:22px 18px}
 #v-account .account-form-heading h3{font-size:18px}
 #v-account .account-setting-row{gap:12px}
 #v-account .account-row-title{flex-wrap:wrap;gap:6px}
 #v-account .account-center-actions{padding-top:16px}
 #mdl-account-profile .modal-b{padding:20px}
}

#accountCenterTitle:focus{outline:none}
body.account-view #appShell .topbar [data-member-topbar],body.account-view #appShell .topbar .design-member-actions,body.account-view #appShell #tbDeptBadge{display:none!important}
#appShell #accountEntry[aria-current=page]{background:#eaf2fc;border-radius:14px}

#v-account:is([data-panel=personal],[data-panel=business]) .account-center-profile{display:none}
#v-account:is([data-panel=personal],[data-panel=business]) .account-center-actions{display:none}

#v-account .account-cert-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
#v-account #accountCertRefresh{flex:none;padding:6px 10px;font-size:12px;margin-bottom:16px}

/* Wallet and top-up: one amount input, one clear payment summary. */
#v-topup{max-width:1180px;margin:0 auto;padding-bottom:32px}
#v-topup .topup-wallet{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;align-items:center;padding:30px 34px;margin:20px 0 28px;border:1px solid #dfe9f7;border-radius:20px;background:linear-gradient(115deg,#eaf3ff,#f7faff 65%,#fff)}
#v-topup .topup-wallet .k{color:#6f829c;font-size:12px;font-weight:500}
#v-topup .topup-wallet .v{font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:27px;font-weight:600;color:#213c5f;line-height:1.4;margin:8px 0}
#v-topup .topup-wallet-total .v{font-size:40px;color:#086ad1}
#v-topup .topup-wallet .d{font-size:11px;line-height:1.6;color:#8290a4}
#v-topup .topup-wallet-detail{border-left:1px solid #dce6f4;padding-left:30px}
#v-topup .topup-wallet-detail .k{display:flex;align-items:center;gap:7px}
#v-topup .topup-wallet-detail i{width:6px;height:6px;background:#5a9de8;border-radius:50%}
#v-topup .topup-wallet-detail:last-child i{background:#63b498}
#v-topup .topup-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:24px;align-items:start}
#v-topup .card{border:1px solid #e4e9f1;box-shadow:0 3px 12px #20324c04;border-radius:18px;background:#fff;margin:0}
#v-topup .topup-amount-panel,#v-topup .topup-summary{padding:28px}
#v-topup .topup-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
#v-topup .topup-section-head>div{display:flex;gap:10px;align-items:center}
#v-topup .topup-section-head h3{font-size:17px;font-weight:600;color:#26364e;margin:0;letter-spacing:-.02em}
#v-topup .topup-section-head>p{margin:0;font-size:11px;color:#91a0b2}
#v-topup .topup-step{font-size:10px;font-weight:600;letter-spacing:.06em;color:#8b9db5;border:1px solid #e7edf5;border-radius:6px;padding:4px 6px}
#v-topup #tpTiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#v-topup #tpTiers .tier-btn{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:20px 16px;min-width:0;min-height:108px;border:1px solid #e2e8f1;border-radius:12px;background:#fff;box-shadow:none;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
#v-topup #tpTiers .tier-btn:hover:not(:disabled){border-color:#92bced;background:#f9fbff}
#v-topup #tpTiers .tier-btn.newcomer-tier{border-color:#b9dfcf;background:#f5fbf8}
#v-topup #tpTiers .tier-btn.newcomer-tier:hover:not(:disabled),#v-topup #tpTiers .tier-btn.newcomer-tier.on{border-color:#399c75;background:#edf8f3}
#v-topup #tpTiers .tier-btn.on{border-color:#2682e4;background:#f0f6ff;box-shadow:inset 0 0 0 .5px #2682e4}
#v-topup #tpTiers .tier-btn:disabled{cursor:default;opacity:.65}
#v-topup #tpTiers .tier-btn.on:disabled{opacity:1}
#v-topup .topup-tier-amount{line-height:1.2;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#24354d;white-space:nowrap}
#v-topup .topup-tier-amount small{font-size:13px;font-weight:500;margin-right:4px;color:#71849d}
#v-topup .topup-tier-custom{font-size:16px;color:#344961;font-weight:550}
#v-topup .topup-tier-gift{font-size:11px;color:#94a0af;line-height:1.5}
#v-topup .topup-tier-gift.has-gift{color:#309271}
#v-topup .topup-tier-check{position:absolute;top:7px;right:9px;color:#247dda;font-size:11px;visibility:hidden}
#v-topup .tier-btn.on .topup-tier-check{visibility:visible}
#v-topup #tpCustomArea{margin-top:24px}
#v-topup #tpCustomArea>label{font-size:12px;color:#63758d;display:block;margin-bottom:10px}
#v-topup .custom-topup-input{display:flex;align-items:center;gap:12px;padding:0 16px;background:#f8fafd;border:1px solid #e0e7f0;border-radius:10px;max-width:360px;transition:border-color .15s}
#v-topup .custom-topup-input:focus-within{border-color:#2682e4;background:#fff;box-shadow:0 0 0 2px #2682e412}
#v-topup .custom-topup-input>span{font-size:20px;color:#73839a}
#v-topup .custom-topup-input #tpCustomAmount{height:54px;flex:1;width:100%;min-width:0;padding:10px 0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;outline:none!important;font-family:inherit;font-size:23px;font-weight:550;color:#26364e}
#v-topup #tpCustomAmount::placeholder{color:#a0adbd;font-size:16px;font-weight:400}
#v-topup #tpCustomHint{font-size:11px;line-height:1.7;color:#8b99ab;margin:9px 0 0}
#v-topup #tpCustomHint.invalid{color:#bc4b41}
#v-topup .topup-amount-note{display:flex;gap:9px;margin-top:22px;color:#7b8ba0}
#v-topup .topup-amount-note>span{display:grid;place-items:center;background:#ecf7f1;border-radius:50%;color:#399c75;width:18px;height:18px;flex:none;font-size:13px}
#v-topup .topup-amount-note p{font-size:11px;line-height:1.8;margin:0}
#v-topup #tpMemberNote{border-top:1px solid #edf1f6;margin-top:24px;padding-top:18px}
#v-topup #tpQuotaHint{font-size:11px;line-height:1.8;color:#8b98a9;margin:0 0 6px}
#v-topup .topup-text-action{font-size:11px;color:#527cae;background:none;border:0;padding:0;cursor:pointer}
#v-topup .topup-summary{position:sticky;top:24px}
#v-topup .topup-breakdown{margin:0}
#v-topup .topup-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0}
#v-topup .topup-breakdown dt{font-size:12px;color:#8592a5}
#v-topup .topup-breakdown dd{margin:0;font-size:15px;font-weight:500;color:#334760;font-variant-numeric:tabular-nums}
#v-topup #tpSummaryBonus{font-size:13px;color:#329574}
#v-topup .topup-credit-total{border-top:1px dashed #e1e7f0;padding-top:20px;margin-top:22px!important}
#v-topup .topup-credit-total dt{color:#4c617c}
#v-topup #tpSummaryTotal{font-size:28px;color:#096ed5;font-weight:600;letter-spacing:-.03em}
#v-topup .topup-payment-method{display:flex;align-items:center;gap:10px;border:1px solid #e5ebf3;border-radius:10px;padding:12px;margin:24px 0 16px;background:#fbfcfe}
#v-topup .topup-payment-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf3ff;color:#2883df;font-size:16px;flex:none}
#v-topup #tpPayLabel{font-size:12px;color:#3f5673;font-weight:550}
#v-topup #tpPayHint{font-size:10px;color:#98a3b2;margin:4px 0 0;line-height:1.7}
#v-topup .topup-selection-hint{font-size:11px;line-height:1.7;color:#8c9aaa;margin:14px 0}
#v-topup #tpOnlineBtn,#v-topup #tpPayBtn{width:100%;font-size:14px;font-weight:550;height:46px;border-radius:10px;box-shadow:none}
#v-topup button:focus-visible,#v-topup summary:focus-visible{outline:2px solid #79afea;outline-offset:3px}
#v-topup .payment-checkout{padding:16px 0 0;border:0;border-top:1px solid #e7edf5;background:transparent;border-radius:0;margin-top:22px}
#v-topup .payment-checkout .spread{gap:8px;flex-wrap:wrap;font-size:13px}
#v-topup .payment-qr{max-width:100%;padding:10px;border-radius:12px}
#v-topup .payment-qr canvas{max-width:100%;height:auto}
#v-topup .payment-checkout>.btn{font-size:12px;border-radius:8px;white-space:normal}
#v-topup .topup-checkout-note{font-size:10px;line-height:1.8;color:#96a1b0;margin:0}
#v-topup .topup-history{margin-top:24px;overflow:hidden}
#v-topup .topup-history .topup-section-head{margin:0;padding:24px 28px}
#v-topup .topup-history .table-wrap{border-radius:0;max-height:460px}
#v-topup .topup-history th{font-size:11px;font-weight:500;color:#91a0b3;background:#f8fafd;padding:12px 24px}
#v-topup .topup-history td{font-family:inherit;font-size:12px;padding:18px 24px;font-variant-numeric:tabular-nums;color:#60738c}
#v-topup .topup-history td strong{font-weight:550;color:#344a66}
#v-topup .topup-history .topup-gift-cell{color:#389675}
#v-topup .topup-method-tag{font-size:11px;padding:4px 8px;background:#f4f7fa;color:#6f839d;border-radius:5px}
#v-topup .topup-record-count{font-size:11px;color:#9aa8b9}
#v-topup .topup-empty{display:flex;flex-direction:column;align-items:center;padding:30px 12px 36px;text-align:center}
#v-topup .topup-empty>span{display:grid;place-items:center;width:42px;height:42px;background:#f2f6fb;color:#9baec7;font-size:28px;border-radius:12px;margin-bottom:14px}
#v-topup .topup-empty b{font-size:13px;color:#76889f;font-weight:500}
#v-topup .topup-empty p{font-size:11px;color:#a0adbe;margin:8px 0 0}
#v-topup .topup-redeem{margin-top:20px;padding:0;overflow:hidden}
#v-topup .topup-redeem>summary{padding:20px 26px;font-size:13px;color:#667b95;cursor:pointer}
#v-topup #tpRedeemCard{padding:0 26px 24px}
#v-topup #tpRedeemCard h3{font-size:16px}
#v-topup #tpRedeemCard p,#v-topup #tpRedeemCard small{font-size:11px;line-height:1.8;color:#8b9bb0}
#v-topup #tpUserField{margin-bottom:20px}
#v-topup #tpUserField label{font-size:12px;display:block;margin-bottom:8px}
#v-topup #tpUserField select{width:100%;height:42px;border:1px solid #dfe6ef;border-radius:9px}
#v-topup #tpUserField .muted{display:block;font-size:11px;margin-top:8px}
#v-topup #tpPageError,#v-topup .topup-mode-note{font-size:12px;line-height:1.8;padding:16px;margin:16px 0;border-radius:10px;background:#fff6e7;color:#946327}
#v-topup #tpPaymentError{font-size:12px;line-height:1.8;margin-top:12px}
#appShell[data-design-view="v-topup"] [data-member-topbar]{display:none!important}
@media(max-width:1100px){#v-topup .topup-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}#v-topup .topup-amount-panel,#v-topup .topup-summary{padding:22px}#v-topup #tpTiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){#v-topup .topup-layout{grid-template-columns:1fr}#v-topup .topup-summary{position:static}#v-topup #tpTiers{grid-template-columns:repeat(3,minmax(0,1fr))}#v-topup .topup-wallet{gap:18px;padding:24px}#v-topup .topup-wallet-detail{padding-left:18px}}
@media(max-width:600px){
 #v-topup .topup-wallet{grid-template-columns:1fr 1fr;gap:20px;margin:16px 0 20px;padding:24px;border-radius:16px}
 #v-topup .topup-wallet-total{grid-column:1/-1}
 #v-topup .topup-wallet-total .v{font-size:36px}
 #v-topup .topup-wallet-detail{border:0;padding:0}
 #v-topup .topup-wallet-detail .v{font-size:22px;margin:6px 0}
 #v-topup .topup-wallet-detail:last-child{border-left:1px solid #dce6f4;padding-left:20px}
 #v-topup #tpTiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #v-topup #tpTiers .tier-btn{min-height:96px;padding:18px 14px}
 #v-topup .topup-tier-amount{font-size:22px}
 #v-topup .topup-section-head h3{font-size:16px}
 #v-topup .topup-section-head>p{display:none}
 #v-topup .topup-amount-panel,#v-topup .topup-summary{padding:22px 20px}
 #v-topup .topup-history .topup-section-head{padding:20px}
 #v-topup .topup-history table{min-width:570px}
 #v-topup .topup-history th,#v-topup .topup-history td{padding:14px 16px}
 #v-topup #tpRedeemCard .row{flex-direction:column;align-items:stretch}
 #v-topup #tpRedeemCard input{min-width:0;width:100%}
 #v-topup .topup-redeem>summary{padding:18px 20px}
}

#v-topup[data-mode=personal]>.page-h{display:none!important}

/* Member analytics and request logs have distinct navigation destinations. */
#v-usage > .page-h, #v-call-logs > .page-h { display: none; }
#v-call-logs .table-wrap { overflow-x: auto; }
#v-call-logs table { min-width: 980px; }
#v-call-logs .card-head { flex-wrap: wrap; gap: 12px; }
#v-call-logs tbody td[colspan] { text-align: left; padding: 28px 20px; }

/* Pause public service-quality presentation. Keep diagnostics and authenticated console intact. */
html[data-public-status="hidden"] .design-surface :is(a[href="status"],[data-public-status-content],.mcard-foot,.hx-mcard-foot,.avail,.hx-avail,.public-live,.footer-status),
html[data-public-status="hidden"] #statusShell{display:none!important}
html[data-public-status="hidden"] #publicShell .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-public-status="hidden"] #publicShell .dest-grid{grid-template-columns:1fr}

/* Shared password visibility control: eye / eye-off, with a stable hit target. */
button.password-visibility-toggle,
#mdl-pwd .account-password-input button.password-visibility-toggle{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;
  width:40px;min-width:40px;height:40px;padding:0;border:0;border-radius:8px;
  background:transparent;color:#747e8f;box-shadow:none;line-height:1;
}
button.password-visibility-toggle:hover,
#mdl-pwd .account-password-input button.password-visibility-toggle:hover{background:#edf3fb;color:#0868ca}
button.password-visibility-toggle:focus-visible{outline:2px solid #0876ee;outline-offset:2px}
button.password-visibility-toggle svg{width:20px;height:20px;flex:none;pointer-events:none}
.password-visibility-toggle .password-eye-off{display:none}
.password-visibility-toggle[aria-pressed="true"] .password-eye-open{display:none}
.password-visibility-toggle[aria-pressed="true"] .password-eye-off{display:inline}
.auth-card .pwd-toggle.password-visibility-toggle,
#mdl-pwd .account-password-input button.password-visibility-toggle{top:50%;right:6px;transform:translateY(-50%)}
.auth-card .field.has-toggle .input,#mdl-pwd .account-password-input input{padding-right:56px}
@media(pointer:coarse){button.password-visibility-toggle,#mdl-pwd .account-password-input button.password-visibility-toggle{width:44px;min-width:44px;height:44px;flex-basis:44px}}

/* ---------- 指标带：月处理规模改版 ----------
   服务质量两项暂停后这条只剩两张卡，四栏满幅的排布会横贯整幅、显得空。
   改成收窄居中的卡片对，数字加大并用等宽数位（计数动画不抖），去掉第三行副标题后重排垂直节奏。
   注意：本文件开头是 @scope (#publicShell){...}，作用域内规则在同权重下靠邻近度胜出，
   源码顺序在后也赢不了。所以这里一律抬一级权重（加 .metrics / #publicShell），不要写裸 .metric。 */
#publicShell .metrics{padding:clamp(28px,3.6vw,46px) 0 0}
.metrics .metrics-grid{gap:clamp(10px,1.2vw,14px);background:none}
.metrics .metric{
  color:var(--ink);
  background:#fff;border:1px solid var(--hair-soft);border-radius:var(--r-md);
  padding:clamp(24px,3vw,36px) clamp(16px,2vw,24px);text-align:center;
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 34px -26px rgba(0,0,0,.35);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.metrics .metric:hover{
  transform:translateY(-3px);border-color:transparent;
  box-shadow:0 2px 4px rgba(0,0,0,.04),0 20px 44px -20px rgba(0,0,0,.22);
}
/* 这里不要设 color：本文件不在 @layer 内，直接给 .metric b 上色会压过 style.css
   @layer legacy 里的 .public-rate.ok/.warn/.down，成功率恢复展示时状态色就没了。
   颜色由 .metric 继承下来，继承值不会盖住 .public-rate 的直接匹配。 */
.metrics .metric b{
  display:block;line-height:1;
  font-size:clamp(2rem,3.6vw,2.875rem);font-weight:600;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
.metrics .metric b.public-rate small{color:inherit}
.metrics .metric b small{
  font-size:.42em;font-weight:600;letter-spacing:-.01em;margin-left:.14em;color:var(--ink-2);
}
.metrics .metric > small{
  display:block;margin-top:clamp(10px,1.2vw,15px);
  font-size:.8125rem;font-weight:500;line-height:1.45;color:var(--ink-2);letter-spacing:.005em;
}

/* 两张卡时收窄居中，避免一条横贯到底的留白 */
html[data-public-status="hidden"] #publicShell .metrics .metrics-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,660px);margin-inline:auto;
}

@media (max-width:560px){
  .metrics .metric{padding:22px 14px}
  .metrics .metric b{font-size:clamp(1.75rem,8.5vw,2.25rem)}
  .metrics .metric > small{font-size:.75rem}
}
@media (prefers-reduced-motion:reduce){
  .metrics .metric,.metrics .metric:hover{transform:none;transition:none}
}

/* ---------- 备案号 ----------
   管局要求：网站最下方悬挂网站级备案号（带 -N 后缀）、文本可选中、链接到工信部。
   这里显式定色，不依赖继承来的链接样式；权重抬到 .foot-bottom a.foot-beian
   以免被 @scope 块内的同权重规则按邻近度压过。 */
.foot-bottom a.foot-beian{color:inherit;text-decoration:none;white-space:nowrap}
.foot-bottom a.foot-beian:hover{color:var(--ink);text-decoration:underline}

/* ---------- 官网个人套餐：把 9 个结算 SKU 归成 5 张用户可比较的方案卡 ---------- */
.design-surface .personal-sku-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.2vw,16px);
}
.design-surface .personal-sku-card{
  position:relative;display:flex;min-width:0;min-height:430px;padding:clamp(20px,1.8vw,26px);
  border:1px solid var(--hair);border-radius:var(--r-lg);background:#fff;flex-direction:column;
  box-shadow:0 14px 34px -30px rgba(0,0,0,.35);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.design-surface .personal-sku-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(0,0,0,.26)}
.design-surface .personal-sku-card.recommended{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),0 20px 42px -30px rgba(0,113,227,.5)}
.design-surface .personal-sku-card.starter{border-color:#b9d8ff;background:linear-gradient(155deg,#f2f8ff 0%,#fff 58%)}
.design-surface .personal-sku-card.is-loading{min-height:180px;align-items:center;justify-content:center;color:var(--ink-3)}
.design-surface .personal-sku-head{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:8px}
.design-surface .personal-sku-head small{overflow:hidden;color:var(--ink-3);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}
.design-surface .personal-sku-badge{display:inline-flex;min-height:23px;padding:3px 9px;border-radius:999px;align-items:center;background:var(--bg-alt);color:var(--ink-2);font-size:.6875rem;font-weight:600}
.design-surface .personal-sku-card.recommended .personal-sku-badge{background:var(--blue);color:#fff}
.design-surface .personal-sku-card.starter .personal-sku-badge{background:#dcebff;color:#075fb8}
.design-surface .personal-sku-card h3{margin:18px 0 9px;font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.design-surface .personal-sku-price{font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:650;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.design-surface .personal-sku-price small{margin-left:5px;color:var(--ink-3);font-size:.36em;font-weight:500;letter-spacing:0}
.design-surface .personal-sku-quota{margin-top:12px;color:var(--ink-2);font-size:.8125rem}
.design-surface .personal-sku-quota b{color:var(--ink);font-weight:600}
.design-surface .personal-sku-annual{display:grid;min-height:36px;margin-top:15px;padding:9px 8px;border-radius:9px;align-items:center;justify-content:space-between;grid-template-columns:max-content max-content;gap:4px;background:var(--bg-alt);color:var(--ink-2);font-size:.6875rem}
.design-surface .personal-sku-annual b{color:var(--ink);font-weight:600}
.design-surface .personal-sku-annual .personal-sku-annual-price{color:var(--ink-2);white-space:nowrap!important}
.design-surface .personal-sku-annual .personal-sku-saving{color:#087341;font-weight:600;white-space:nowrap!important}
.design-surface .personal-sku-card ul{display:flex;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--hair-soft);list-style:none;flex-direction:column;gap:9px}
.design-surface .personal-sku-card li{position:relative;padding-left:15px;color:var(--ink-2);font-size:.75rem;line-height:1.5}
.design-surface .personal-sku-card li::before{position:absolute;top:.62em;left:0;width:5px;height:5px;border-radius:50%;background:var(--blue);content:""}
.design-surface .personal-sku-for{min-height:44px;margin:16px 0 17px;color:var(--ink-3);font-size:.75rem;line-height:1.55}
.design-surface .personal-sku-card>.btn{width:100%;margin-top:auto}
.design-surface .personal-sku-note{max-width:920px;margin:18px 0 0;color:var(--ink-3);font-size:.8125rem;line-height:1.7}
.design-surface .payment-way-head{margin:54px 0 20px}
.design-surface .payment-way-head h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.design-surface .payment-way-head p{max-width:720px;margin-top:6px;color:var(--ink-3);font-size:.875rem}
.design-surface .plan-grid.payment-way-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media (max-width:1180px){
  .design-surface .personal-sku-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .design-surface .personal-sku-grid,.design-surface .plan-grid.payment-way-grid{grid-template-columns:1fr}
  .design-surface .personal-sku-card{min-height:0}
  .design-surface .personal-sku-for{min-height:0}
}
@media (prefers-reduced-motion:reduce){
  .design-surface .personal-sku-card,.design-surface .personal-sku-card:hover{transform:none;transition:none}
}
