/* welcomeBack.css - Styles for the welcome back component */

/* Welcome back message animation */
.welcome-back-message {
  animation: welcomeFadeIn 0.6s ease-out forwards;
}

@keyframes welcomeFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* User confirmation/denial message animation */
.user-message {
  animation: userMessageSlide 0.4s ease-out forwards;
}

@keyframes userMessageSlide {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Button hover effects with cosmic theme */
.confirm-identity {
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(147, 51, 234, 0.3);
}

.confirm-identity::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.confirm-identity:hover::before {
  width: 300px;
  height: 300px;
}

.deny-identity {
  position: relative;
  overflow: hidden;
}

.deny-identity::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(167, 139, 250, 0.2), transparent);
  transition: left 0.5s;
}

.deny-identity:hover::before {
  left: 100%;
}

/* Sparkle effect for welcome message */
.welcome-back-message::after {
  content: '✨';
  position: absolute;
  top: -10px;
  right: 20px;
  font-size: 24px;
  animation: sparkle 2s ease-in-out infinite;
}

@keyframes sparkle {
  0%, 100% {
    opacity: 0;
    transform: scale(0.8) rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.2) rotate(180deg);
  }
}

/* Glowing effect for user name and star sign */
.welcome-back-message strong {
  position: relative;
  display: inline-block;
}

.welcome-back-message strong.text-purple-400 {
  text-shadow: 
    0 0 10px rgba(167, 139, 250, 0.8),
    0 0 20px rgba(167, 139, 250, 0.6),
    0 0 30px rgba(167, 139, 250, 0.4);
  animation: gentleGlow 3s ease-in-out infinite;
}

@keyframes gentleGlow {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(167, 139, 250, 0.8),
      0 0 20px rgba(167, 139, 250, 0.6),
      0 0 30px rgba(167, 139, 250, 0.4);
  }
  50% {
    text-shadow: 
      0 0 15px rgba(167, 139, 250, 1),
      0 0 25px rgba(167, 139, 250, 0.8),
      0 0 35px rgba(167, 139, 250, 0.6);
  }
}

/* Disabled button state */
#welcome-back-actions button:disabled {
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

#welcome-back-actions button:disabled::before {
  display: none;
}

/* Mobile responsive adjustments */
@media (max-width: 640px) {
  #welcome-back-actions {
    flex-direction: column;
  }
  
  #welcome-back-actions button {
    width: 100%;
    justify-content: center;
  }
  
  .welcome-back-message::after {
    display: none; /* Hide sparkle on mobile for cleaner look */
  }
}

/* Typing indicator for follow-up messages */
.typing-indicator {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  background: rgba(71, 85, 105, 0.3);
  border-radius: 12px;
  margin-top: 8px;
}

.typing-indicator span {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: rgba(167, 139, 250, 0.8);
  border-radius: 50%;
  margin: 0 2px;
  animation: typingBounce 1.4s infinite ease-in-out;
}

.typing-indicator span:nth-child(1) {
  animation-delay: -0.32s;
}

.typing-indicator span:nth-child(2) {
  animation-delay: -0.16s;
}

@keyframes typingBounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}