/* Amber means unavailable by choice/policy; red means an enabled service failed. */
.feature-warning, .feature-failure {
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  padding:10px 13px; border:1px solid #b57a25; border-radius:12px;
  color:var(--ink); background:rgba(211,150,55,.12); line-height:1.5;
  margin-bottom:12px; overflow-wrap:anywhere;
}
.feature-warning[hidden], .feature-failure[hidden] {display:none;}
.feature-warning>span {flex:1 1 230px;}
.feature-failure {border-color:#ce675a;background:rgba(206,103,90,.12);animation:feature-attention 3s ease-in-out infinite;}
.voice-ready.feature-warning, .voice-ready.feature-failure {cursor:pointer;max-width:100%;white-space:normal;}
.feature-ready {color:var(--green);cursor:pointer;}
.feature-disabled {opacity:.7;}
.local-speech-dialog {
  margin:auto; width:min(560px,calc(100vw - 32px)); max-height:calc(100vh - 40px);
  overflow:auto; background:var(--card); color:var(--ink); border:1px solid var(--border);
  border-radius:20px; padding:24px; box-shadow:var(--shadow-lift);
}
.local-speech-dialog::backdrop {background:#0009;}
.local-speech-dialog p {margin:16px 0;line-height:1.6;}
.local-speech-dialog label {display:flex;gap:10px;align-items:center;}
.local-speech-dialog .ctl {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.helper-body select {max-width:100%;width:100%;}
.pc-chip.unknown {color:var(--sub);}
.speech-motion-fallback .res-amp {transform-origin:130px 76px;animation:speech-wave-fallback 1.4s ease-in-out infinite;}
@keyframes speech-wave-fallback {0%,100%{transform:scaleY(.7)}50%{transform:scaleY(1.1)}}
@keyframes feature-attention {0%,100%{box-shadow:0 0 0 0 rgba(206,103,90,0)}50%{box-shadow:0 0 0 3px rgba(206,103,90,.2)}}
@media(prefers-reduced-motion:reduce) {
  .feature-failure, .speech-motion-fallback .res-amp {animation:none!important;}
}
