/* animations.css - Apple HIG 动画系统 v5.0 */

/* ================================================================
   Keyframes
   ================================================================ */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }

@keyframes popupEnter {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes popupExit {
  from { opacity: 1; transform: translate(-50%, -50%); }
  to   { opacity: 0; transform: translate(-50%, -48%); }
}

@keyframes pageOutToday {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.98); }
}
@keyframes pageInSearch {
  from { opacity: 0.9; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes pageOutSearch {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(-30px); }
}
@keyframes pageInToday {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes cardEnter {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes breathe {
  0%, 100% { opacity: 0.6; }
  50%      { opacity: 1; }
}

@keyframes skeletonPulse {
  0%, 100% { opacity: 0.3; }
  50%      { opacity: 0.6; }
}

/* 兼容旧动画名 */
@keyframes appleFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes overlayOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes appleBreathe {
  0%, 100% { opacity: 0.6; }
  50%      { opacity: 1; }
}
@keyframes appleEmphasis {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.015); }
}
@keyframes shimmer { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
