.opening-overlay {
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at center, #ffffff 0, #e5f0ff 60%, #c7ddff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.opening-overlay.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.opening-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.opening-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 10px 30px rgba(37,99,235,0.3),
    0 0 0 4px rgba(191,219,254,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.2);
  opacity: 0;
  animation: popLogo 1.2s ease-out forwards;
}

.opening-circle img {
  width: 75%;
  height: 75%;
  object-fit: contain;
}

.opening-title {
  font-size: 1rem;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  color: #1f2937;
  opacity: 0;
  animation: fadeInTitle 0.8s ease-out forwards;
  animation-delay: 0.4s;
}

@keyframes popLogo {
  0% { transform: scale(0.2); opacity: 0; }
  40% { transform: scale(1.12); opacity: 1; }
  60% { transform: scale(0.95); }
  100% { transform: scale(1); opacity: 1; }
}

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