/* ═══════════════════════════════════════════════════════════
   CSI MaaS motion.css — 6 个动效原语（全站只有这 6 个）
   rise / stagger / unmask / draw / drift / lift
   规范来源：方案 §8.2 · 动效宪法 §8.1
   ═══════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion:no-preference){

  /* ① rise —— 卡片 / 区块 / 段落（620ms，20px，blur 6px） */
  [data-rv="rise"]{ opacity:0; transform:translateY(20px); filter:blur(6px); }
  [data-rv="rise"].rv-in{
    opacity:1; transform:none; filter:blur(0);
    transition:opacity var(--d-slow) var(--e-out),
               transform var(--d-slow) var(--e-out),
               filter var(--d-slow) var(--e-out);
  }

  /* ② unmask —— 标题逐行上升（820ms，一个行高）
     结构：<h2 data-rv="unmask"><span class="ln"><b>行1</b></span>… */
  [data-rv="unmask"] .ln{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
  [data-rv="unmask"] .ln > b{ display:block; font-weight:inherit; transform:translateY(106%); }
  [data-rv="unmask"].rv-in .ln > b{ transform:none; transition:transform var(--d-reveal) var(--e-mask); }
  [data-rv="unmask"].rv-in .ln:nth-child(2) > b{ transition-delay:90ms; }
  [data-rv="unmask"].rv-in .ln:nth-child(3) > b{ transition-delay:180ms; }

  /* ③ draw —— 线条 / 下划线 / 进度条（900ms scaleX） */
  [data-rv="draw"]{ transform:scaleX(0); transform-origin:left; }
  [data-rv="draw"].rv-in{ transform:scaleX(1); transition:transform var(--d-draw) var(--e-mask); }

  /* 板块头金线随 unmask 同步绘制 */
  .sec-head.rv-in::after{ transform:scaleX(1); transition:transform var(--d-draw) var(--e-mask) 150ms; }
  .sec-head--center.rv-in .gold-rule{ transform:scaleX(1); transition:transform var(--d-draw) var(--e-mask) 150ms; }
  .sec-head--center .gold-rule{ transform:scaleX(0); }

  /* ⑤ drift —— 环境动效在各页 page CSS 内定义（周期 5–17s，幅度 ≤2%） */

  /* ⑥ lift —— 卡片 hover 在 components.css .card 内定义（仅 hover:hover） */
}

/* reduced-motion 全覆盖（§8.1-3） */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-rv]{ opacity:1 !important; transform:none !important; filter:none !important; }
  [data-rv="unmask"] .ln > b{ transform:none !important; }
  .sec-head::after,.sec-head--center .gold-rule{ transform:scaleX(1) !important; }
  .hero-motes,.hero-beam,.hero-sheen,.hero-comet,.spark-sonar,.dial-sonar,
  .phero .orbit-arc,.flow-dot{ display:none !important; }
  .phero-stage img{ transform:none !important; }
  .phero-title .ln > b,.phero-desc,.phero-btns,.phero-copy .eyebrow,.phero-rule{
    opacity:1 !important; transform:none !important;
  }
}
