/* Recovery stays beside the affected subtitles, not over the cinematic art. */
#game .audio-recovery[hidden], #game #rankVoiceSkipButton[hidden] { display: none; }
#game .audio-recovery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 10px 0;
  padding: 10px 12px;
  border-left: 2px solid #78c4ce;
  background: #0a191dcc;
  color: #bbd8dc;
  text-align: left;
}
#game .audio-recovery[data-state="error"], #game .audio-recovery[data-state="blocked"] {
  border-left-color: #d6b77d;
  background: #211c13cc;
  color: #e1d0af;
}
#game .audio-recovery p { flex: 1 1 180px; margin: 0; font: 400 12px/1.5 Arial, sans-serif; overflow-wrap: anywhere; }
#game .audio-recovery .text-button, #game #rankVoiceRetryButton, #game #rankVoiceSkipButton {
  min-height: 44px;
  height: auto;
  width: auto;
  max-width: 100%;
  padding: 8px 12px;
  white-space: normal;
  font: 600 12px/1.4 Arial, sans-serif;
  color: #e4d8bc;
  border: 1px solid #8b7753;
  background: #151b1e;
}
#game .audio-recovery .text-button:hover, #game #rankVoiceRetryButton:hover, #game #rankVoiceSkipButton:hover { background: #243238; }
#game .audio-recovery .text-button:focus-visible, #game #rankVoiceRetryButton:focus-visible, #game #rankVoiceSkipButton:focus-visible { outline: 2px solid #bce8ec; outline-offset: 3px; }
#game[data-text-size="large"] .audio-recovery p, #game[data-text-size="large"] .audio-recovery .text-button { font-size: 14px; }
