.has-read-aloud { padding-bottom: calc(var(--site-footer-height, 4rem) + var(--read-aloud-height, 4rem) + 1rem) !important; }
.read-aloud { position: fixed; z-index: 999; right: 0; bottom: calc(var(--site-footer-height, 4rem) - 1px); left: 0; box-sizing: border-box; margin: 0; padding: .45rem 1rem; color: #1f2937; background: #eef4ff; border-top: 1px solid #c8d7ef; box-shadow: 0 -2px 8px rgba(0, 0, 0, .08); font-family: Verdana, Arial, sans-serif; font-size: .82rem; line-height: 1.35; }
.read-aloud__inner { display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: center; width: min(100%, 1100px); margin: 0 auto; }
.read-aloud__controls { display: flex; flex: 1 1 42rem; flex-wrap: wrap; gap: .35rem; align-items: center; min-width: 0; }
.read-aloud button, .read-aloud select { box-sizing: border-box; min-height: 2.25rem; padding: .35rem .6rem; color: #1f2937; background: #fff; border: 1px solid #64748b; border-radius: 4px; font: inherit; }
.read-aloud button { cursor: pointer; }
.read-aloud button:hover:not(:disabled) { background: #f8fafc; }
.read-aloud button:focus-visible, .read-aloud select:focus-visible { outline: 3px solid #11c0d2; outline-offset: 2px; }
.read-aloud button:disabled, .read-aloud select:disabled { cursor: not-allowed; opacity: .6; }
.read-aloud__voice-label { display: inline-flex; flex: 1 1 22rem; gap: .4rem; align-items: center; min-width: 0; max-width: 100%; }
.read-aloud__voice-label select { flex: 1 1 auto; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.read-aloud__icon-button { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; padding: .3rem; }
.read-aloud__icon-button svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
.read-aloud__status { flex: 1 1 15rem; min-width: 0; margin: 0; color: #475569; font-size: .92em; }
.read-aloud-current { background-color: #e7f8fa !important; box-shadow: inset 4px 0 #11c0d2; transition: background-color .15s ease, box-shadow .15s ease; }
@media (max-width: 600px) {
  .read-aloud { padding: .4rem .6rem; }
  .read-aloud__controls, .read-aloud__voice-label { align-items: stretch; }
  .read-aloud__voice-label { flex: 1 0 100%; flex-direction: column; }
  .read-aloud__read-button { flex: 1; }
  .read-aloud__status { flex-basis: 100%; }
}
@media (forced-colors: active) {
  .read-aloud-current { outline: 2px solid Highlight; outline-offset: 2px; }
}
@media print {
  .has-read-aloud { padding-bottom: 0 !important; }
  .read-aloud { display: none; }
  .read-aloud-current { background: transparent !important; box-shadow: none; outline: 0; }
}
