.rx-voice-ring {
  width: 120px; height: 120px; border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.08);
  position: relative; display: grid; place-items: center;
}
.rx-voice-pulse {
  position: absolute; width: 100%; height: 100%; border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(25, 118, 210, .6);
  animation: rx-pulse 2s infinite;
}
@keyframes rx-pulse {
  0% { box-shadow: 0 0 0 0 rgba(25,118,210,.6);}
  70% { box-shadow: 0 0 0 20px rgba(25,118,210,0);}
  100% { box-shadow: 0 0 0 0 rgba(25,118,210,0);}
}
.rx-voice-level {
  width: 84px; height: 84px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(25,118,210,.25), rgba(25,118,210,.05));
  display: grid; place-items: center;
}
.rx-voice-level .dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: #1976d2; transition: transform .08s ease-out;
}
.rx-voice-ui {
  display:flex; gap:16px; align-items:center; justify-content:flex-start; flex-wrap:wrap;
}
.rx-voice-text {
  min-width: 280px; max-width: 720px;
  font-size: .95rem; line-height: 1.35rem;
  color: rgba(0,0,0,.8);
}
.rx-voice-actions { 
    display:flex; gap:8px; align-items:center; 
}