* {
  scrollbar-color: rgb(31 41 55 / var(--tw-bg-opacity)) transparent;
}

.light-scroll-bar {
  scrollbar-color: rgb(55 65 81 / var(--tw-bg-opacity)) transparent;
}

.htmx-request {
  display: block;
}

.hx-indicator {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.hx-indicator.htmx-request {
  visibility: visible;
  opacity: 1;
}

[x-cloak] {
  display: none !important;
}

.codehilite pre {
  white-space: pre-wrap;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleUp {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.5s ease-out forwards;
}

.animate-scaleUp {
  animation: scaleUp 0.5s ease-out forwards;
}

.animate-fadeInRight {
  animation: fadeInRight 0.5s ease-out forwards;
}

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

.animate-fadeOutDown {
  animation: fadeOutDown 0.5s ease-out forwards;
}
