.ai-orb{background:linear-gradient(135deg,hsl(var(--primary)),#1f4ead);border:2px solid hsl(var(--primary) / .5)}.ai-orb:hover{transform:scale(1.05);border-color:hsl(var(--primary) / .8)}.ai-orb-idle{animation:orb-pulse 3s ease-in-out infinite}.ai-orb-listening{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#60a5fa;animation:orb-listening 1.5s ease-in-out infinite;box-shadow:0 0 30px #3b82f680}.ai-orb-thinking{background:linear-gradient(135deg,#f59e0b,#d97706,#f59e0b);border-color:#fbbf24;animation:orb-thinking 2s linear infinite;box-shadow:0 0 30px #f59e0b66}.ai-orb-speaking{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;animation:orb-speaking .8s ease-in-out infinite;box-shadow:0 0 30px #10b98180}.ai-orb-error{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#f87171;animation:orb-error .5s ease-in-out infinite;box-shadow:0 0 30px #ef444480}.ai-orb-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;pointer-events:none}.ai-orb-listening .ai-orb-ring{color:#60a5fa;animation:ring-expand 2s ease-out infinite}.ai-orb-speaking .ai-orb-ring{color:#34d399;animation:ring-expand 1.5s ease-out infinite}.ai-orb-ring-1{animation-delay:0s}.ai-orb-ring-2{animation-delay:.4s}.ai-orb-ring-3{animation-delay:.8s}@keyframes orb-pulse{0%,to{transform:scale(1);box-shadow:0 0 20px hsl(var(--primary) / .3)}50%{transform:scale(1.02);box-shadow:0 0 30px hsl(var(--primary) / .5)}}@keyframes orb-listening{0%,to{transform:scale(1);box-shadow:0 0 25px #3b82f666}50%{transform:scale(1.05);box-shadow:0 0 40px #3b82f699}}@keyframes orb-thinking{0%{background-position:0% 50%}to{background-position:200% 50%}}.ai-orb-thinking{background-size:200% 200%}@keyframes orb-speaking{0%,to{transform:scale(1)}25%{transform:scale(1.03) scaleY(.97)}50%{transform:scale(1.06)}75%{transform:scale(1.03) scaleX(.97)}}@keyframes orb-error{0%,to{opacity:1}50%{opacity:.7}}@keyframes ring-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2);opacity:0}}
