/* ===== Motion.Lab 动效集成（精简版） ===== */

/* 渐变文字 */
.gradient-text {
  background: linear-gradient(90deg, var(--c1), var(--c2), var(--c3), var(--c1));
  background-size: 300% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: gradShift 6s linear infinite;
}
@keyframes gradShift { to { background-position: 300% 0; } }

/* 悬浮呼吸（CTA / 徽标） */
.float { animation: floaty 3.5s ease-in-out infinite; }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* 脉冲提示（免费体验课标签等） */
.pulse-dot { position: relative; }
.pulse-dot::before {
  content: ""; position: absolute; inset: -6px; border-radius: 999px;
  background: var(--brand); opacity: .35; animation: pulseRing 1.8s ease-out infinite;
}
@keyframes pulseRing { 0% { transform: scale(.8); opacity: .5; } 100% { transform: scale(1.8); opacity: 0; } }

/* 按钮点击波纹 */
.ripple-btn { position: relative; overflow: hidden; }
.ripple-btn .ripple {
  position: absolute; border-radius: 50%; transform: translate(-50%, -50%) scale(0);
  background: rgba(255,255,255,0.55); animation: ripple .6s ease-out forwards; pointer-events: none;
}
@keyframes ripple { to { transform: translate(-50%, -50%) scale(12); opacity: 0; } }

/* 跑马灯信任条 */
.marquee { display: flex; gap: 40px; overflow: hidden; white-space: nowrap; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track { display: flex; gap: 40px; animation: marquee 18s linear infinite; }
.marquee__track span { font-weight: 700; color: var(--muted); font-size: 15px; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 卡片悬浮强化已由 style.css 处理；此处补充光泽 */
.card:hover .tag { box-shadow: 0 6px 16px rgba(236,72,153,0.4); }

/* 无障碍：尊重 reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .reveal, .float, .pulse-dot::before, .gradient-text, .marquee__track { animation: none !important; opacity: 1 !important; transform: none !important; }
  .reveal { opacity: 1; transform: none; }
}
