body {
  min-height: 100vh;
  scroll-behavior: smooth;
  background-color: #020617;
}

.timeline-card::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: -2rem;
  width: 12px;
  height: 12px;
  margin-block: auto;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.8), rgba(124, 58, 237, 0.8));
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.timeline-card:hover::before {
  transform: scale(1.25);
  box-shadow: 0 0 25px rgba(245, 158, 11, 0.7);
}

.timeline-card[data-region="southeast-asia"]::before {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.9), rgba(14, 165, 233, 0.8));
}

.timeline-card[data-region="himalayan"]::before {
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.9), rgba(59, 130, 246, 0.7));
}

.module-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  backdrop-filter: blur(6px);
}

.module-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, rgba(148, 163, 184, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.module-card:hover::after {
  opacity: 1;
}

.timeline-filter.active-filter {
  box-shadow: 0 10px 20px rgba(245, 158, 11, 0.25);
}

#diffusionCanvas {
  background: radial-gradient(circle at 20% 20%, rgba(251, 191, 36, 0.2), transparent 60%),
    radial-gradient(circle at 80% 30%, rgba(56, 189, 248, 0.18), transparent 65%),
    linear-gradient(160deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.6));
}

@media (max-width: 768px) {
  header nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .timeline-card::before {
    left: -1.5rem;
  }
}

