
.r2-listen { margin-top: 0.9rem; width: 100%; display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 0.9rem; border-radius: 12px; background: var(--ink); color: #fff; font-weight: 600; font-size: 0.86rem; text-align: left; transition: transform 0.25s var(--ease), background 0.25s; }
.r2-listen:hover { transform: translateY(-2px); background: #23262f; }
.r2-listen-ico { width: 2rem; height: 2rem; border-radius: 50%; background: var(--red); display: grid; place-items: center; flex: none; }
.r2-listen-ico svg { width: 14px; height: 14px; }
.r2-listen small { display: block; font-weight: 400; font-size: 0.72rem; color: rgba(255,255,255,0.6); }
.r2-listen-wave { margin-left: auto; display: flex; gap: 2px; align-items: center; height: 18px; }
.r2-listen-wave i { width: 3px; height: 30%; background: rgba(255,255,255,0.45); border-radius: 2px; }
.r2-listen.is-playing .r2-listen-wave i { background: #ff8f8f; animation: r2-wave 0.9s ease-in-out infinite; }
.r2-listen.is-playing .r2-listen-wave i:nth-child(2n) { animation-delay: 0.15s; } .r2-listen.is-playing .r2-listen-wave i:nth-child(3n) { animation-delay: 0.3s; }
@keyframes r2-wave { 50% { height: 100%; } }
.svc-voice-chat li.is-speaking { outline: 2px solid var(--red); outline-offset: 2px; }
