/* ========================================
   responsive.css — 媒体查询 + 入场动画
   ======================================== */

/* ===== 入场动画 ===== */
.fade-in {
  opacity: 0;
  transform: translateY(16px);
  animation: fadeInUp 0.5s ease forwards;
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.delay-1 { animation-delay: 0.05s; }
.delay-2 { animation-delay: 0.10s; }
.delay-3 { animation-delay: 0.15s; }
.delay-4 { animation-delay: 0.20s; }

/* ===== 响应式断点 ===== */
@media (max-width: 900px) {
  .sidebar {
    transform: translateX(-100%);
  }
  .main-content {
    margin-left: 0;
    padding: 24px 20px;
  }
  .info-grid {
    grid-template-columns: 1fr;
  }
}
