html { scroll-padding-top: 80px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(124, 58, 237, 0.25);
  border-radius: 9999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 58, 237, 0.45);
  background-clip: padding-box;
  border: 2px solid transparent;
}

.nav-link.is-active {
  background: rgb(245 243 255);
  color: rgb(124, 58, 237);
}
.dark .nav-link.is-active {
  background: rgba(124, 58, 237, 0.18);
  color: rgb(196 181 253);
}

#mobileNav.open { display: block; }

@keyframes softFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
#home > div > div:first-child > * { animation: softFadeUp 0.7s ease-out both; }
#home > div > div:first-child > *:nth-child(1) { animation-delay: 0.05s; }
#home > div > div:first-child > *:nth-child(2) { animation-delay: 0.12s; }
#home > div > div:first-child > *:nth-child(3) { animation-delay: 0.18s; }
#home > div > div:first-child > *:nth-child(4) { animation-delay: 0.24s; }
#home > div > div:first-child > *:nth-child(5) { animation-delay: 0.30s; }
#home > div > div:first-child > *:nth-child(6) { animation-delay: 0.36s; }
