.orb-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.orb-aura{pointer-events:none;z-index:0;background:radial-gradient(circle,#2d7d6b1a 0%,#2d7d6b0f 35%,#2d7d6b05 55%,#0000 70%);border-radius:50%;width:160px;height:160px;animation:4s ease-in-out infinite aura-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes aura-breathe{0%,to{opacity:.7;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}.orb-btn{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:1;background:0 0;border:none;outline:none;padding:12px;position:relative}.orb-btn:focus-visible .orb{outline-offset:8px;outline:3px solid #267060}.orb-btn:active .orb{transition:transform 80ms ease-out;transform:scale(.94)}.orb{will-change:transform,box-shadow;background:radial-gradient(circle at 45% 40%,#7abfad 0%,#4fa08c 25%,#267060 55%,#1f574a 85%,#163e35 100%);border-radius:50%;width:96px;height:96px;transition:transform .15s ease-out,box-shadow .4s;animation:4s ease-in-out infinite orb-breathe;position:relative;overflow:hidden;box-shadow:0 0 20px 4px #2d7d6b2e,0 0 40px 8px #2d7d6b14,0 4px 12px #1a18151a,inset 0 -2px 8px #00000026,inset 0 2px 6px #ffffff1f}.orb:before{content:"";pointer-events:none;z-index:5;background:radial-gradient(circle,#ffffff59 0%,#ffffff1a 40%,#0000 70%);border-radius:50%;width:50px;height:50px;animation:4.7s ease-in-out infinite highlight-breathe;position:absolute;top:8px;left:14px}.orb:after{content:"";pointer-events:none;z-index:2;background:conic-gradient(#fff0 0deg,#ffffff0f 90deg,#fff0 180deg,#ffffff0a 270deg,#fff0 360deg);border-radius:50%;animation:10s linear infinite inner-rotate;position:absolute;inset:0}@keyframes orb-breathe{0%,to{transform:scale(1);box-shadow:0 0 20px 4px #2d7d6b2e,0 0 40px 8px #2d7d6b14,0 4px 12px #1a18151a,inset 0 -2px 8px #00000026,inset 0 2px 6px #ffffff1f}50%{transform:scale(1.025);box-shadow:0 0 28px 8px #2d7d6b3d,0 0 50px 12px #2d7d6b1a,0 4px 14px #1a18151a,inset 0 -2px 8px #00000026,inset 0 2px 6px #ffffff26}}@keyframes highlight-breathe{0%,to{opacity:.8}50%{opacity:1}}@keyframes inner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-icon{z-index:10;color:#fff;justify-content:center;align-items:center;padding-bottom:1px;transition:opacity .25s;display:flex;position:absolute;inset:0}.orb-icon svg{filter:drop-shadow(0 1px 2px #00000040)}.orb-dots{align-items:center;gap:5px;display:flex}.orb-dots span{background:#fff;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dot-wave}.orb-dots span:nth-child(2){animation-delay:.15s}.orb-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-wave{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.orb-hint{color:#6b665c;text-align:center;margin-top:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}.orb--listening{background:radial-gradient(circle at 45% 40%,#95d4c3 0%,#5fb8a3 25%,#3a9580 55%,#267060 85%,#1f574a 100%);animation:none}.orb--listening:after{animation-duration:4s}.orb--thinking{background:radial-gradient(circle at 45% 40%,#88c8b7 0%,#52ac95 25%,#358a75 55%,#267060 85%,#1f574a 100%);animation:none;box-shadow:0 0 30px 8px #2d7d6b40,0 0 50px 14px #2d7d6b1a,0 4px 14px #1a18151a,inset 0 -2px 8px #0000001f,inset 0 2px 6px #ffffff26}.orb--thinking:after{animation-duration:3s}.orb--complete{animation:.8s ease-out forwards complete-flash}@keyframes complete-flash{0%{transform:scale(1)}35%{transform:scale(1.06);box-shadow:0 0 40px 14px #2d7d6b59,0 0 60px 20px #2d7d6b26,0 4px 14px #1a181514,inset 0 -2px 8px #0000001a,inset 0 2px 8px #ffffff40}to{transform:scale(1);box-shadow:0 0 24px 6px #2d7d6b33,0 0 44px 10px #2d7d6b14,0 4px 12px #1a18151a,inset 0 -2px 8px #00000026,inset 0 2px 6px #ffffff1f}}@media (prefers-reduced-motion:reduce){.orb,.orb:before,.orb:after,.orb-aura,.orb-dots span{animation:none!important}.orb{box-shadow:0 0 24px 6px #2d7d6b33,0 0 44px 10px #2d7d6b14,0 4px 12px #1a18151a,inset 0 -2px 8px #00000026,inset 0 2px 6px #ffffff1f}.orb-aura{opacity:.8}}@media (forced-colors:active){.orb{border:3px solid buttontext;box-shadow:none!important;background:buttonface!important}.orb:before,.orb:after,.orb-aura{display:none}.orb-icon{color:buttontext}}
