:root {
  --purple-400: #c084fc;
  --purple-500: #a855f7;
  --purple-600: #9333ea;
  --purple-700: #7e22ce;
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: #0a0a0f;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100dvh;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100dvh;
  gap: 3rem;
}

/* --- Orb --- */

.orb-wrapper {
  position: relative;
  width: 180px;
  height: 180px;
}

.orb {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ambient glow behind the orb */
.orb-glow {
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(147, 51, 234, 0.15) 0%,
    rgba(147, 51, 234, 0.05) 40%,
    transparent 70%
  );
  animation: glow-pulse 4s ease-in-out infinite;
}

/* Single ring with glow */
.orb-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1.5px solid rgba(168, 85, 247, 0.6);
  animation: ring-breathe 4s ease-in-out infinite;
  box-shadow:
    0 0 30px rgba(168, 85, 247, 0.4),
    0 0 80px rgba(168, 85, 247, 0.2),
    0 0 120px rgba(147, 51, 234, 0.1),
    inset 0 0 30px rgba(168, 85, 247, 0.15),
    inset 0 0 60px rgba(147, 51, 234, 0.05);
}

/* --- Tagline --- */

.tagline {
  font-size: 0.8rem;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: lowercase;
  color: rgba(255, 255, 255, 0.3);
  animation: fade-in 3s ease-out 1s both;
}

/* --- Animations --- */

@keyframes ring-breathe {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 0 30px rgba(168, 85, 247, 0.4),
      0 0 80px rgba(168, 85, 247, 0.2),
      0 0 120px rgba(147, 51, 234, 0.1),
      inset 0 0 30px rgba(168, 85, 247, 0.15),
      inset 0 0 60px rgba(147, 51, 234, 0.05);
  }
  50% {
    transform: scale(1.04);
    box-shadow:
      0 0 50px rgba(168, 85, 247, 0.6),
      0 0 100px rgba(168, 85, 247, 0.3),
      0 0 160px rgba(147, 51, 234, 0.15),
      inset 0 0 40px rgba(168, 85, 247, 0.2),
      inset 0 0 80px rgba(147, 51, 234, 0.08);
  }
}

@keyframes glow-pulse {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
