/* ========== CursorGo 动画增强（纯 CSS，不依赖 JS） ========== */

/* 弹窗入场：挂载即播放，无需 JS */
.modal-backdrop {
  animation: backdropIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.modal-backdrop .edit-modal,
.modal-backdrop .login-card {
  animation: modalIn 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes backdropIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes modalIn {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(0.94);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

/* Logo 悬浮呼吸 */
.logo-mark {
  animation: logoFloat 5s cubic-bezier(0.33, 1, 0.68, 1) infinite alternate;
}

@keyframes logoFloat {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(-6px) rotate(0.8deg);
  }
}

/* 动态背景淡化过渡 */
.dynamic-background {
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* reduced-motion 降级 */
@media (prefers-reduced-motion: reduce) {
  .modal-backdrop,
  .modal-backdrop .edit-modal,
  .modal-backdrop .login-card {
    animation: none;
  }
  .logo-mark {
    animation: none;
  }
}
