/* One microphone instrument for the workspace and the inline RNS desk. */
#conversation #voice-orb{position:relative;display:grid;place-items:center;isolation:isolate;overflow:visible;width:clamp(144px,25vmin,188px);height:clamp(144px,25vmin,188px);min-height:0;padding:0;flex:none;border:1px solid #8c7b60;border-radius:50%;background:linear-gradient(140deg,#e5d5b5 0%,#8b7858 30%,#302b23 52%,#c7b18a 84%,#eee0c3 100%);box-shadow:0 12px 32px #0004,inset 0 0 0 3px #08090acc;color:#ddcaa5;transition:box-shadow .25s,border-color .25s}
#conversation .voice-orb-core{display:grid;place-items:center;width:calc(100% - 18px);height:calc(100% - 18px);border-radius:50%;background:radial-gradient(circle at 35% 25%,#2e2c28,#0c0d0e 72%);box-shadow:inset 0 1px 1px #ffffff1f}
#conversation #voice-orb svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
#conversation #voice-orb::after{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px solid #bfcfda40;box-shadow:0 0 36px 5px #bfcfda0c;opacity:0;pointer-events:none;animation:none}
#conversation[data-voice-state=listening] #voice-orb{border-color:#89cda7;color:#b9e6ca;box-shadow:0 12px 32px #0004,inset 0 0 0 3px #08090acc,0 0 30px 5px #68bf8d28}
#conversation[data-voice-state=listening] #voice-orb::after{border-color:#8bd4aa88;box-shadow:0 0 32px 8px #72c89a25;animation:mic-listening-halo 3s ease-in-out infinite}
#conversation[data-voice-state=listening] .voice-orb-core{background:radial-gradient(circle at 35% 25%,#20362b,#0b0e0d 75%);animation:none}
#conversation[data-voice-state=speaking] #voice-orb::after{border-color:#d3bd9790;box-shadow:0 0 28px 7px #c7b08b1b;animation:shared-mic-speaking 1.8s ease-in-out infinite}
#conversation[data-voice-state=opening] #voice-orb::after{opacity:.5;border-style:dashed}
#conversation[data-voice-state=thinking] #voice-orb{color:#c1ced8;border-color:#aeb8c3}
#conversation[data-voice-state=error] #voice-orb{border-color:#b99385;color:#d0b1a3}
html[data-theme=light] #conversation .voice-orb-core{background:radial-gradient(circle at 35% 25%,#fffdf9,#e8e1d5 85%);color:#765d36}
html[data-theme=light] #conversation[data-voice-state=listening] .voice-orb-core{background:radial-gradient(circle at 35% 25%,#f4fff7,#e0eee5 85%);color:#387454}
@keyframes mic-listening-halo{0%,100%{opacity:.3;transform:scale(.985)}50%{opacity:.8;transform:scale(1.045)}}
@keyframes shared-mic-speaking{0%,100%{opacity:.4;transform:scale(.99)}50%{opacity:.85;transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){#conversation #voice-orb{transition:none}#conversation[data-voice-state=listening] #voice-orb::after,#conversation[data-voice-state=speaking] #voice-orb::after{animation:none!important;opacity:.7}}

/* Sapphire breathing light distinguishes research from emerald listening. */
#conversation[data-voice-state=thinking] #voice-orb{color:#c1d8fa;border-color:#8cadd5;box-shadow:0 12px 32px #0004,inset 0 0 0 3px #08090acc,0 0 30px 5px #6598dc24}
#conversation[data-voice-state=thinking] #voice-orb::after{border-color:#8cadd570;box-shadow:0 0 30px 8px #6598dc20;animation:mic-thinking-glow 2.5s ease-in-out infinite}
#conversation[data-voice-state=thinking] .voice-orb-core{background:radial-gradient(circle at 35% 25%,#223248,#0b0e14 75%)}
@keyframes mic-thinking-glow{0%,100%{opacity:.35;transform:scale(.99)}50%{opacity:.8;transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){#conversation[data-voice-state=thinking] #voice-orb::after{animation:none!important;opacity:.65}}
