html, body {
  margin: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #0a0a0f, #1a1a25);
  background-size: 200% 200%;
  animation: bgMove 12s ease infinite;
  font-family: 'Poppins', sans-serif;
  overflow: hidden;
  user-select: none;
  -webkit-user-drag: none;
  touch-action: none;
}

@keyframes bgMove {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo {
  width: 30vw;
  max-width: 220px;
  min-width: 120px;
  height: 30vw;
  max-height: 220px;
  min-height: 120px;
  border-radius: 50%;
  overflow: hidden;
  opacity: 0;
  transform: scale(0.3) rotate(-360deg);
  animation: logoIn 2s cubic-bezier(.25, .8, .25, 1) forwards;
  pointer-events: none;
  box-shadow: 0 0 15px rgba(0, 255, 200, .25);
}

.logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  pointer-events: none;
}

@keyframes logoIn {
  0%   { opacity: 0; transform: scale(0.3) rotate(-360deg); }
  60%  { opacity: 1; transform: scale(1.1) rotate(15deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}

.title {
  margin-top: 3vh;
  font-size: 5vw;
  font-weight: 600;
  color: #f5faff;
  letter-spacing: 2px;
  text-align: center;
  text-shadow: 0 0 10px rgba(0, 255, 200, .6), 0 0 25px rgba(100, 150, 255, .5);
  opacity: 0;
  transform: translateY(25px);
  animation: titleIn 1.6s ease-out forwards;
  animation-delay: 2.2s;
  pointer-events: none;
}

@keyframes titleIn {
  from { opacity: 0; transform: translateY(25px); }
  to   { opacity: 1; transform: translateY(0); }
}

