/* Large, high-contrast dialogue for video capture. Green is reserved for Lucky. */
#worldStage { container-type: inline-size; }
.speech-cloud {
  left: 5%;
  right: 5%;
  bottom: 4%;
  padding: 18px 30px 22px;
  border-radius: 36px / 28px;
  max-height: 64%;
}
.speech-cloud #speakerName {
  display: block;
  color: #2455a6;
  font: 800 clamp(18px, 2cqw, 26px)/1.2 Arial, sans-serif;
  letter-spacing: .045em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.speech-cloud[data-voice="lucky"] #speakerName { color: #126b34; }
.speech-cloud[data-voice="female"] #speakerName { color: #9d174d; }
.speech-cloud #spokenLine {
  color: #201527;
  font: 600 clamp(24px, 2.8cqw, 36px)/1.3 Arial, sans-serif;
  margin: 0;
  padding-right: 6px;
  max-height: 6.5em;
  overflow: auto;
  text-wrap: pretty;
}
.conversation-heading > .eyebrow {
  font: 700 15px/1.4 Arial, sans-serif;
  letter-spacing: .07em;
}
#conversationChoices { gap: 10px; }
#conversationChoices button {
  font-size: clamp(17px, 1.2vw, 21px);
  font-weight: 600;
  line-height: 1.35;
  padding: 12px 16px;
}
.npc-target span, .portal-target span, .map-target span {
  font: 700 15px/1.3 Arial, sans-serif;
  padding: 5px 9px;
}
#walkHint { font-size: 15px; }
.action-bar button, .action-bar > span { font-size: 14px; }
@media(max-width:740px) {
  .speech-cloud {
    left: 3%; right: 3%; bottom: 3%;
    padding: 10px 16px 12px;
    border-radius: 22px;
    max-height: 74%;
  }
  .speech-cloud #speakerName { font-size: clamp(14px, 2.8cqw, 20px); margin-bottom: 5px; }
  .speech-cloud #spokenLine { font-size: clamp(17px, 3.4cqw, 24px); line-height: 1.25; max-height: 5em; }
  #conversationChoices button { font-size: 16px; padding: 10px 12px; }
  .npc-target span, .portal-target span, .map-target span { font-size: 11px; }
  #walkHint, .action-bar button, .action-bar > span { font-size: 12px; }
}
