
body.ui-style-9 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

.container {
  animation: fadeIn 0.5s ease-in;
}

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

.card, .rank-item, .topic-card, .timeline-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover, .rank-item:hover, .topic-card:hover, .timeline-card:hover {
  transform: translateY(-4px);
}

nav a {
  position: relative;
  transition: color 0.3s;
}

nav a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: all 0.3s;
  transform: translateX(-50%);
}

nav a:hover::after {
  width: 80%;
}

@media (max-width: 768px) {
  .hero h1 { font-size: 1.8rem; }
  .page-header h1 { font-size: 1.5rem; }
  .grid { grid-template-columns: 1fr; }
}
