/* ===================================================================
   大成汇官网 · animations.css
   关键帧动画 / 滚动入场揭示 / 动效降级
   =================================================================== */

/* ---- 滚动入场：默认隐藏，加 .visible 后显现 ---- */
.reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .8s var(--ease-premium), transform .8s var(--ease-premium);
    transition-delay: var(--d, 0s);
    will-change: opacity, transform;
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* 左侧滑入（可扩展） */
.reveal-left { opacity: 0; transform: translateX(-40px); transition: opacity .8s var(--ease-premium), transform .8s var(--ease-premium); transition-delay: var(--d,0s); }
.reveal-left.visible { opacity: 1; transform: translateX(0); }

/* ---- 关键帧 ---- */
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes glow-pulse { 0%,100%{box-shadow:0 0 20px rgba(64,184,240,0.15)} 50%{box-shadow:0 0 35px rgba(64,184,240,0.35)} }
@keyframes pulse-glow { 0%,100%{opacity:1; filter:drop-shadow(0 0 12px rgba(64,184,240,0.4))} 50%{opacity:.85; filter:drop-shadow(0 0 24px rgba(64,184,240,0.7))} }

@keyframes scrollPulse {
    0%, 100% { opacity: .3; transform: scaleY(.6); }
    50%      { opacity: 1;  transform: scaleY(1); }
}

/* 光带流动（边框渐变） */
@keyframes borderFlow {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

/* 数字渐变文字微光 */
@keyframes textGlow {
    0%, 100% { filter: drop-shadow(0 0 6px rgba(64,184,240,0.3)); }
    50%      { filter: drop-shadow(0 0 16px rgba(64,184,240,0.6)); }
}

/* 脉冲（中枢核心等） */
@keyframes pulse {
    0%, 100% { transform: scale(1);   opacity: .8; }
    50%      { transform: scale(1.08); opacity: 1; }
}

/* 旋转扫描（径向） */
@keyframes radar {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* ---- 减少动效偏好：无障碍 ---- */
@media (prefers-reduced-motion: reduce) {
    .reveal, .reveal-left { opacity: 1 !important; transform: none !important; transition: none !important; }
    .boot-ring, .scroll-arrow { animation: none !important; }
    html { scroll-behavior: auto; }
}
