.sd-vo{--fg:#fafafa;--mute:#8e8e8e;--a:#818cf8;--b:#c084fc;--c:#22d3ee;color:var(--fg);justify-items:center;gap:14px;display:grid}.sd-vo[data-fill=light]{--fg:#111;--mute:#6f6f6f}.sd-vo[data-hue=ember]{--a:#fb923c;--b:#f43f5e;--c:#facc15}.sd-vo[data-hue=mint]{--a:#34d399;--b:#22d3ee;--c:#a3e635}.sd-vo__orb{color:#fff;background:radial-gradient(circle at 30% 25%, #ffffffb3, transparent 30%), conic-gradient(from 0deg, var(--a), var(--b), var(--c), var(--a));width:92px;height:92px;box-shadow:inset 0 -8px 20px #00000040, 0 18px 40px -16px var(--b);border-radius:999px;place-items:center;transition:transform .4s cubic-bezier(.3,1.6,.4,1);display:grid;position:relative}.sd-vo__orb:active{transform:scale(.92)}.sd-vo__orb:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.sd-vo__glow{background:conic-gradient(from 90deg, var(--a), var(--c), var(--b), var(--a));filter:blur(18px);opacity:.35;z-index:-1;border-radius:999px;position:absolute;inset:-10px}.sd-vo[data-state=listening] .sd-vo__glow{opacity:.7;animation:3s linear infinite sd-vo-spin}.sd-vo[data-state=thinking] .sd-vo__orb{animation:1.4s ease-in-out infinite sd-vo-breathe}.sd-vo[data-state=listening] .sd-vo__orb{animation:6s linear infinite sd-vo-spin}.sd-vo[data-state=listening] .sd-vo__mic{animation:6s linear infinite reverse sd-vo-spin}.sd-vo__mic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;filter:drop-shadow(0 1px 2px #0000004d);width:30px;height:30px}.sd-vo__mic rect{fill:currentColor;stroke:none}@keyframes sd-vo-spin{to{rotate:360deg}}@keyframes sd-vo-breathe{50%{filter:saturate(1.5);transform:scale(.9)}}.sd-vo__wave{align-items:center;gap:3px;height:34px;display:flex}.sd-vo__wave i{background:linear-gradient(var(--a), var(--b));border-radius:4px;width:4px;height:100%;transition:transform .3s;transform:scaleY(.12)}.sd-vo[data-state=thinking] .sd-vo__wave i{animation:1.2s ease-in-out infinite sd-vo-dot;animation-delay:calc(var(--i) * 50ms)}@keyframes sd-vo-dot{50%{transform:scaleY(.4)}}.sd-vo__label{color:var(--mute);margin:0;font-size:14px}@media (prefers-reduced-motion:reduce){.sd-vo *,.sd-vo__orb{transition:none!important;animation:none!important}.sd-vo[data-state=listening] .sd-vo__wave i{transform:scaleY(.5)}}
