/* 动效规范 - 入场动画、过渡、Reduced Motion 支持 */

/* ===== 内容入场动画 ===== */
.content {
  animation: fadeIn var(--duration-slow) var(--ease-standard);
}

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

/* Greeting 滑入 */
.greeting-block {
  animation: slideUp var(--duration-slow) var(--ease-standard);
}

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

/* 卡片 stagger 入场 */
.highlight-card {
  animation: slideUp var(--duration-normal) var(--ease-standard) both;
}

.highlights-list .highlight-card:nth-child(1) { animation-delay: 50ms; }
.highlights-list .highlight-card:nth-child(2) { animation-delay: 100ms; }
.highlights-list .highlight-card:nth-child(3) { animation-delay: 150ms; }
.highlights-list .highlight-card:nth-child(4) { animation-delay: 200ms; }
.highlights-list .highlight-card:nth-child(5) { animation-delay: 250ms; }

/* 快讯 stagger */
.quick-news-item {
  animation: fadeIn var(--duration-normal) var(--ease-standard) both;
}

.quick-news-list .quick-news-item:nth-child(1) { animation-delay: 30ms; }
.quick-news-list .quick-news-item:nth-child(2) { animation-delay: 60ms; }
.quick-news-list .quick-news-item:nth-child(3) { animation-delay: 90ms; }
.quick-news-list .quick-news-item:nth-child(4) { animation-delay: 120ms; }
.quick-news-list .quick-news-item:nth-child(5) { animation-delay: 150ms; }
.quick-news-list .quick-news-item:nth-child(6) { animation-delay: 180ms; }
.quick-news-list .quick-news-item:nth-child(7) { animation-delay: 210ms; }
.quick-news-list .quick-news-item:nth-child(8) { animation-delay: 240ms; }

/* ===== 领域切换动画 ===== */
.section-content.is-switching {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity var(--duration-normal) var(--ease-standard),
              transform var(--duration-normal) var(--ease-standard);
}

.section-content {
  transition: opacity var(--duration-normal) var(--ease-standard),
              transform var(--duration-normal) var(--ease-standard);
}

/* ===== 抽屉动画 ===== */
.history-drawer.is-open {
  transform: translateX(0);
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* 骨架屏停止 shimmer */
  .skeleton {
    animation: none;
    background-color: var(--color-border);
  }
}
