/* Dark scrollbar for webkit */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: rgb(var(--color-dark));
}
::-webkit-scrollbar-thumb {
  background: rgb(var(--color-dark-300));
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgb(var(--color-accent));
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--color-dark-300)) rgb(var(--color-dark));
}

/* Accent focus ring for accessibility */
*:focus-visible {
  outline: 2px solid rgb(var(--color-accent));
  outline-offset: 2px;
}

/* Video player custom controls tint */
video::-webkit-media-controls-panel {
  background: linear-gradient(to top, rgb(var(--color-dark) / 0.9) 0%, transparent 100%);
}

/* Line clamp fallback */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Smooth tap highlight on mobile */
a, button {
  -webkit-tap-highlight-color: transparent;
}

/* Card entrance stagger base */
.animate-fade-in-up {
  opacity: 0;
}
