/*
 * Mension / Captain Conflict Styles
 * Only styles that cannot live in the Tailwind source file.
 */

/* Material Symbols — nav icon fill on hover/active */
.nav-icon,
.nav-super-admin-icon {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  transition: font-variation-settings 0.3s ease;
}

.nav-link:hover .nav-icon,
.nav-link.text-mension-yellow .nav-icon,
.nav-link--super-admin:hover .nav-super-admin-icon,
.nav-link--super-admin.text-red-300 .nav-super-admin-icon {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Text links — underline + pointer for recognizability */
.text-link {
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

/* Prose (AI markdown) links */
.prose a {
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

/* Mic button icon — fill on hover */
.mic-icon,
.send-icon {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  transition: font-variation-settings 0.3s ease;
}

button:hover .mic-icon,
button:hover .send-icon {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Voice recording pulse */
@keyframes recording-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5); }
  50% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
}

.voice-recording {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #ef4444 !important;
  animation: recording-pulse 1.5s ease-in-out infinite;
}

.voice-transcribing {
  opacity: 0.5;
  cursor: wait !important;
}

/* Thinking indicator — soft yellow halo pulse on Captain's avatar */
@keyframes thinking-halo {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 252, 140, 0.55), 0 0 0 0 rgba(255, 252, 140, 0.25);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(255, 252, 140, 0), 0 0 0 12px rgba(255, 252, 140, 0);
  }
}

.thinking-avatar {
  animation: thinking-halo 1.6s ease-out infinite;
}

@keyframes thinking-label-fade {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.95; }
}

.thinking-label {
  animation: thinking-label-fade 1.6s ease-in-out infinite;
}

/* Orchestrated dashboard entrance — staggered fade-up */
@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-up {
  opacity: 0;
  animation: fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.fade-up-1 { animation-delay: 0ms; }
.fade-up-2 { animation-delay: 80ms; }
.fade-up-3 { animation-delay: 160ms; }
.fade-up-4 { animation-delay: 260ms; }
.fade-up-5 { animation-delay: 360ms; }

@media (prefers-reduced-motion: reduce) {
  .fade-up {
    opacity: 1;
    animation: none;
  }
}

/* Signature: Captain avatar — slow breathing + soft yellow halo */
@keyframes captain-breathe {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 0 0 0 rgba(255, 252, 140, 0.18),
      0 0 28px 6px rgba(255, 252, 140, 0.08);
  }
  50% {
    transform: scale(1.025);
    box-shadow:
      0 0 0 10px rgba(255, 252, 140, 0),
      0 0 36px 10px rgba(255, 252, 140, 0.16);
  }
}

.cc-avatar {
  animation: captain-breathe 5s ease-in-out infinite;
  will-change: transform, box-shadow;
}

@media (prefers-reduced-motion: reduce) {
  .cc-avatar {
    animation: none;
  }
}
