/* Cindy research state is toggled by cindy-research.js from the live stage
   text. Keeping this as a small sidecar lets the already validated portal
   bundle receive the visual state without a Vite rebuild. */
@keyframes cindy-research-glow {
  0%, 100% {
    border-color: rgba(255, 241, 218, .98);
    box-shadow: 0 0 0 2px rgba(255, 151, 51, .92),
      0 0 0 6px rgba(255, 151, 51, .16),
      0 0 18px rgba(255, 151, 51, .42),
      0 7px 20px rgba(13, 28, 50, .34);
  }
  50% {
    border-color: rgba(255, 183, 91, 1);
    box-shadow: 0 0 0 3px rgba(255, 151, 51, .98),
      0 0 0 10px rgba(255, 151, 51, .25),
      0 0 36px rgba(255, 151, 51, .78),
      0 10px 26px rgba(13, 28, 50, .4);
  }
}
.glass-experience[data-agent-key="cindy"] .glass-avatar-bubble.is-researching {
  animation: cindy-research-glow 1.35s ease-in-out infinite;
  border-width: 3px;
}
/* Result-card follow-up menus are positioned against the browser viewport.
   This override is intentionally in the late-loaded Cindy sidecar so the
   menu cannot inherit the results panel's absolute positioning context. */
.glass-experience[data-agent-key="cindy"] .cindy-followup-menu {
  position: fixed;
}
@media (prefers-reduced-motion: reduce) {
  .glass-experience[data-agent-key="cindy"] .glass-avatar-bubble.is-researching {
    animation: none;
    border-color: rgba(255, 183, 91, 1);
    box-shadow: 0 0 0 3px rgba(255, 151, 51, .98),
      0 0 0 8px rgba(255, 151, 51, .22),
      0 0 24px rgba(255, 151, 51, .56),
      0 7px 20px rgba(13, 28, 50, .34);
  }
}
