@import "tailwindcss";
@custom-variant dark (&:where(.dark, .dark *));

@tailwind base;
@tailwind components;
@tailwind utilities;
@tailwind typography;


@keyframes scrollTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-scroll {
  animation: scrollTicker 40s linear infinite;
  display: flex;
  width: max-content;
  will-change: transform;
}

@media (hover: hover) {
  .group:hover .animate-scroll {
    animation-play-state: paused;
  }
}

@media (max-width: 767px) {
  .animate-scroll {
    animation: none !important;
    transform: none !important;
  }

  #event-ticker-wrapper {
    transform: none !important;
  }

  #ticker-scroll-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #event-ticker-clone {
    display: none;
  }
}

.header-gradient-border {
  position: relative;
  padding-bottom: 4px; /* space for bottom border */
}

.header-gradient-border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 100%;

  background: linear-gradient(90deg, red, orange, red);
  background-size: 200% 100%;

  animation: border-slide 3s ease-in-out infinite alternate;
}

@keyframes border-slide {
  0% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: 100%;
  }
}

@keyframes fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

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

  @media (max-width: 640px) {
    #event-rotator {
      height: 340px;
    }
  }

  .backdrop-blur {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); /* for Safari */
}

details.event-accordion > div {
  transition: all 0.25s ease;
  overflow: hidden;
}

@keyframes flashNew {
  0% { background-color: rgba(0, 255, 0, 0.3); }
  100% { background-color: transparent; }
}

.animate-flash-new {
  animation: flashNew 1.5s ease-out;
}

@font-face {
  font-family: "Rift";
  src: url("/static/assets/fonts/Rift_bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.powered-by {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Rift text */
.powered-by .powered-text {
  font-family: "Rift", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280; /* gray-500 */
}

/* Logos */
.powered-by .logo {
  height: 20px;
}

/* Theme switching */
.logo-dark {
  display: none;
}

.dark .logo-dark {
  display: inline-block;
}

.dark .logo-light {
  display: none;
}

/* Optional dark text tweak */
.dark .powered-by .powered-text {
  color: #9ca3af; /* gray-400 */
}

.footer-powered .powered-by {
  border-top: none;
  padding-top: 0;
  justify-content: flex-end;
}

.footer-powered .powered-text {
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  opacity: 0.9;
}

.powered-by a {
  display: inline-flex;
  align-items: center;
}

.powered-by a:hover {
  opacity: 0.85;
}