/* ==========================================================================
   落地开场动画（1:1 复刻 E:/Desktop/aichimi/aicm-web/assets/css/app.css §6）
   AIMIWUYO 逐字母描边流动 → 渐变填充 → 停留回流 → 整层淡出让位。
   纯 CSS、零依赖；播完由 assets/js/intro.js 移除节点；reduced-motion 直接跳过。
   时间轴：draw .15+i*.12s → fill +.5s → 回流 2.05-3.05s → 整层淡出 3.15-3.7s
   本仓为「手机壳内预览」形态，故仅两处容器适配：
   fixed inset:0 → absolute inset:0；min(78vw,720px) → min(78%,320px)。
   ========================================================================== */
#aimiIntro {
  position: absolute; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: #F7F6FB;
  /* 纯装饰层：必须不吃点击，否则开场那 3.7s 里整站点不动 */
  pointer-events: none;
  animation: aimi-out .55s ease 3.15s forwards;
}
.aimi-intro-svg { width: min(78%, 320px); height: auto; overflow: visible; }
.aimi-il {
  font-family: 'Montserrat', 'Noto Sans SC', Arial, Helvetica, sans-serif;
  font-size: 140px; font-weight: 800;
  fill: url(#aimiFillG); fill-opacity: 0;
  stroke: url(#aimiStrokeG); stroke-width: 2;
  stroke-dasharray: 900; stroke-dashoffset: 900;
  animation:
    aimi-draw .8s cubic-bezier(.65, 0, .35, 1) forwards,
    aimi-fill .45s ease-out forwards,
    aimi-flow 1s ease-in-out forwards;
}
/* 每字母三段延迟：描边依次入场 / 填充随后 / 回流统一 */
.aimi-il:nth-of-type(1) { animation-delay: .15s, .65s, 2.05s; }
.aimi-il:nth-of-type(2) { animation-delay: .27s, .77s, 2.05s; }
.aimi-il:nth-of-type(3) { animation-delay: .39s, .89s, 2.05s; }
.aimi-il:nth-of-type(4) { animation-delay: .51s, 1.01s, 2.05s; }
.aimi-il:nth-of-type(5) { animation-delay: .63s, 1.13s, 2.05s; }
.aimi-il:nth-of-type(6) { animation-delay: .75s, 1.25s, 2.05s; }
.aimi-il:nth-of-type(7) { animation-delay: .87s, 1.37s, 2.05s; }
.aimi-il:nth-of-type(8) { animation-delay: .99s, 1.49s, 2.05s; }
@keyframes aimi-draw { to { stroke-dashoffset: 0; } }
@keyframes aimi-fill { to { fill-opacity: 1; } }
@keyframes aimi-flow { 0% { stroke-dashoffset: 0; } 50% { stroke-dashoffset: -80; } 100% { stroke-dashoffset: 0; } }
@keyframes aimi-out  { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
  #aimiIntro { display: none; }
}
