/* Read-aloud bar + word highlight. Expects theme tokens --bg, --muted, --gold (fallbacks given). */
.tts { position: sticky; top: calc(54px + env(safe-area-inset-top)); z-index: 4; display: flex; align-items: center; gap: .5rem; background: var(--bg, #fff); padding: .5rem 0; margin: .2rem 0 .4rem; }
.tts .btn { padding: .45rem .75rem; min-height: 42px; }
.tts-label { flex: 1; min-width: 0; font-size: .85rem; color: var(--muted, #666); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.say { background: none; border: 0; font: inherit; font-size: .95rem; cursor: pointer; padding: .1rem .35rem; vertical-align: middle; opacity: .65; }
.say:hover { opacity: 1; }
.w.speaking { background: var(--gold, #f2b134); color: #1b1f2a; border-radius: 3px; box-shadow: 0 0 0 2px var(--gold, #f2b134); }
.w.speaking strong, strong .w.speaking { color: #1b1f2a; }

.w { cursor: pointer; }
.w:hover { background: color-mix(in oklab, var(--accent, #b8532e) 18%, transparent); border-radius: 3px; }
