@charset "utf-8";
/* ===========================================================================
   动效层 —— 只保留有意义的四项，所有效果在 prefers-reduced-motion 下自动关闭。
   删除记录（2026-08，去模版化精修）：
     · 粒子星座网 canvas —— 科技站最泛滥的一个视觉套路，且整块都是强调色，
       占掉首屏大量绿色像素，直接删掉动效层与对应 JS。
     · 每个 h2 的绿色光束扫过 —— 一页 8–12 次，扫成了节拍器。
     · 章节顶线的绿色生长 —— 同上，改为静态刻度（main.css .sec::after）。
   =========================================================================== */

/* 1. 顶部滚动进度线：整页唯一的「系统状态」动效，保留 */
.fx-prog{position:fixed;left:0;top:var(--nav-h);height:1.5px;z-index:81;width:0;
  background:var(--cy);opacity:.72;transition:width .12s linear;pointer-events:none}

/* 2. 主按钮的指针光泽：只给主行动按钮，次级按钮不给 */
.btn{--fx-x:50%;--fx-y:50%}
.btn--primary::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(90px 90px at var(--fx-x) var(--fx-y),rgba(255,255,255,.24),transparent 70%);
  opacity:0;transition:opacity .35s var(--ease)}
.btn--primary:hover::after{opacity:1}

/* 3. 指针辉光：只给「一行就是一个条目」的列表行，卡片和面板不再跟着一起亮 */
.fx-glow{position:relative;--gx:50%;--gy:50%}
.fx-glow::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;
  background:radial-gradient(260px 160px at var(--gx) var(--gy),var(--cy-05),transparent 66%);
  transition:opacity .4s var(--ease)}
.fx-glow:hover::before{opacity:1}
.fx-glow > *{position:relative;z-index:1}

/* 4. 设备轻微倾斜：这是产品本体，值得一点视差 */
.kioskbox{transition:transform .5s var(--ease)}
.fx-tilt{transform-style:preserve-3d;perspective:1400px}

@media (prefers-reduced-motion:reduce){
  .fx-prog{display:none!important}
  .kioskbox{transform:none!important}
}

/* 「AI 编排走线」画布 */
.fx-trace{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(105deg,#000 0%,#000 56%,rgba(0,0,0,.45) 82%,transparent 100%);
          mask-image:linear-gradient(105deg,#000 0%,#000 56%,rgba(0,0,0,.45) 82%,transparent 100%)}
.fx-trace canvas{width:100%;height:100%;display:block}
:root[data-theme="light"] .fx-trace{opacity:.5}
@media (prefers-reduced-motion:reduce){.fx-trace{display:none}}
@media (max-width:900px){.fx-trace{display:none}}
