/* ==========================================================================
   绝对值 AI · 官网动效与产品切页层
   主色 #3157ff / 辅紫 #6f3cff / 青 #13c6de，浅色主题
   ========================================================================== */
:root{
  --fx-blue:#3157ff;
  --fx-violet:#6f3cff;
  --fx-cyan:#13c6de;
  --fx-ink:#151926;
  --fx-muted:#697287;
  --fx-line:#171f371f;
  --fx-ease:cubic-bezier(.16,1,.3,1);
}

/* ---------- 1. 滚动进度条 ---------- */
.fx-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;pointer-events:none;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet) 55%,var(--fx-cyan));
  transform:scaleX(0);transform-origin:0 50%;transition:transform .12s linear;
  box-shadow:0 0 12px #3157ff66}

/* ---------- 2. 逐块入场 ---------- */
.fx-reveal{opacity:1;transform:none;
  transition:opacity .72s var(--fx-ease),transform .72s var(--fx-ease);
  transition-delay:calc(var(--fx-i,0) * 85ms)}
.fx-reveal.fx-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fx-reveal{opacity:1;transform:none;transition:none}}

/* ---------- 3. Hero 呼吸光斑 + 粒子上升 ---------- */
.fx-hero-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fx-aura{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;
  animation:fx-breathe 7s ease-in-out infinite}
.fx-aura--one{width:460px;height:460px;top:6%;right:2%;background:#3157ff26}
.fx-aura--two{width:340px;height:340px;bottom:-6%;left:38%;background:#6f3cff1f;animation-delay:-2.6s}
.fx-aura--three{width:240px;height:240px;top:52%;right:34%;background:#13c6de1a;animation-delay:-4.4s}
@keyframes fx-breathe{0%,100%{transform:scale(1) translate3d(0,0,0);opacity:.72}
  50%{transform:scale(1.16) translate3d(0,-22px,0);opacity:1}}

.fx-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fx-particles i{position:absolute;bottom:-14px;width:var(--s,4px);height:var(--s,4px);border-radius:50%;
  background:var(--c,#3157ff);opacity:0;
  animation:fx-rise var(--d,9s) linear var(--delay,0s) infinite}
@keyframes fx-rise{0%{transform:translate3d(0,0,0) scale(.6);opacity:0}
  12%{opacity:.55}70%{opacity:.35}
  100%{transform:translate3d(var(--x,20px),-78vh,0) scale(1);opacity:0}}

.hero-copy,.symbol-stage,.hero-footnote{position:relative;z-index:2}
.stage-orbit--one{animation:fx-spin 26s linear infinite}
.stage-orbit--two{animation:fx-spin 18s linear infinite reverse}
@keyframes fx-spin{to{transform:rotate(360deg)}}
.input-chip{animation:fx-float 6s ease-in-out infinite}
.input-chip--two{animation-delay:-3s}
@keyframes fx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.stage-mark .brand-mark__image{animation:fx-float 8s ease-in-out infinite}

/* 打字光标：品牌标语结尾（仅首页 hero-copy） */
.hero .hero-copy h1 em{position:relative}
.hero .hero-copy h1 em::after{content:none;display:none}

/* ---------- 4. 顶部导航 / 按钮扫光 ---------- */
.primary-action,.contact-action,.header-action{position:relative;overflow:hidden;isolation:isolate}
.primary-action::after,.contact-action::after,.header-action::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,transparent 32%,#ffffff59 48%,transparent 62%);
  transform:translateX(-120%);transition:transform .75s var(--fx-ease)}
.primary-action:hover::after,.contact-action:hover::after,.header-action:hover::after{transform:translateX(120%)}
.header-action{transition:transform .3s var(--fx-ease),box-shadow .3s}
.header-action:hover{transform:translateY(-2px);box-shadow:0 12px 26px #3157ff1f}
.primary-action{transition:transform .3s var(--fx-ease),box-shadow .3s}
.primary-action:hover{transform:translateY(-3px);box-shadow:0 18px 40px #3157ff2e}

/* ---------- 5. 卡片聚光灯 ---------- */
.fx-spot{position:relative}
.fx-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),#3157ff14,transparent 68%);
  opacity:0;transition:opacity .35s}
.fx-spot:hover::before{opacity:1}
.focus-card.fx-spot::before{z-index:0}
.focus-card.fx-spot>*{position:relative;z-index:1}
.formula-node,.formula-core,.principle-list>div{transition:transform .4s var(--fx-ease),box-shadow .4s}
.formula-node:hover,.principle-list>div:hover{transform:translateY(-5px)}
.formula-core{animation:fx-core-glow 5s ease-in-out infinite}
@keyframes fx-core-glow{0%,100%{filter:drop-shadow(0 0 0 #3157ff00)}50%{filter:drop-shadow(0 0 26px #3157ff38)}}

/* 信号条：箭头跑马灯 */
.signal-bar__inner>span{position:relative;overflow:hidden}
.signal-bar__inner>span::after{content:"›››";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  color:var(--fx-blue);font-size:13px;letter-spacing:2px;opacity:.35;
  animation:fx-arrows 2.4s cubic-bezier(.4,0,.2,1) infinite}
.signal-bar__inner>span:nth-child(2)::after{animation-delay:.3s}
.signal-bar__inner>span:nth-child(3)::after{animation-delay:.6s}
.signal-bar__inner>span:nth-child(4)::after{animation-delay:.9s}
@keyframes fx-arrows{0%,100%{opacity:.16;transform:translate(0,-50%)}50%{opacity:.85;transform:translate(7px,-50%)}}

/* ---------- 6. 无限滚动文字带 ---------- */
.fx-marquee{border-top:1px solid var(--fx-line);border-bottom:1px solid var(--fx-line);
  background:linear-gradient(90deg,#ffffffe0,#f4f6ffe0 50%,#ffffffe0);overflow:hidden;padding:22px 0}
.fx-marquee__track{display:flex;width:max-content;animation:fx-marquee 32s linear infinite}
.fx-marquee__group{display:flex;align-items:center;gap:54px;padding-right:54px}
.fx-marquee:hover .fx-marquee__track{animation-play-state:paused}
.fx-marquee__track span{display:inline-flex;align-items:center;gap:54px;white-space:nowrap;
  font-family:var(--font-ui-mono);font-size:12px;letter-spacing:.22em;color:#5b6780;text-transform:uppercase}
.fx-marquee__track span::after{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--fx-blue);box-shadow:0 0 12px #3157ff80}
@keyframes fx-marquee{to{transform:translateX(-50%)}}

/* ==========================================================================
   7. 产品切页（3 页）
   ========================================================================== */
.pv{margin-top:64px;border:1px solid var(--fx-line);border-radius:18px;background:#ffffffcc;
  box-shadow:0 30px 90px #26356614;overflow:hidden;backdrop-filter:blur(6px)}
.pv__layout{display:grid;grid-template-columns:262px 1fr}

/* 左侧产品轨 */
.pv-rail{display:flex;flex-direction:column;border-right:1px solid var(--fx-line);background:#f8faff99}
.pv-tab{position:relative;display:flex;align-items:flex-start;gap:12px;padding:24px 20px 26px;text-align:left;
  background:none;border:0;border-bottom:1px solid #171f3712;cursor:pointer;font:inherit;color:inherit;
  transition:background .3s}
.pv-tab:last-child{border-bottom:0}
.pv-tab:hover{background:#fff}
.pv-tab__idx{font-family:var(--font-ui-mono);font-size:10px;letter-spacing:.1em;color:#8b95ab;
  padding-top:5px;transition:color .3s}
.pv-tab__body{display:block;min-width:0;flex:1}
.pv-tab__body strong{display:block;font-size:19px;font-weight:640;letter-spacing:-.02em;color:#3c465c;
  transition:color .3s}
.pv-tab__body small{display:block;margin-top:5px;font-size:12px;color:#8a93a8;line-height:1.5}
.pv-tab__go{display:block;margin-top:9px;font-size:11px;color:var(--fx-blue);opacity:0;
  transform:translateX(-6px);transition:opacity .35s,transform .35s}
.pv-tab.is-active{background:#fff}
.pv-tab.is-active .pv-tab__idx{color:var(--fx-blue)}
.pv-tab.is-active .pv-tab__body strong{color:var(--fx-ink)}
.pv-tab.is-active .pv-tab__go{opacity:1;transform:none}
.pv-tab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fx-blue);
  transform:scaleY(0);transform-origin:50% 0;transition:transform .4s var(--fx-ease)}
.pv-tab.is-active::before{transform:scaleY(1)}
/* 自动播放进度条 */
.pv-tab__bar{position:absolute;left:20px;right:20px;bottom:12px;height:2px;border-radius:2px;
  background:#3157ff1a;overflow:hidden;opacity:0;transition:opacity .3s}
.pv-tab.is-active .pv-tab__bar{opacity:1}
.pv-tab__bar i{display:block;height:100%;width:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet));
  transform:scaleX(0);transform-origin:0 50%}
.pv-tab.is-active .pv-tab__bar i{animation:pv-progress var(--pv-delay,7000ms) linear forwards}
.pv.is-paused .pv-tab.is-active .pv-tab__bar i{animation-play-state:paused}
@keyframes pv-progress{to{transform:scaleX(1)}}
.pv-rail__foot{margin-top:auto;padding:18px 20px;font-family:var(--font-ui-mono);font-size:9px;
  letter-spacing:.14em;color:#98a1b5;border-top:1px solid #171f3712}

/* 右侧舞台 */
.pv-stage{position:relative;min-width:0}
.pv-viewport{position:relative;overflow:hidden}
.pv-page{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;padding:40px 40px 30px}
.pv-page[hidden]{display:none}
.pv-page.is-enter{animation:pv-in .58s var(--fx-ease) both}
.pv-page.is-enter[data-dir="prev"]{animation-name:pv-in-prev}
@keyframes pv-in{from{opacity:0;transform:translateX(38px)}to{opacity:1;transform:none}}
@keyframes pv-in-prev{from{opacity:0;transform:translateX(-38px)}to{opacity:1;transform:none}}

.pv-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 16px;
  font-family:var(--font-ui-mono);font-size:10px;letter-spacing:.12em;color:#6c7791}
.pv-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fx-blue);
  box-shadow:0 0 10px #3157ff99;animation:fx-dot 2.4s ease-in-out infinite}
@keyframes fx-dot{0%,100%{opacity:.45}50%{opacity:1}}
.pv-copy h3{margin:0;font-size:clamp(28px,2.6vw,38px);font-weight:620;letter-spacing:-.035em;line-height:1.28;
  color:var(--fx-ink)}
.pv-copy h3 em{font-style:normal;background:linear-gradient(110deg,#2a3150 8%,#745eea 54%,#315ff2 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.pv-lead{margin:16px 0 0;font-size:14px;line-height:1.95;color:#66708a}

.pv-features{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.pv-features li{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:12px;
  background:#f7f9ff;border:1px solid #171f370d;transition:transform .35s var(--fx-ease),border-color .35s,background .35s}
.pv-features li:hover{transform:translateY(-4px);background:#fff;border-color:#3157ff40}
.pv-features li>span{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;
  background:#3157ff14;color:var(--fx-blue);font-family:var(--font-ui-mono);font-size:9px;font-weight:700}
.pv-features strong{display:block;font-size:13px;font-weight:640;color:#2b354c}
.pv-features p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#78829a}

.pv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}
.pv-actions .product-action{margin-top:0}
.pv-ghost{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#5d6880;text-decoration:none;
  border-bottom:1px solid #171f3726;padding-bottom:2px;transition:color .25s,border-color .25s}
.pv-ghost:hover{color:var(--fx-blue);border-color:var(--fx-blue)}

/* 视觉卡 */
.pv-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:330px;
  border-radius:16px;padding:26px;overflow:hidden;
  background:radial-gradient(circle at 50% 40%,#4958ff1f,#f9faffcc 58%,#fff)}
.pv-visual::before,.pv-visual::after{content:"";position:absolute;border:1px solid #2b375b14;border-radius:50%;
  pointer-events:none}
.pv-visual::before{width:400px;height:400px;animation:fx-spin 44s linear infinite}
.pv-visual::after{width:270px;height:270px;border-style:dashed;animation:fx-spin 30s linear infinite reverse}
.pv-visual__index{position:absolute;top:16px;right:20px;display:flex;align-items:center;gap:8px;
  font-family:var(--font-ui-mono);font-size:9px;letter-spacing:.12em;color:#778197;z-index:3}
.pv-visual__index i{width:5px;height:5px;border-radius:50%;background:var(--fx-blue);box-shadow:0 0 10px #506cff}
.pv-visual__caption{position:absolute;left:0;right:0;bottom:14px;text-align:center;z-index:3;
  font-family:var(--font-ui-mono);font-size:9px;letter-spacing:.14em;color:#778197}

.pv-card{position:relative;z-index:2;width:min(100%,392px);background:#fffffff0;border:1px solid #2034541f;
  border-radius:12px;padding:18px;box-shadow:0 22px 60px #1f3d551c;text-align:left}
.pv-card__head{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding-bottom:12px;border-bottom:1px solid #2034541a;font-size:12px;font-weight:640;color:#2b354c}
.pv-card__head small{color:#7b8599;font-size:10px;font-weight:400}
.pv-card__rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.pv-card__rows li{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;
  padding:9px 10px;border-radius:7px;background:#f5f7fb}
.pv-card__rows li>i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;
  font-style:normal;font-size:11px;font-weight:700;background:#3656e617;color:#365ce0}
.pv-card__rows li>i.ok{background:#12a1501a;color:#128a4c}
.pv-card__rows li>i.warn{background:#d988061a;color:#b56d05}
.pv-card__rows li>i.bad{background:#e5484d17;color:#d33b40}
.pv-card__rows li span{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:600;color:#313b52}
.pv-card__rows li small{font-size:10px;font-weight:400;color:#818b9e}
.pv-card__rows li b{font-size:10px;font-weight:560;color:#6c7890;background:#fff;border-radius:999px;padding:4px 8px}
.pv-card__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;
  padding-top:12px;border-top:1px solid #2034541a;font-size:10.5px;color:#536177}
.pv-card__foot strong{font-size:11px;color:#3658d3}
.pv-card__note{margin:10px 0 0;font-size:9.5px;color:#9aa3b6;text-align:right}

/* 研真录：年份进度格 */
.pv-years{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:14px}
.pv-years i{display:grid;place-items:center;height:30px;border-radius:6px;background:#eef1f8;color:#97a0b5;
  font-style:normal;font-family:var(--font-ui-mono);font-size:9.5px;transition:transform .3s}
.pv-years i.done{background:#3157ff1a;color:#3157ff;font-weight:700}
.pv-years i.doing{background:linear-gradient(135deg,#3157ff,#6f3cff);color:#fff;
  animation:fx-cell 2.6s ease-in-out infinite}
@keyframes fx-cell{0%,100%{box-shadow:0 0 0 0 #3157ff40}50%{box-shadow:0 0 0 5px #3157ff14}}
.pv-score{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px;
  padding:12px;border-radius:9px;background:#f5f7fb}
.pv-score small{display:block;font-size:10px;color:#818b9e}
.pv-score strong{display:block;margin-top:5px;font-size:24px;font-weight:640;color:#2b354c;letter-spacing:-.03em}
.pv-score strong em{font-style:normal;font-size:12px;color:#8a93a8;font-weight:400}
.pv-meter{flex:1;height:5px;border-radius:5px;background:#e6eaf3;overflow:hidden;margin-bottom:8px}
.pv-meter i{display:block;height:100%;width:0;border-radius:5px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet));transition:width 1.1s var(--fx-ease)}

/* 切页控制器 */
.pv-ctrl{display:flex;align-items:center;gap:16px;padding:14px 24px;border-top:1px solid #171f3712;
  background:#fbfcff}
.pv-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;
  border:1px solid #171f3726;background:#fff;color:#39435c;transition:all .25s}
.pv-arrow:hover{border-color:var(--fx-blue);color:var(--fx-blue);transform:translateY(-2px);
  box-shadow:0 8px 18px #3157ff1f}
.pv-arrow svg{width:14px;height:14px}
.pv-dots{display:flex;gap:7px}
.pv-dots button{width:22px;height:3px;padding:0;border:0;border-radius:3px;background:#171f3722;cursor:pointer;
  transition:background .3s,width .3s}
.pv-dots button.is-active{width:34px;background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet))}
.pv-count{margin-left:auto;font-family:var(--font-ui-mono);font-size:11px;letter-spacing:.1em;color:#8b95ab}
.pv-count b{color:var(--fx-ink);font-weight:600}
.pv-hint{font-size:10.5px;color:#9aa3b6}

/* ---------- 8. 响应式 ---------- */
@media (max-width:1080px){
  .pv__layout{grid-template-columns:212px 1fr}
  .pv-page{grid-template-columns:1fr;gap:26px;padding:30px 26px 24px}
  .pv-visual{min-height:280px}
  .pv-features{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .pv{margin-top:44px;border-radius:14px}
  .pv__layout{grid-template-columns:1fr}
  .pv-rail{flex-direction:row;border-right:0;border-bottom:1px solid var(--fx-line);background:#f8faff}
  .pv-tab{flex:1;flex-direction:column;gap:6px;padding:16px 12px 22px;border-bottom:0;
    border-right:1px solid #171f3712}
  .pv-tab:last-child{border-right:0}
  .pv-tab::before{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;transform:scaleX(0);
    transform-origin:0 50%}
  .pv-tab.is-active::before{transform:scaleX(1)}
  .pv-tab__idx{padding-top:0}
  .pv-tab__body strong{font-size:16px}
  .pv-tab__body small{font-size:10.5px;margin-top:3px}
  .pv-tab__go{display:none}
  .pv-tab__bar{left:12px;right:12px;bottom:8px}
  .pv-rail__foot{display:none}
  .pv-page{padding:24px 18px 18px;gap:22px}
  .pv-features{grid-template-columns:1fr;gap:10px}
  .pv-visual{padding:20px 14px;min-height:260px}
  .pv-ctrl{padding:12px 16px;gap:12px}
  .pv-hint{display:none}
  .fx-aura--two,.fx-aura--three{display:none}
  .fx-marquee__group{gap:34px;padding-right:34px}
  .fx-marquee__track span{font-size:10px;gap:34px;letter-spacing:.16em}
  .signal-bar__inner>span::after{display:none}
}

/* ---------- 9. 减少动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  .fx-aura,.fx-particles i,.stage-orbit--one,.stage-orbit--two,.input-chip,
  .stage-mark .brand-mark__image,.hero .hero-copy h1 em::after,.formula-core,.pv-eyebrow::before,
  .pv-years i.doing,.signal-bar__inner>span::after,.fx-marquee__track{animation:none!important}
  .fx-particles{display:none}
  .pv-page.is-enter{animation:none}
  .pv-tab.is-active .pv-tab__bar i{animation:none;transform:scaleX(0)}
}

/* ==========================================================================
   10. 灵动岛 Pro · 悬浮胶囊导航
   形态参考 PAYATHON 2026：深色胶囊 morph 展开、目录列表、CTA、滚动进度
   ========================================================================== */
.fx-island{position:fixed;top:14px;left:50%;z-index:300;
  pointer-events:none;opacity:0;
  transform:translate(calc(-50% + var(--dx,0px)),-170%) scale(.92);
  transition:transform .7s cubic-bezier(.3,1.4,.42,1),opacity .45s}
.fx-island.is-visible{pointer-events:auto;opacity:1;
  transform:translate(calc(-50% + var(--ix,0px) + var(--dx,0px)),var(--iy,0px)) scale(var(--jsx,1),var(--jsy,1))}
/* 停靠到顶部菜单项时的当前项高亮 */
.site-nav a{position:relative}
.site-nav a.is-current{color:#18213b;font-weight:650}
.site-nav a.is-current::after{content:"";position:absolute;left:50%;bottom:-9px;width:4px;height:4px;
  border-radius:50%;background:#3157ff;transform:translateX(-50%);
  box-shadow:0 0 0 3px #3157ff1f}
/* 容器：胶囊 ↔ 面板 morph */
.fx-island__body{position:relative;display:flex;flex-direction:column;width:max-content;min-width:196px;
  max-height:46px;border-radius:999px;overflow:hidden;
  background:linear-gradient(165deg,#141b2ef2 0%,#0c1220f7 100%);
  box-shadow:0 20px 55px rgba(8,14,28,.5),0 4px 14px rgba(8,14,28,.3),
    inset 0 0 0 1px #ffffff17,inset 0 1px 0 #ffffff24;
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  transition:max-height .6s cubic-bezier(.32,1.25,.4,1),border-radius .5s var(--fx-ease),box-shadow .4s,transform .38s var(--fx-ease)}
/* 悬停浮起（仅闭合胶囊态） */
.fx-island.is-visible:not(.is-open):hover .fx-island__body{transform:translateY(-2px) scale(1.03);
  box-shadow:0 28px 66px rgba(8,14,28,.56),0 8px 20px rgba(8,14,28,.34),
    inset 0 0 0 1px #ffffff22,inset 0 1px 0 #ffffff2e}
.fx-island.is-open .fx-island__body{max-height:560px;border-radius:22px;
  box-shadow:0 34px 90px rgba(8,14,28,.55),0 8px 24px rgba(8,14,28,.35),
    inset 0 0 0 1px #ffffff1a,inset 0 1px 0 #ffffff26}
/* 顶栏（胶囊本体） */
.fx-island__bar{position:relative;display:flex;align-items:center;gap:10px;flex:0 0 46px;
  padding:0 15px;border:0;background:none;color:#fff;font:inherit;cursor:pointer;overflow:hidden}
.fx-island__bar:focus-visible{outline:2px solid var(--fx-blue);outline-offset:3px}
.fx-island__bar:hover .fx-island__sheen{transform:translateX(140%);transition:transform 1s var(--fx-ease)}
/* 材质徽章：canvas 流动渐变 + ABS 字标 */
.fx-island__glint{position:relative;flex:0 0 24px;width:24px;height:24px;border-radius:9px;overflow:hidden;
  box-shadow:inset 0 0 0 1px #ffffff2e,0 0 14px #3157ff55;display:grid;place-items:center}
.fx-island__glint canvas{position:absolute;inset:0;width:100%;height:100%}
.fx-island__glint em{position:relative;font-style:normal;font-family:var(--font-ui-mono);
  font-size:6.5px;font-weight:700;letter-spacing:.06em;color:#fff;text-shadow:0 1px 4px #000c}
/* 标签 */
.fx-island__label{display:flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;max-width:240px;
  transition:max-width .45s var(--fx-ease),opacity .3s}
.fx-island__label b{font-family:var(--font-ui-mono);font-size:10px;font-weight:700;
  background:linear-gradient(120deg,#6f9bff,#13c6de);-webkit-background-clip:text;background-clip:text;color:transparent}
.fx-island__label i{width:1px;height:10px;background:#ffffff2b}
/* 滚动收缩态：隐藏标签 */
.fx-island.is-compact:not(.is-open) .fx-island__label{max-width:0;opacity:0}
.fx-island.is-compact:not(.is-open) .fx-island__body{min-width:0}
.fx-island__chev{width:13px;height:13px;color:#ffffffa6;flex:0 0 auto;
  transition:transform .4s var(--fx-ease)}
.fx-island.is-open .fx-island__chev{transform:rotate(180deg)}
/* 扫光 */
.fx-island__sheen{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,#ffffff26 50%,transparent 62%);
  transform:translateX(-140%)}
/* 滚动进度细条 */
.fx-island__progress{position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;
  overflow:hidden;opacity:.9}
.fx-island__progress i{display:block;height:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet) 55%,var(--fx-cyan));
  transform:scaleX(0);transform-origin:0 50%;transition:transform .15s linear;
  box-shadow:0 0 8px #3157ff88}
/* 区块名切换翻滚 */
.fx-island.fx-swap .fx-island__label b,
.fx-island.fx-swap .fx-island__label span{animation:fx-island-swap .5s var(--fx-ease)}
@keyframes fx-island-swap{0%{opacity:0;transform:translateY(10px) rotateX(40deg)}
  100%{opacity:1;transform:none}}
/* ---------- 展开面板 ---------- */
.fx-island__panel{display:flex;flex-direction:column;gap:4px;padding:6px 12px 14px;min-width:0}
.fx-island:not(.is-open):not(.is-closing) .fx-island__panel{display:none}
.fx-island.is-open .fx-island__panel{min-width:248px}
.fx-island__panel>*{opacity:0;transform:translateY(12px);
  transition:opacity .38s var(--fx-ease),transform .5s var(--fx-ease)}
.fx-island.is-open .fx-island__panel>*{opacity:1;transform:none}
.fx-island.is-open .fx-island__panel>*:nth-child(1){transition-delay:.06s}
.fx-island.is-open .fx-island__panel>*:nth-child(2){transition-delay:.12s}
.fx-island.is-open .fx-island__panel>*:nth-child(3){transition-delay:.18s}
/* 品牌行 */
.fx-island__brand{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:10px 4px 8px;border-bottom:1px solid #ffffff12;margin-bottom:2px}
.fx-island__word{font-family:var(--font-ui-mono);font-size:10px;font-weight:700;letter-spacing:.22em;
  background:linear-gradient(100deg,#6f9bff 10%,#13c6de 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.fx-island__reading{font-size:10.5px;color:#8b96b2;white-space:nowrap}
.fx-island__reading b{margin-left:6px;color:#fff;font-weight:600}
/* CTA */
.fx-island__cta{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;
  margin:8px 0 6px;padding:11px 14px;border-radius:13px;overflow:hidden;
  background:linear-gradient(115deg,#3157ff 10%,#6f3cff 90%);color:#fff;text-decoration:none;
  font-size:13px;font-weight:640;letter-spacing:.02em;
  box-shadow:0 8px 22px #3157ff45,inset 0 1px 0 #ffffff38;
  transition:transform .3s var(--fx-ease),box-shadow .3s}
.fx-island__cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px #3157ff55,inset 0 1px 0 #ffffff38}
.fx-island__cta svg{width:13px;height:13px;transition:transform .3s var(--fx-ease)}
.fx-island__cta:hover svg{transform:translate(2px,-2px)}
.fx-island__cta::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,#ffffff30 50%,transparent 65%);
  transform:translateX(-130%);transition:transform .8s var(--fx-ease)}
.fx-island__cta:hover::after{transform:translateX(130%)}
/* 目录列表 */
.fx-island__list{display:flex;flex-direction:column;gap:2px;margin-top:2px}
.fx-island__list a{position:relative;display:flex;align-items:center;gap:11px;
  padding:9.5px 12px;border-radius:11px;color:#9aa4bf;text-decoration:none;font-size:12.5px;
  transition:color .22s,background .22s,transform .3s var(--fx-ease)}
.fx-island__list a b{font-family:var(--font-ui-mono);font-size:9.5px;font-weight:700;color:#5d6885;
  transition:color .22s}
.fx-island__list a span{flex:1}
.fx-island__list a i{width:5px;height:5px;border-radius:50%;background:var(--fx-cyan);
  opacity:0;transform:scale(.4);transition:opacity .25s,transform .3s var(--fx-ease);
  box-shadow:0 0 8px #13c6de}
.fx-island__list a:hover{background:#ffffff0d;color:#fff;transform:translateX(4px)}
.fx-island__list a:hover b{color:#8fb0ff}
.fx-island__list a.is-live{color:#fff;background:linear-gradient(90deg,#3157ff1f,#6f3cff14)}
.fx-island__list a.is-live b{color:#7da2ff}
.fx-island__list a.is-live i{opacity:1;transform:scale(1);animation:fx-dot 2.2s ease-in-out infinite}
.fx-island__list a.is-live::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:2.5px;
  border-radius:3px;background:linear-gradient(180deg,var(--fx-blue),var(--fx-cyan))}

/* ==========================================================================
   11. 卡片 3D 倾斜（配合 fx-spot 聚光灯）
   ========================================================================== */
.fx-tilt{transition:transform .5s var(--fx-ease);will-change:transform}
.focus-card.fx-tilt:hover{box-shadow:0 26px 60px #2635661c}
.pv-card.fx-tilt:hover{box-shadow:0 30px 70px #1f3d5528}

/* ==========================================================================
   12. Hero 指针视差（用独立 translate 属性，避免与 transform 动画冲突）
   ========================================================================== */
.stage-mark,.input-chip,.fx-aura{transition:translate .55s var(--fx-ease)}

/* ---------- 灵动岛响应式 ---------- */
@media (max-width:760px){
  .fx-island{top:10px;width:calc(100vw - 32px);max-width:340px}
  .fx-island__body{width:100%;min-width:0}
  .fx-island__bar{flex-basis:42px;padding:0 13px}
  .fx-island__label{font-size:11.5px;max-width:190px}
  .fx-island.is-open .fx-island__body{max-height:70vh}
  .fx-island__panel{overflow-y:auto}
}

/* ---------- 灵动岛 / 倾斜 / 视差的减少动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  .fx-island{transition:opacity .2s;transform:translate(calc(-50% + var(--dx,0px)),-170%) scale(1)}
  .fx-island.is-visible{transform:translate(calc(-50% + var(--dx,0px)),0)}
  .fx-island.fx-swap .fx-island__label b,
  .fx-island.fx-swap .fx-island__label span,
  .fx-island__list a.is-live i{animation:none}
  .fx-island__body,.fx-island__label,.fx-island__chev,
  .fx-island__panel>*,.fx-island__list a,.fx-island__cta,
  .fx-island__progress i,.fx-tilt,
  .stage-mark,.input-chip,.fx-aura{transition-duration:.01ms!important}
}

/* ==========================================================================
   13. 首屏 Intro · 品牌揭幕（仅首页）
   ========================================================================== */
.fx-lock{overflow:hidden}
.fx-intro{position:fixed;inset:0;z-index:400;display:grid;place-items:center;
  background:linear-gradient(180deg,#fbfcff,#eef2fc);
  transition:transform .78s cubic-bezier(.76,0,.24,1);
  animation:fx-intro-auto .72s 1.05s cubic-bezier(.76,0,.24,1) forwards}
.fx-intro.is-out{transform:translateY(-101%)}
@keyframes fx-intro-auto{to{transform:translateY(-101%);visibility:hidden;pointer-events:none}}
.fx-intro__inner{display:flex;flex-direction:column;align-items:center;gap:20px}
.fx-intro__mark{width:82px;height:86px;object-fit:contain;
  animation:fx-intro-mark .62s var(--fx-ease) both;
  filter:drop-shadow(0 14px 30px #3157ff2e)}
@keyframes fx-intro-mark{from{opacity:0;transform:scale(.7) rotate(-7deg)}to{opacity:1;transform:none}}
.fx-intro__word{display:flex;font-family:var(--font-ui-mono);font-size:11px;font-weight:600;
  letter-spacing:.34em;color:#3a4260}
.fx-intro__word span{opacity:0;transform:translateY(14px);
  animation:fx-intro-ch .52s var(--fx-ease) forwards;
  animation-delay:calc(.28s + var(--fx-i,0) * 40ms)}
@keyframes fx-intro-ch{to{opacity:1;transform:none}}
.fx-intro__bar{width:120px;height:1.5px;border-radius:2px;background:#171f3714;overflow:hidden}
.fx-intro__bar i{display:block;height:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--fx-blue),var(--fx-violet),var(--fx-cyan));
  transform:scaleX(0);transform-origin:0 50%;animation:fx-intro-bar .95s .1s var(--fx-ease) forwards}
@keyframes fx-intro-bar{to{transform:scaleX(1)}}

/* ==========================================================================
   14. Hero 升级：标题行遮罩揭示 / 环形旋转文字 / 滚动提示 / 蓝图网格
   ========================================================================== */
/* 行遮罩揭示 */
.fx-lm{display:inline-block;overflow:hidden;vertical-align:bottom;
  padding-bottom:.09em;margin-bottom:-.09em}
.fx-lm__in{display:inline-block;transform:none;transform-origin:0 100%;
  animation:none}
@keyframes fx-lm-in{to{transform:none}}
/* 滚动提示 */
.fx-hint{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  color:#8b95ab;font-family:var(--font-ui-mono);font-size:8.5px;letter-spacing:.32em;
  transition:opacity .45s;pointer-events:none}
.fx-hint svg{width:14px;height:14px;color:#3157ff;animation:fx-hint-drop 1.8s var(--fx-ease) infinite}
.fx-hint.is-off{opacity:0}
@keyframes fx-hint-drop{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(6px);opacity:1}}
/* 蓝图网格（注入的 fx-hero-layer 上） */
.fx-hero-layer::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,#3157ff0c 0 1px,transparent 1px 76px),
    repeating-linear-gradient(0deg,#3157ff0c 0 1px,transparent 1px 76px);
  -webkit-mask-image:radial-gradient(78% 78% at 62% 42%,#000 25%,transparent 96%);
  mask-image:radial-gradient(78% 78% at 62% 42%,#000 25%,transparent 96%)}

/* ==========================================================================
   15. 细节增强：跑马灯流光 / 公式箭头 / 联系区符号 / 视差辅助 / 磁吸按钮
   ========================================================================== */
/* 跑马灯流光文字 */
.fx-marquee__track span{background:linear-gradient(90deg,#5b6780 0%,#5b6780 32%,#3157ff 46%,#6f3cff 52%,#13c6de 58%,#5b6780 72%,#5b6780 100%);
  background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fx-sheen 7s linear infinite}
@keyframes fx-sheen{from{background-position:130% 0}to{background-position:-130% 0}}
/* 公式箭头：推进感 */
.formula-arrow svg{animation:fx-nudge 1.7s ease-in-out infinite;color:var(--fx-blue)}
.formula-arrow:last-of-type svg{animation-delay:.35s}
@keyframes fx-nudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(6px);opacity:1}}
/* 联系区符号：缓慢浮动 + 呼吸 */
.contact-symbol .brand-mark__image{animation:fx-float 9s ease-in-out infinite}
/* 视差元素平滑 */
.section h2{will-change:transform}
/* 磁吸按钮 */
.fx-magnet{transition:transform .45s var(--fx-ease),box-shadow .3s!important;will-change:transform}

/* ==========================================================================
   16. 全局：锚点平滑滚动 + 新模块的减少动效偏好
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
@media (prefers-reduced-motion:reduce){
  .fx-intro{display:none}
  .fx-lm__in{transform:none;animation:none}
  .fx-hint svg,.fx-marquee__track span,.formula-arrow svg,
  .contact-symbol .brand-mark__image{animation:none}
  .fx-marquee__track span{background:none;color:#5b6780}
}

/* ==========================================================================
   17. 数字海洋 / 实物配套硬件 / 合作伙伴生态
   ========================================================================== */
/* 数字海洋：0/1 字符鱼群画布（注入 hero 的 fx-hero-layer 内） */
.fx-sea{position:absolute;inset:0;pointer-events:none}

/* ---------- 实物配套硬件 ---------- */
.hw-heading{grid-template-columns:1.18fr .82fr;align-items:end;gap:100px;display:grid}
.hw-heading h2 em{font-style:normal;color:#3157ff}
.hw-heading>p{color:#636b7d;font-size:14.5px;line-height:1.9;margin:0 0 6px}
.hw-grid{background:#d8dae1;border:1px solid #d8dae1;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:85px;display:grid}
.hw-card{background:#fafbfc;flex-direction:column;min-height:560px;padding:38px;display:flex;position:relative;overflow:hidden}
.hw-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(420px 300px at var(--mx,50%) var(--my,0%),#3157ff14,transparent 70%);
  transition:opacity .3s}
.hw-card:hover::after{opacity:1}
.hw-eyebrow{font-family:var(--font-ui-mono);font-size:10px;letter-spacing:.16em;color:#4666ff;margin:0 0 12px;font-weight:650}
.hw-card h3{font-size:21px;line-height:1.45;color:#101726;margin:0 0 14px;letter-spacing:-.01em}
.hw-desc{font-size:13px;line-height:1.85;color:#636b7d;margin:0 0 20px}
.hw-specs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.hw-specs span{font-family:var(--font-ui-mono);font-size:10px;letter-spacing:.04em;color:#3157ff;
  padding:5px 10px;border:1px solid #dfe4f5;border-radius:999px;background:#f4f6ff;
  transition:background .2s,color .2s,border-color .2s}
.hw-card:hover .hw-specs span{background:#eef1ff;border-color:#c7d2ff}
.hw-flow{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;
  border-top:1px dashed #dfe3ec;font-family:var(--font-ui-mono);font-size:9.5px;
  letter-spacing:.12em;color:#8a94a8}
.hw-flow i{flex:1;height:1px;background:linear-gradient(90deg,#c9d2ff,#3157ff);position:relative}
.hw-flow i::after{content:"";position:absolute;right:0;top:-2.5px;width:5px;height:5px;
  border-top:1px solid #3157ff;border-right:1px solid #3157ff;transform:rotate(45deg)}
/* 设备舞台：实物渲染图 */
.hw-device{height:210px;position:relative;margin-bottom:24px;border-radius:16px;overflow:hidden;
  background:#eef1f6;box-shadow:0 14px 34px rgba(12,18,32,.1),inset 0 0 0 1px #e2e6ee}
.hw-device img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.01);transition:transform .8s var(--fx-ease)}
.hw-card:hover .hw-device img{transform:scale(1.06)}
.hw-device::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,rgba(12,18,32,.14));opacity:0;transition:opacity .35s}
.hw-card:hover .hw-device::after{opacity:1}

/* ---------- 合作伙伴生态 ---------- */
.partners-head{grid-template-columns:1.18fr .82fr;align-items:end;gap:100px;display:grid}
.partners-head>p{color:#636b7d;font-size:14.5px;line-height:1.9;margin:0 0 6px}
.pt-marquee{margin-top:70px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pt-row{display:flex;gap:14px;width:max-content;padding:8px 0;animation:pt-scroll 36s linear infinite}
.pt-row--rev{animation:pt-scroll-rev 44s linear infinite}
.pt-marquee:hover .pt-row{animation-play-state:paused}
@keyframes pt-scroll{to{transform:translateX(-50%)}}
@keyframes pt-scroll-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.pt-chip{display:inline-flex;align-items:center;gap:12px;padding:13px 22px 13px 14px;border:1px solid #e2e6ee;
  border-radius:16px;background:#fff;white-space:nowrap;cursor:default;
  transition:border-color .25s,transform .25s,box-shadow .25s}
.pt-chip:hover{border-color:#3157ff55;transform:translateY(-3px);box-shadow:0 12px 30px rgba(49,87,255,.1)}
.pt-chip i{font-style:normal;font-family:var(--font-ui-mono);font-size:11px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#3157ff,#6f3cff);width:36px;height:36px;border-radius:11px;
  display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}
.pt-row--rev .pt-chip i{background:linear-gradient(135deg,#13c6de,#3157ff)}
.pt-chip b{font-size:14px;color:#18213b;font-weight:650;display:block}
.pt-chip small{display:block;font-family:var(--font-ui-mono);font-size:9px;letter-spacing:.16em;color:#98a2b6;margin-top:3px}
.pt-join{margin-top:56px;display:flex;align-items:center;justify-content:space-between;gap:26px;
  padding:30px 36px;border-radius:22px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#101726 0%,#1a2340 60%,#242c54 100%)}
.pt-join::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,#ffffff09 0 1px,transparent 1px 64px)}
.pt-join strong{font-size:19px;display:block;margin-bottom:6px;letter-spacing:.01em}
.pt-join span{font-family:var(--font-ui-mono);font-size:10px;letter-spacing:.18em;color:#ffffff80}
.pt-join__btn{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;
  font-size:13.5px;font-weight:600;padding:13px 22px;border-radius:999px;white-space:nowrap;
  background:#ffffff12;border:1px solid #ffffff2b;transition:background .25s,transform .25s}
.pt-join__btn:hover{background:#3157ff;border-color:#3157ff;transform:translateY(-2px)}
.pt-join__btn svg{width:15px;height:15px}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .hw-grid{grid-template-columns:1fr}
  .hw-card{min-height:0}
  .hw-heading,.partners-head{grid-template-columns:1fr;gap:26px}
}
@media (max-width:640px){
  .pt-join{flex-direction:column;align-items:flex-start;padding:26px}
  .hw-grid{margin-top:55px}
}

/* ---------- 减少动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  .fx-sea{display:none}
  .pt-row,.pt-row--rev{animation:none}
  .hw-device img{transition:none;transform:none}
  .pt-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* ==========================================================================
   18. 灵动岛生命力：EQ 波纹 / 果冻形变 / 徽章脉冲 / 边缘流光
   ========================================================================== */
/* 实时活动波纹：滚动时跳动，静止时隐去（仿 Live Activity） */
.fx-island__eq{display:flex;align-items:flex-end;gap:2px;height:12px;flex:0 0 auto;
  max-width:0;opacity:0;overflow:hidden;transition:max-width .32s var(--fx-ease),opacity .28s}
.fx-island__eq i{width:2.5px;border-radius:2px;transform-origin:bottom;
  background:linear-gradient(180deg,#13c6de,#3157ff);height:26%;
  animation:fx-eq .9s ease-in-out infinite;animation-play-state:paused}
.fx-island__eq i:nth-child(2){animation-delay:.14s}
.fx-island__eq i:nth-child(3){animation-delay:.28s}
@keyframes fx-eq{0%,100%{height:22%}50%{height:100%}}
.fx-island.is-scrolling:not(.is-compact):not(.is-open) .fx-island__eq{max-width:20px;opacity:.95}
.fx-island.is-scrolling .fx-island__eq i{animation-play-state:running}
/* 徽章脉冲 + 光圈扩散（区块切换时；光圈独立于胶囊，避免 overflow 裁剪） */
.fx-island__glint.fx-pop{animation:fx-pop .62s var(--fx-ease)}
@keyframes fx-pop{0%{transform:scale(1)}32%{transform:scale(1.24)}100%{transform:scale(1)}}
.fx-island__pulse{position:absolute;left:15px;top:11px;width:24px;height:24px;border-radius:12px;
  border:1.5px solid #13c6de;opacity:0;pointer-events:none;z-index:6}
.fx-island__pulse.fx-pop{animation:fx-ripple .62s ease-out}
@keyframes fx-ripple{0%{opacity:.85;transform:scale(.8)}100%{opacity:0;transform:scale(2.1)}}
/* 边缘流光描边（@property 角度动画，不支持则为静态微光） */
@property --ga{syntax:'<angle>';initial-value:0deg;inherits:false}
.fx-island__body::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;
  pointer-events:none;z-index:5;
  background:conic-gradient(from var(--ga,0deg),transparent 60%,#3157ff59 76%,#13c6de9e 87%,#6f3cff70 94%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  animation:fx-ga 7s linear infinite}
@keyframes fx-ga{to{--ga:360deg}}
/* 输入/展开时收住装饰动效，避免与中文输入法候选框争抢注意力 */
.fx-island.is-open .fx-island__body::before{animation-duration:16s;opacity:.55}
.fx-island.is-typing .fx-island__body::before,
.fx-island.is-typing .fx-island__eq i,
.fx-island.is-typing .fx-island__sheen{animation-play-state:paused}
.fx-island.is-typing .fx-island__progress i{transition-duration:.18s}
.fx-island.is-typing .fx-island__panel>*{animation:none;opacity:1;transform:none}
/* 减少动效偏好 */
@media (prefers-reduced-motion:reduce){
  .fx-island__eq{display:none}
  .fx-island__glint.fx-pop,.fx-island__pulse.fx-pop{animation:none}
  .fx-island__body::before{animation:none}
}

/* ==========================================================================
   19. 灵动岛 AI 问答：搜索框 / 结果列表 / 回答气泡
   ========================================================================== */
/* 面板子项逐项入场（新增 ask/ans 后顺延） */
.fx-island.is-open .fx-island__panel>*:nth-child(4){transition-delay:.2s}
.fx-island.is-open .fx-island__panel>*:nth-child(5){transition-delay:.26s}
.fx-island.is-open .fx-island__panel>*:nth-child(6){transition-delay:.32s}
/* 搜索框 */
.fx-island__ask{display:flex;align-items:center;gap:9px;margin:9px 0 2px;padding:11px 12px;
  border-radius:12px;background:#ffffff0a;border:1px solid #ffffff14;
  transition:border-color .25s,background .25s,box-shadow .25s}
.fx-island__ask:focus-within{border-color:#3157ff88;background:#ffffff10;
  box-shadow:0 0 0 3px #3157ff26}
.fx-island__ask svg{width:14px;height:14px;color:#8b96b2;flex:0 0 auto}
.fx-island__ask input{flex:1;min-width:0;background:none;border:0;outline:none;
  color:#fff;font:inherit;font-size:14px;letter-spacing:.02em;caret-color:#13c6de}
.fx-island__ask input::placeholder{color:#5d6885}
.fx-island__ask b{flex:0 0 auto;font-family:var(--font-ui-mono);font-size:8.5px;font-weight:700;
  letter-spacing:.08em;padding:3px 7px;border-radius:6px;
  background:linear-gradient(115deg,#3157ff,#6f3cff);color:#fff;
  box-shadow:0 2px 8px #3157ff55}
/* 结果区 */
.fx-island__ans{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.fx-island__ans[hidden]{display:none}
.fx-res-hint{font-size:10.5px;color:#8b96b2;padding:4px 6px 6px;letter-spacing:.03em}
.fx-res-hint b{color:#13c6de;font-weight:700}
.fx-res-item{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;
  padding:9px 12px;border:0;border-radius:11px;cursor:pointer;font:inherit;
  background:transparent;color:#9aa4bf;
  opacity:0;transform:translateY(8px);animation:fx-res-in .42s var(--fx-ease) forwards;
  animation-delay:calc(var(--ri,0) * 55ms);
  transition:background .2s,color .2s}
.fx-res-item:hover{background:#ffffff0d;color:#fff}
.fx-res-item b{font-size:12.5px;color:#e8ecf7;font-weight:640}
.fx-res-item span{font-size:10.5px;color:#74809d;line-height:1.5}
@keyframes fx-res-in{to{opacity:1;transform:none}}
/* 回答气泡 */
.fx-ans-one{padding:4px 2px 2px;animation:fx-res-in .45s var(--fx-ease)}
.fx-ans-q{font-size:11px;color:#74809d;margin:0 0 7px;letter-spacing:.02em}
.fx-ans-a{margin:0;padding:12px 13px;border-radius:4px 13px 13px 13px;
  background:linear-gradient(135deg,#3157ff1f,#6f3cff17);border:1px solid #3157ff30;
  color:#dfe5f5;font-size:12px;line-height:1.75}
.fx-ans-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.fx-ans-back{border:0;background:none;color:#74809d;font:inherit;font-size:11px;cursor:pointer;
  padding:4px 6px;transition:color .2s}
.fx-ans-back:hover{color:#fff}
.fx-ans-go{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:640;
  padding:7px 13px;border-radius:999px;color:#fff;
  background:linear-gradient(115deg,#3157ff,#6f3cff);box-shadow:0 6px 16px #3157ff44;
  transition:transform .25s var(--fx-ease),box-shadow .25s}
.fx-ans-go:hover{transform:translateY(-1px);box-shadow:0 10px 22px #3157ff55}
@media (prefers-reduced-motion:reduce){
  .fx-res-item{animation:none;opacity:1;transform:none}
  .fx-ans-one{animation:none}
}

/* ==========================================================================
   20. 跑马灯可点击跳转 / 页脚导航
   ========================================================================== */
/* 业务方向条：整格可点击 */
.signal-bar__inner>a.signal-link{color:#3b4458;border-right:1px solid #171f3717;
  align-items:center;gap:15px;min-height:86px;padding:0 25px;font-size:13px;display:flex;
  text-decoration:none;position:relative;transition:color .2s,background .25s}
.signal-bar__inner>a.signal-link:first-child{border-left:1px solid #171f3717}
.signal-bar__inner>a.signal-link:hover{color:#18213b;background:#f4f6ff}
.signal-bar__inner>a.signal-link::after{content:"→";margin-left:auto;font-size:11px;color:#3157ff;
  opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .3s var(--fx-ease)}
.signal-bar__inner>a.signal-link:hover::after{opacity:1;transform:none}
/* 页脚导航行 */
.footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 26px;
  margin-top:44px;padding-top:26px;border-top:1px solid #171f3714}
.footer-links a{color:#748096;font-size:12.5px;text-decoration:none;letter-spacing:.02em;
  transition:color .2s}
.footer-links a:hover{color:#3157ff}
@media (max-width:760px){
  .signal-bar__inner>a.signal-link{min-height:64px;padding:0 14px;font-size:12px}
  .footer-links{gap:6px 18px}
}

/* ---------- AI 问答增强：建议问题 chips / 打字机光标 / 追问 ---------- */
.fx-ask-sug{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;
  padding-top:10px;border-top:1px dashed #ffffff14}
.fx-ask-sug span{font-family:var(--font-ui-mono);font-size:9px;letter-spacing:.14em;color:#5d6885;margin-right:2px}
.fx-ask-sug button{border:1px solid #ffffff1c;background:#ffffff08;color:#9aa4bf;cursor:pointer;
  font:inherit;font-size:10.5px;padding:5px 10px;border-radius:999px;
  transition:border-color .22s,color .22s,background .22s,transform .25s var(--fx-ease)}
.fx-ask-sug button:hover{border-color:#3157ff77;color:#fff;background:#3157ff1f;transform:translateY(-1px)}
/* 打字机光标 */
.fx-ans-a.is-typing::after{content:"▍";color:#13c6de;animation:fx-blink 1.15s steps(1) infinite;margin-left:1px}
@keyframes fx-blink{50%{opacity:0}}
/* 追问 chips */
.fx-ans-fu{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;
  transition:opacity .4s var(--fx-ease)}
.fx-ans-fu.is-in{animation:fx-res-in .4s var(--fx-ease)}
.fx-ans-fu span{font-family:var(--font-ui-mono);font-size:9px;letter-spacing:.14em;color:#5d6885;margin-right:2px}
.fx-ans-fu button{border:1px solid #ffffff1c;background:#ffffff08;color:#9aa4bf;cursor:pointer;
  font:inherit;font-size:10.5px;padding:5px 10px;border-radius:999px;
  transition:border-color .22s,color .22s,background .22s,transform .25s var(--fx-ease)}
.fx-ans-fu button:hover{border-color:#13c6de77;color:#fff;background:#13c6de1a;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){
  .fx-ans-a.is-typing::after{content:none}
}
