[x-cloak] {
  display: none !important;
}
body {
  background-color: #000;
  color: #f3f4f6;
  margin: 0;
  font-family: "Quicksand", sans-serif;
  overflow-x: hidden;
}

.cinematic-glow {
  position: fixed;
  inset: 0;
  z-index: -1;
  background: radial-gradient(
    circle at center,
    var(--glow1) 0%,
    var(--glow2) 70%
  );
  animation: fadeInGlow 2.5s ease-out forwards;
  transition: background 1s ease;
}
@keyframes fadeInGlow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Theming backgrounds */
.bg-theme-green {
  --glow1: rgba(16, 69, 51, 0.8);
  --glow2: rgba(5, 17, 13, 1);
}
.bg-theme-blue {
  --glow1: rgba(10, 28, 61, 0.8);
  --glow2: rgba(2, 7, 15, 1);
}
.bg-theme-maroon {
  --glow1: rgba(71, 16, 23, 0.8);
  --glow2: rgba(22, 4, 6, 1);
}

.glass-panel {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.history-panel {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.particle {
  position: fixed;
  border-radius: 50%;
  background: #fbbf24;
  filter: blur(1px);
  animation: float 10s infinite ease-in-out alternate;
  z-index: 0;
}
@keyframes float {
  0% {
    transform: translateY(0) scale(1);
    opacity: 0.1;
  }
  100% {
    transform: translateY(-150px) scale(1.5);
    opacity: 0.3;
  }
}
@keyframes swing {
  0%,
  100% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
}

.fade-up {
  animation: fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
  transform: translateY(20px);
}
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.custom-scroll::-webkit-scrollbar {
  width: 6px;
}
.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.custom-scroll::-webkit-scrollbar-thumb {
  background: rgba(251, 191, 36, 0.3);
  border-radius: 10px;
}
