.caption-settings {
  position: relative;
  font-size: 0.85rem;
}
.caption-settings summary {
  cursor: pointer;
  padding: 0.65rem;
}
.caption-settings[open] {
  position: fixed;
  z-index: 20;
  bottom: 90px;
  right: 12px;
  width: min(340px, calc(100vw - 24px));
  max-height: 65dvh;
  overflow: auto;
  padding: 12px;
  border-radius: 12px;
  background: #fffaf0;
  color: #252c28;
  box-shadow: 0 4px 24px #0004;
}
.caption-settings p {
  margin: 8px 0;
}
.caption-settings button {
  margin: 4px 0;
}
#room .speech-caption {
  position: static;
  margin: 4px 0 0;
  padding: 0 4px;
  max-width: 100%;
  font-size: 0.82rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  color: var(--ink, #252c28);
}
#room .speech-caption:empty {
  display: none;
}
#room .speech-caption {
  max-height: 3.9em;
  overflow-y: auto;
}
#room[data-photo-background="true"] .speech-caption {
  background: #fffdf0e8;
  border-radius: 5px;
  color: #252c28;
}
