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

@layer base {
  body {
    background-color: #0f172a;
    /* slate-900 Navy Background */
    position: relative;
    min-h-screen: 100vh;
  }

  /* Animated Premium Background */
  body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
      radial-gradient(circle at 15% 50%, rgba(217, 119, 6, 0.15), transparent 25%),
      radial-gradient(circle at 85% 30%, rgba(30, 58, 138, 0.4), transparent 25%);
    background-size: 100% 100%;
    z-index: -2;
    animation: pulse 15s infinite alternate;
  }

  /* Particles / Stars overlay */
  body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(rgba(253, 230, 138, 0.2) 1px, transparent 1px);
    /* amber-200 */
    background-size: 40px 40px;
    z-index: -1;
    opacity: 0.5;
  }
}

@layer components {

  /* Glassmorphism Container with minimal overrides */
  .form-container {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    animation: fadeUp 1s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
  }
}

/* Animations */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.loader {
  border-top-color: #d97706;
  /* amber-600 */
  -webkit-animation: spinner 1s cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
  animation: spinner 1s cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

/* Custom Checkbox Active State Override */
[type="checkbox"]:checked {
  background-color: #d97706 !important;
  border-color: #d97706 !important;
}