/* In-page stage-mic voice: minimal caption + subtle live glow on the microphone itself. */
.stage-mic-caption,.stage-mic-status{position:absolute;z-index:3;left:71.5%;top:84.5%;transform:translateX(-50%);margin:0;width:max-content;max-width:min(260px,40vw);text-align:center;font-size:.72rem;line-height:1.45;letter-spacing:.02em;color:#cfc6b8b3;text-shadow:0 1px 3px #000c;pointer-events:none;opacity:0;transition:opacity .45s ease}
.stage-mic-caption.is-visible,.stage-mic-status.is-visible{opacity:1}
.stage-mic-status{color:#ffdb98cc}
.stage-mic-caption a{pointer-events:none;color:inherit;text-decoration:underline;text-decoration-color:#cfc6b866;text-underline-offset:2px}
.stage-mic-caption.is-visible a{pointer-events:auto}
.stage-mic-caption a:hover,.stage-mic-caption a:focus-visible{color:#ffdb98;text-decoration-color:currentColor}
.stage-mic-caption a:focus-visible{outline:1px solid #ffdb98;outline-offset:2px;border-radius:2px}
.grounded-stage[data-voice="error"] .stage-mic-status{color:#e9c9a8}

@keyframes tm-mic-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes tm-mic-connect{0%,100%{opacity:.25}50%{opacity:.7}}
.grounded-stage[data-voice="live"] .stage-microphone-brass-highlight,
.grounded-stage[data-voice="live"] .stage-microphone-highlight{animation:tm-mic-breathe 2.6s ease-in-out infinite}
.grounded-stage[data-voice="connecting"] .stage-microphone-brass-highlight,
.grounded-stage[data-voice="connecting"] .stage-microphone-highlight{animation:tm-mic-connect 1.1s ease-in-out infinite}
.grounded-stage .stage-mic[data-voice="live"]{filter:drop-shadow(0 0 14px #ffdb9866)}

@media (max-width:700px) and (orientation:portrait){
  .stage-mic-caption,.stage-mic-status{left:71%;top:87%;font-size:.68rem;max-width:44vw}
}
@media (prefers-reduced-motion:reduce){
  .stage-mic-caption,.stage-mic-status{transition:none}
  .grounded-stage[data-voice] .stage-microphone-brass-highlight,
  .grounded-stage[data-voice] .stage-microphone-highlight{animation:none}
  .grounded-stage[data-voice="live"] .stage-microphone-brass-highlight,
  .grounded-stage[data-voice="live"] .stage-microphone-highlight{opacity:1}
}
@media (forced-colors:active){.stage-mic-caption,.stage-mic-status{color:CanvasText;text-shadow:none}.stage-mic-caption a{color:LinkText}}
