/* ============ 基础令牌 ============ */
:root{
  --ink:#070d11;
  --deep:#0c1620;
  --deep-2:#111f2b;
  --paper:#e7edef;
  --paper-2:#f2f6f7;
  --signal:#3fe0c8;
  --signal-deep:#1f9c8d;
  --ember:#e5723f;
  --text:#e7edef;
  --text-dim:#8fa5b1;
  --text-dark:#0b1a22;
  --text-dark-dim:#4e6570;
  --line:rgba(231,237,239,.13);
  --line-strong:rgba(231,237,239,.26);
  --line-dark:rgba(11,26,34,.14);
  --line-dark-strong:rgba(11,26,34,.3);
  --sans:"Archivo","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,"Roboto Mono",monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:var(--sans);font-size:16px;line-height:1.7;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
input{font:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--signal);color:var(--ink)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

/* 颗粒层：整站细噪点 */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:99;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;
  color:var(--text-dim);
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--signal)}
.eyebrow--dark{color:var(--text-dark-dim)}
.eyebrow--dark::before{background:var(--signal-deep)}

.sec{padding:68px 0;position:relative}
.sec--dark{background:var(--ink)}
.sec--deep{background:var(--deep)}
.sec--paper{background:var(--paper);color:var(--text-dark)}
@media (min-width:900px){.sec{padding:104px 0}}

.sec-head{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:40px}
.sec-head h2{
  font-size:clamp(26px,4.6vw,42px);line-height:1.18;font-weight:600;
  letter-spacing:-.01em;text-wrap:balance;margin-top:14px;
}
.sec-head .lead{font-size:15.5px;line-height:1.8;color:var(--text-dim);max-width:46ch}
.sec--paper .sec-head .lead{color:var(--text-dark-dim)}
@media (min-width:900px){
  .sec-head{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end;gap:40px;margin-bottom:56px}
  .sec-head .lead{justify-self:end;text-align:left}
}

/* ============ 顶栏 ============ */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(7,13,17,.94);
  border-bottom:1px solid var(--line);
}
section[id]{scroll-margin-top:78px}
.topbar__in{
  display:flex;align-items:center;justify-content:space-between;
  height:62px;gap:16px;
}
.brand{display:flex;align-items:center;gap:11px}
.brand__mark{width:30px;height:30px;flex:none}
.brand__text{display:flex;flex-direction:column;line-height:1.1}
.brand__en{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.14em}
.brand__cn{font-size:11px;color:var(--text-dim);letter-spacing:.22em;margin-top:4px}

.nav{display:none}
.nav a{
  font-size:14px;color:var(--text-dim);padding:6px 0;position:relative;
  transition:color .2s var(--ease);
}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--signal);transition:right .32s var(--ease);
}
.nav a:hover,.nav a:focus-visible{color:var(--text)}
.nav a:hover::after,.nav a:focus-visible::after{right:0}
.topbar__actions{display:flex;align-items:center;gap:10px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:42px;padding:0 18px;font-size:14px;font-weight:500;
  border:1px solid var(--line-strong);border-radius:2px;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn--signal{background:var(--signal);border-color:var(--signal);color:#04181a;font-weight:600}
.btn--signal:hover{background:#63f0dc;border-color:#63f0dc}
.btn--ghost{color:var(--text);background:transparent}
.btn--ghost:hover{background:rgba(231,237,239,.07);border-color:var(--line-strong)}
.btn--dark{color:var(--text-dark);border-color:var(--line-dark-strong)}
.btn--dark:hover{background:rgba(11,26,34,.06)}
.btn--small{height:34px;padding:0 13px;font-size:13px}
.btn--block{width:100%}

.burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:2px;padding:0 11px}
.burger span{display:block;height:1px;background:var(--text);width:100%}
@media (min-width:820px){
  .nav{display:flex;align-items:center;gap:28px}
  .burger{display:none}
}

/* 移动端抽屉 */
.drawer{
  position:fixed;inset:0;z-index:80;display:none;
  background:var(--ink);
  padding:76px 24px 40px;overflow-y:auto;
}
.drawer.is-open{display:block}
.drawer__close{position:absolute;top:16px;right:18px;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:2px;display:grid;place-items:center;font-size:20px;line-height:1}
.drawer a{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;border-bottom:1px solid var(--line);
  font-size:19px;font-weight:500;
}
.drawer a span{font-family:var(--mono);font-size:12px;color:var(--text-dim)}

/* ============ Hero ============ */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--ink)}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(231,237,239,.055) 1px,transparent 1px),
                    linear-gradient(to bottom,rgba(231,237,239,.055) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(ellipse 80% 65% at 40% 30%,#000 20%,transparent 78%);
}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding:44px 0 0}
.hero__copy{display:flex;flex-direction:column;gap:22px}
.hero h1{
  font-size:clamp(34px,8.4vw,68px);line-height:1.1;font-weight:700;
  letter-spacing:-.015em;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--signal)}
.hero__sub{font-size:15.5px;line-height:1.85;color:var(--text-dim);max-width:44ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__note{
  display:flex;flex-wrap:wrap;gap:6px 16px;min-width:0;overflow-wrap:anywhere;
  font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.02em;
}
.hero__note b{color:var(--signal);font-weight:500}

.hero__visual{position:relative;border:1px solid var(--line);overflow:hidden;background:#040a0e}
.hero__visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;opacity:.92}
.hero__visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,13,17,.35) 0%,rgba(7,13,17,0) 35%,rgba(7,13,17,.55) 100%);
}
#wave{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.55}
.hero__tag{
  position:absolute;left:14px;bottom:14px;z-index:3;
  display:flex;align-items:center;gap:8px;
  padding:7px 11px;border:1px solid var(--line-strong);
  background:rgba(7,13,17,.7);
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-dim);
}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px rgba(63,224,200,.16)}

.metrics{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);margin-top:40px;
}
.metrics li{
  padding:20px 0 22px;border-bottom:1px solid var(--line);
}
.metrics li:nth-child(odd){padding-right:16px;border-right:1px solid var(--line)}
.metrics li:nth-child(even){padding-left:16px}
.metrics__num{
  font-family:var(--mono);font-feature-settings:"tnum";
  font-size:clamp(22px,4.4vw,30px);font-weight:500;letter-spacing:-.02em;line-height:1.2;
}
.metrics__num small{font-size:.52em;font-weight:400;color:var(--text-dim);margin-left:4px;letter-spacing:0}
.metrics__label{font-size:12.5px;color:var(--text-dim);margin-top:6px}
@media (min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:48px;padding:64px 0 0;align-items:start}
  .hero__copy{padding-top:6px;min-width:0}
  .hero__visual img{aspect-ratio:4/3.4}
  .metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:52px}
  .metrics li{padding:22px 22px 26px;border-right:1px solid var(--line);border-bottom:0}
  .metrics li:nth-child(odd){padding-right:22px}
  .metrics li:nth-child(even){padding-left:22px}
  .metrics li:nth-child(4){border-right:0}
}

/* ============ 产品矩阵 ============ */
.products{
  display:grid;grid-template-columns:minmax(0,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.product{
  position:relative;display:flex;flex-direction:column;gap:14px;
  padding:26px 22px 24px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:transparent;transition:background .3s var(--ease);
}
.product:hover,.product:focus-visible{background:var(--deep-2)}
.product__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.product__icon{width:34px;height:34px;flex:none;color:var(--signal)}
.product__badge{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
  padding:3px 7px;border:1px solid var(--line-strong);color:var(--text-dim);
}
.product__badge--new{border-color:rgba(229,114,63,.5);color:var(--ember)}
.product__name{font-size:20px;font-weight:600;line-height:1.3}
.product__cn{font-size:12.5px;color:var(--text-dim);margin-top:5px;letter-spacing:.06em}
.product__desc{font-size:14px;line-height:1.75;color:var(--text-dim);min-height:3.4em}
.product__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;min-width:0}
.chip{
  font-family:var(--mono);font-size:11px;padding:3px 8px;
  border:1px solid var(--line);color:var(--text-dim);border-radius:1px;
}
.product__foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid var(--line);margin-top:4px;
  font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.03em;
}
.product__arrow{transition:transform .3s var(--ease);color:var(--signal)}
.product:hover .product__arrow{transform:translateX(4px)}
@media (min-width:640px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ============ 下载中心 ============ */
.dl{background:var(--paper);color:var(--text-dark)}
.dl__bar{
  display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 22px;
  border-bottom:1px solid var(--line-dark);
}
.tab{
  height:38px;padding:0 15px;border:1px solid var(--line-dark);
  border-radius:1px;font-size:13.5px;color:var(--text-dark-dim);
  transition:all .2s var(--ease);white-space:nowrap;
}
.tab:hover{border-color:var(--line-dark-strong);color:var(--text-dark)}
.tab.is-active{background:var(--text-dark);border-color:var(--text-dark);color:var(--paper)}
.dl__count{
  margin-left:auto;align-self:center;font-family:var(--mono);font-size:11.5px;
  color:var(--text-dark-dim);padding-left:8px;
}
.dl-grid{
  display:grid;grid-template-columns:minmax(0,1fr);gap:0;
  border-left:1px solid var(--line-dark);margin-top:26px;
}
.dl-item{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;
  padding:18px 18px 18px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  align-items:start;
}
.dl-item__os{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:500}
.dl-item__os svg{width:17px;height:17px;color:var(--text-dark-dim);flex:none}
.dl-item__meta{
  grid-column:1/2;font-family:var(--mono);font-size:11.5px;color:var(--text-dark-dim);
  display:flex;flex-wrap:wrap;gap:2px 10px;font-feature-settings:"tnum";
}
.dl-item__meta b{font-weight:500;color:var(--text-dark)}
.dl-item__ver{
  display:inline-block;font-family:var(--mono);font-size:11px;
  color:var(--signal-deep);letter-spacing:.02em;
}
.dl-item .btn{grid-column:2/3;grid-row:1/3;align-self:center}
@media (min-width:640px){.dl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.dl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.dl-sub{margin-top:34px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.dl-note{
  border:1px solid var(--line-dark);padding:18px 18px 20px;
  display:flex;flex-direction:column;gap:10px;
}
.dl-note h4{font-size:14px;font-weight:600}
.dl-note p{font-size:13px;line-height:1.7;color:var(--text-dark-dim);word-break:normal;overflow-wrap:break-word}
.dl-note code{font-family:var(--mono);font-size:12px;background:rgba(11,26,34,.06);padding:2px 6px;border-radius:2px;word-break:break-all}
@media (min-width:820px){.dl-sub{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* 版本表 */
.table-wrap{margin-top:44px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-dark)}
table.version{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;font-size:13px}
table.version col.c1{width:22%}
table.version col.c2{width:20%}
table.version col.c3{width:11%}
table.version col.c4{width:13%}
table.version col.c5{width:10%}
table.version col.c6{width:16%}
table.version col.c7{width:8%}
table.version th{
  text-align:left;font-weight:500;font-size:12px;letter-spacing:.04em;
  color:var(--text-dark-dim);padding:12px 14px;background:rgba(11,26,34,.04);
  border-bottom:1px solid var(--line-dark);white-space:nowrap;
}
table.version td{padding:12px 14px;border-bottom:1px solid var(--line-dark);font-family:var(--mono);font-size:12px;font-feature-settings:"tnum";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.version td.prod{font-family:var(--sans);font-size:13px;font-weight:500}
table.version tr:last-child td{border-bottom:0}
table.version tbody tr:hover td{background:rgba(11,26,34,.03)}
.tb-copy{
  font-family:var(--mono);font-size:11px;color:var(--text-dark-dim);
  border:1px solid var(--line-dark-strong);padding:8px 13px;line-height:1;
  display:inline-flex;align-items:center;gap:6px;min-height:32px;
}
.tb-copy:hover{color:var(--signal-deep);border-color:var(--signal-deep)}
.tb-link{color:var(--signal-deep);font-family:var(--mono);font-size:11.5px}
.tb-link:hover{text-decoration:underline}

/* 更新日志 */
.log{margin-top:40px;border-top:1px solid var(--line-dark)}
.log__item{border-bottom:1px solid var(--line-dark)}
.log__head{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  width:100%;padding:16px 2px;
}
.log__ver{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--text-dark)}
.log__title{font-size:14px;color:var(--text-dark-dim)}
.log__date{font-family:var(--mono);font-size:11.5px;color:var(--text-dark-dim);display:none}
.log__plus{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line-dark);border-radius:50%;font-size:13px;line-height:1;color:var(--text-dark-dim);transition:transform .25s var(--ease)}
.log__item.is-open .log__plus{transform:rotate(45deg);border-color:var(--signal-deep);color:var(--signal-deep)}
.log__body{display:none;padding:0 2px 20px}
.log__item.is-open .log__body{display:block}
.log__body ul{display:flex;flex-direction:column;gap:9px;max-width:70ch}
.log__body li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.7;color:var(--text-dark-dim)}
.log__body li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:1px;background:var(--signal-deep)}
.log__body li b{color:var(--text-dark);font-weight:500}
@media (min-width:640px){.log__head{grid-template-columns:88px 1fr auto auto;gap:18px}.log__date{display:block}}

/* ============ 技术架构 ============ */
.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--line)}
.layer{
  display:grid;grid-template-columns:minmax(0,1fr);gap:10px;
  padding:24px 0 26px;border-bottom:1px solid var(--line);
  transition:background .3s var(--ease);
}
.layer__head{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.layer__name{font-size:19px;font-weight:600}
.layer__en{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.06em}
.layer__desc{font-size:14px;line-height:1.75;color:var(--text-dim);max-width:56ch}
.layer__specs{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--mono);font-size:11.5px;color:var(--text-dim);font-feature-settings:"tnum"}
.layer__specs b{color:var(--signal);font-weight:500}
@media (min-width:900px){
  .layer{grid-template-columns:200px minmax(0,1fr) 240px;gap:32px;align-items:start;padding:30px 0}
  .layer__specs{flex-direction:column;gap:6px;justify-self:end;text-align:right}
}

.tech-visual{margin-top:44px;position:relative;overflow:hidden;border:1px solid var(--line)}
.tech-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;opacity:.86}
.tech-visual__cap{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 16px;background:linear-gradient(0deg,rgba(7,13,17,.92),rgba(7,13,17,0));
  font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.03em;
}
.tech-visual__cap b{color:var(--signal);font-weight:500}

/* ============ 关于我们 ============ */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.about-copy p{font-size:15px;line-height:1.9;color:var(--text-dark-dim);max-width:62ch}
.about-copy p+p{margin-top:16px}
.about-copy p strong{color:var(--text-dark);font-weight:600}
.about-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);align-self:start}
.about-facts li{padding:16px 14px 18px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.about-facts .n{font-family:var(--mono);font-size:22px;font-weight:500;font-feature-settings:"tnum";letter-spacing:-.02em}
.about-facts .l{font-size:12px;color:var(--text-dark-dim);margin-top:5px;line-height:1.5}
@media (min-width:900px){
  .about-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px}
  .about-facts{grid-template-columns:1fr}
}

.timeline{margin-top:52px;border-top:1px solid var(--line-dark);padding-top:34px}
.timeline__label{font-family:var(--mono);font-size:11.5px;color:var(--text-dark-dim);letter-spacing:.06em;margin-bottom:26px}
.tl{display:block}
.tl-row{display:grid;grid-template-columns:76px 1px minmax(0,1fr);column-gap:18px;align-items:start}
.tl-row .yr{
  font-family:var(--mono);font-size:12.5px;color:var(--text-dark-dim);
  text-align:right;padding-top:2px;letter-spacing:.02em;
}
.tl-row .axis{grid-column:2;width:1px;justify-self:center;background:var(--line-dark);align-self:stretch;position:relative}
.tl-row .axis::before{
  content:"";position:absolute;left:50%;top:8px;transform:translate(-50%,-50%);
  width:7px;height:7px;border-radius:50%;background:var(--paper);border:1px solid var(--signal-deep);
}
.tl-row.is-now .axis::before{background:var(--signal-deep);box-shadow:0 0 0 4px rgba(31,156,141,.14)}
.tl-row .cnt{padding-bottom:30px}
.tl-row .cnt h4{font-size:15px;font-weight:600;line-height:1.5}
.tl-row .cnt p{font-size:13.5px;line-height:1.75;color:var(--text-dark-dim);margin-top:5px;max-width:68ch}
.tl-row:last-child .cnt{padding-bottom:0}

/* ============ 客户之声 ============ */
.voices{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.voice{
  padding:28px 24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:16px;
}
.voice__quote{font-size:16px;line-height:1.8;color:var(--text);font-weight:400}
.voice__quote::before{content:"“";color:var(--signal);font-size:1.1em;line-height:0;margin-right:2px}
.voice__src{margin-top:auto;font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.02em;padding-top:14px;border-top:1px solid var(--line)}
@media (min-width:760px){.voices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.voices{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ============ CTA ============ */
.cta{position:relative;overflow:hidden;border-top:1px solid var(--line)}
.cta__in{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:center}
.cta h2{font-size:clamp(26px,4.6vw,40px);line-height:1.2;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
.cta p{font-size:15px;line-height:1.8;color:var(--text-dim);margin-top:12px;max-width:44ch}
.subscribe{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.subscribe input{
  flex:1 1 180px;min-width:0;height:44px;padding:0 14px;font-size:16px;
  background:transparent;border:1px solid var(--line-strong);border-radius:2px;color:var(--text);
}
.subscribe input::placeholder{color:#63797f}
.subscribe input:focus{outline:none;border-color:var(--signal)}
.subscribe .btn{height:44px}
.form-msg{font-family:var(--mono);font-size:11.5px;color:var(--signal);margin-top:10px;min-height:1em}
@media (min-width:900px){.cta__in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}}

/* ============ 页脚 ============ */
.foot{background:var(--ink);border-top:1px solid var(--line);padding:52px 0 30px}
.foot__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.foot__brand .brand{margin-bottom:14px}
.foot__brand p{font-size:13px;line-height:1.8;color:var(--text-dim);max-width:34ch}
.foot__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.foot__col h5{font-size:12.5px;font-weight:500;color:var(--text);margin-bottom:12px;letter-spacing:.04em}
.foot__col a{display:block;font-size:13px;color:var(--text-dim);padding:5px 0;transition:color .2s var(--ease)}
.foot__col a:hover{color:var(--signal)}
.foot__bottom{
  display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;
  margin-top:44px;padding-top:20px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;color:#6a7f89;letter-spacing:.02em;
}
.foot__bottom span{line-height:1.7}
@media (min-width:760px){.foot__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.foot__cols{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ============ 产品详情抽屉 ============ */
.sheet{
  position:fixed;inset:0;z-index:90;display:none;
}
.sheet.is-open{display:block}
.sheet__mask{position:absolute;inset:0;background:rgba(3,8,11,.72);opacity:0;transition:opacity .3s var(--ease)}
.sheet.is-open .sheet__mask{opacity:1}
.sheet__panel{
  position:absolute;top:0;right:0;bottom:0;width:100%;max-width:520px;
  background:var(--deep);border-left:1px solid var(--line-strong);
  padding:26px 22px 40px;overflow-y:auto;
  transform:translateX(20px);opacity:0;transition:transform .34s var(--ease),opacity .34s var(--ease);
}
.sheet.is-open .sheet__panel{transform:none;opacity:1}
.sheet__close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:2px;display:grid;place-items:center;font-size:18px;line-height:1}
.sheet__icon{width:40px;height:40px;color:var(--signal);margin-bottom:18px}
.sheet h3{font-size:24px;font-weight:600;line-height:1.3}
.sheet .sub{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.06em;margin-top:6px}
.sheet__body p{font-size:14.5px;line-height:1.85;color:var(--text-dim);margin-top:18px}
.sheet__list{margin-top:22px;border-top:1px solid var(--line)}
.sheet__list li{
  display:grid;grid-template-columns:96px 1fr;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line);font-size:13.5px;
}
.sheet__list .k{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);padding-top:3px}
.sheet__list .v{color:var(--text)}
.sheet__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

/* ============ Toast ============ */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);
  z-index:120;max-width:calc(100vw - 32px);
  display:flex;align-items:flex-start;gap:10px;
  padding:13px 16px;background:#0e1a22;border:1px solid var(--line-strong);
  border-left:2px solid var(--signal);
  box-shadow:0 14px 40px rgba(0,0,0,.5);
  font-size:13.5px;line-height:1.6;color:var(--text);
  opacity:0;pointer-events:none;transition:opacity .26s var(--ease),transform .26s var(--ease);
}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--signal)}

/* ============ 入场 ============ */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  #wave{opacity:.4}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
table.version code{font-family:var(--mono)}
.log__body code{font-family:var(--mono);font-size:12px;background:rgba(11,26,34,.06);padding:1px 5px}


/* ================= 多页站点补充组件 ================= */
.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12px;color:var(--text-dim);margin-bottom:24px;
}
.crumbs a{transition:color .2s var(--ease)}
.crumbs a:hover{color:var(--signal)}
.crumbs i{font-style:normal;opacity:.45}
.crumbs span{color:var(--text)}

/* 详情页 / 内页首屏 */
.phero{padding:52px 0 60px;background:var(--ink);border-bottom:1px solid var(--line);position:relative}
.phero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
.phero h1{
  font-size:clamp(30px,5.4vw,52px);line-height:1.14;font-weight:600;
  letter-spacing:-.015em;margin-top:14px;text-wrap:balance;
}
.phero h1 em{font-style:normal;color:var(--signal)}
.phero__en{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;
  color:var(--text-dim);margin-top:18px;
}
.phero__sub{font-size:15.5px;line-height:1.85;color:var(--text-dim);max-width:54ch;margin-top:18px}
.phero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.phero__side{border:1px solid var(--line);padding:24px 22px;align-self:start}
.phero__side h4{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  color:var(--text-dim);font-weight:400;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.phero__side dl{margin:0;padding-top:14px;display:grid;gap:13px}
.phero__side dt{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--text-dim)}
.phero__side dd{margin:3px 0 0;font-size:14px;line-height:1.5}
@media (min-width:980px){
  .phero{padding:70px 0 76px}
  .phero__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:60px;align-items:start}
}

/* 能力网格 */
.feat{
  display:grid;grid-template-columns:minmax(0,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.feat__item{
  padding:26px 22px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:10px;
}
.feat__num{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--signal)}
.feat__item h3{font-size:16px;font-weight:600;line-height:1.4}
.feat__item p{font-size:13.5px;line-height:1.75;color:var(--text-dim)}
@media (min-width:640px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.feat{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 场景卡（复用纸色区的发丝线栅格） */
.scenes{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}
.scene{padding:26px 22px 30px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.scene h4{font-size:15px;font-weight:600}
.scene p{font-size:13.5px;line-height:1.75;color:var(--text-dark-dim);margin-top:8px}
@media (min-width:760px){.scenes{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 下载页：产品分区 */
.dlblock{margin-top:52px}
.dlblock__head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;
  padding-bottom:14px;border-bottom:1px solid var(--line-dark);
}
.dlblock__head h3{font-size:19px;font-weight:600;color:var(--text-dark)}
.dlblock__head .en{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--text-dark-dim)}
.dlblock__head p{font-size:13.5px;color:var(--text-dark-dim);flex:1 1 260px;min-width:0}
.dlblock__link{
  font-size:12.5px;color:var(--signal-deep);border-bottom:1px solid rgba(31,156,141,.3);
  padding-bottom:1px;white-space:nowrap;
}
.dlblock__link:hover{border-color:var(--signal-deep)}
.dlblock .dl-grid{margin-top:0}

/* 搜索与筛选条 */
.filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:28px}
.filterbar .tabs{display:flex;flex-wrap:wrap;gap:8px}
.search{
  display:flex;align-items:center;gap:9px;border:1px solid var(--line-dark-strong);
  padding:0 12px;height:38px;background:transparent;min-width:220px;flex:1 1 220px;max-width:320px;
}
.search svg{width:15px;height:15px;color:var(--text-dark-dim);flex:none}
.search input{
  border:0;outline:0;background:transparent;color:var(--text-dark);font-size:14px;width:100%;height:100%;
}
.search input::placeholder{color:rgba(78,101,112,.7)}

/* 产品总览页：行式条目 */
.palist{border-top:1px solid var(--line)}
.pa{
  display:grid;grid-template-columns:minmax(0,1fr);gap:14px;
  padding:34px 0;border-bottom:1px solid var(--line);
  transition:background .25s var(--ease);
}
.pa__no{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.06em}
.pa__name{font-size:24px;font-weight:600;line-height:1.25}
.pa__en{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.1em;margin-left:10px}
.pa__desc{font-size:14.5px;line-height:1.8;color:var(--text-dim);margin-top:10px;max-width:52ch}
.pa__plats{display:flex;flex-wrap:wrap;gap:6px}
.pa__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (min-width:900px){
  .pa{grid-template-columns:54px minmax(0,1fr) 240px;gap:28px;align-items:start;padding:40px 0}
  .pa__side{align-self:center;justify-self:end;display:flex;flex-direction:column;gap:14px;align-items:flex-end}
}

/* 关于页补充 */
.about-copy p+p{margin-top:18px}
.about-copy{max-width:60ch}
.about-copy strong{color:var(--text-dark);font-weight:600}
.factcell{padding:24px 22px 26px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.factcell b{font-size:26px;font-weight:600;font-family:var(--sans);letter-spacing:-.01em}
.factcell small{font-size:12px;color:var(--text-dark-dim);margin-left:4px}
.factcell p{font-size:13px;color:var(--text-dark-dim);margin-top:6px}

/* 联系页 */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px}}
.cform{display:grid;gap:16px}
.field2{display:grid;gap:7px}
.field2 label{font-size:12.5px;color:var(--text-dim)}
.field2 input,.field2 textarea,.field2 select{
  background:rgba(231,237,239,.04);border:1px solid var(--line-strong);
  color:var(--text);padding:11px 12px;font-size:15px;border-radius:2px;
  outline:0;transition:border-color .2s var(--ease);
  font-family:inherit;
}
.field2 textarea{min-height:118px;resize:vertical;line-height:1.6}
.field2 input:focus,.field2 textarea:focus,.field2 select:focus{border-color:var(--signal)}
.field2 select{appearance:none;background-image:none}
.cform__row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:640px){.cform__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cinfo{border-top:1px solid var(--line)}
.cinfo__row{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}
.cinfo__row dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--text-dim)}
.cinfo__row dd{margin:0;font-size:15px}
.cmap{
  margin-top:22px;border:1px solid var(--line);height:210px;position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(0deg,rgba(231,237,239,.05) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(90deg,rgba(231,237,239,.05) 0 1px,transparent 1px 34px),
    var(--deep);
  display:flex;align-items:flex-end;padding:16px;
}
.cmap span{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.05em}
.cmap::before{
  content:"";position:absolute;left:52%;top:46%;width:9px;height:9px;border-radius:50%;
  background:var(--signal);box-shadow:0 0 0 6px rgba(63,224,200,.14);
}

/* 详情页底部的产品切换 */
.pswitch{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pswitch a{
  font-size:13px;padding:7px 14px;border:1px solid var(--line);color:var(--text-dim);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.pswitch a:hover,.pswitch a.is-cur{color:var(--signal);border-color:rgba(63,224,200,.45)}

/* 页脚在纸色区上的可读性 */
.sec--paper .dlblock__head{border-bottom-color:var(--line-dark)}

/* ---- 入场动画兜底：无 JS 时内容始终可见 ---- */
.reveal{opacity:1;transform:none}
body.js-reveal .reveal{
  opacity:0;transform:translateY(14px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
body.js-reveal .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  body.js-reveal .reveal{opacity:1;transform:none;transition:none}
}

/* ---- 首页场景四卡：4 / 2 / 1 列，不留 3+1 ---- */
.scenes.scenes--4{grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.scenes.scenes--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.scenes.scenes--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---- 深色区里的发行卡（dl 组件的反白版） ---- */.dl-grid.dl--ink{border-left-color:var(--line)}
.dl-grid.dl--ink .dl-item{border-right-color:var(--line);border-bottom-color:var(--line)}
.dl-grid.dl--ink .dl-item__os{color:var(--text)}
.dl-grid.dl--ink .dl-item__os svg{color:var(--text-dim)}
.dl-grid.dl--ink .dl-item__meta{color:var(--text-dim)}
.dl-grid.dl--ink .dl-item__meta b{color:var(--text)}
.dl-grid.dl--ink .dl-item__ver{color:var(--signal)}
.dl-grid.dl--ink .dl-item:hover{background:rgba(231,237,239,.03)}

/* ---- 详情页发行表在深色区时的反白（备用） ---- */
.table--ink{border-color:var(--line)}
.table--ink th{color:var(--text-dim);border-bottom-color:var(--line)}
.table--ink td{color:var(--text);border-bottom-color:var(--line)}
.table--ink .tb-link{color:var(--signal)}

/* ---- 下拉框箭头（appearance:none 之后必须补回指示） ---- */
.field2 select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%238aa3ad' stroke-width='1.6'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:36px;cursor:pointer;
}

/* ---- 公司事实格：桌面 2×2，避免单列拉得过长 ---- */
@media (min-width:900px){.about-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
