/* Self-hosted, keyboard-accessible read-aloud widget. */
.pv-reader {
  position: fixed;
  z-index: 90;
  right: 20px;
  bottom: max(20px, env(safe-area-inset-bottom));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #13203a;
}
.pv-reader *, .pv-reader *::before, .pv-reader *::after { box-sizing: border-box; }
.pv-reader__toggle {
  margin-left: auto;
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #1859ad;
  border-radius: 999px;
  padding: 10px 17px;
  background: #2274da;
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 8px 24px rgb(16 49 90 / 24%);
  cursor: pointer;
}
.pv-reader__toggle:hover { background: #1458ad; }
.pv-reader__toggle svg { width: 24px; height: 24px; flex: none; }
.pv-reader__panel {
  width: min(340px, calc(100vw - 32px));
  margin-bottom: 12px;
  padding: 20px;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 48px rgb(15 34 62 / 22%);
}
.pv-reader__panel[hidden] { display: none !important; }
.pv-reader__title {
  margin: 0 0 5px;
  max-width: none;
  font-size: 18px;
  letter-spacing: -.02em;
  line-height: 1.3;
  color: #13203a;
}
.pv-reader__help { margin: 0 0 17px; color: #586881; font-size: 13px; }
.pv-reader__actions { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 17px; }
.pv-reader__button {
  min-height: 41px;
  border: 1px solid #cbd9e9;
  border-radius: 9px;
  padding: 9px 12px;
  background: #fff;
  color: #19324e;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
.pv-reader__button--primary { background: #2274da; border-color: #2274da; color: #fff; }
.pv-reader__button:hover:not(:disabled) { border-color: #2274da; }
.pv-reader__button--primary:hover:not(:disabled) { background: #1458ad; color: #fff; }
.pv-reader__button:disabled { opacity: .45; cursor: not-allowed; }
.pv-reader__rate-label { display: block; margin-bottom: 6px; color: #263c57; font-size: 13px; font-weight: 650; }
.pv-reader__rate {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cbd9e9;
  border-radius: 9px;
  background: #fff;
  color: #13203a;
  font-size: 14px;
}
.pv-reader__status { margin: 12px 0 0; min-height: 20px; font-size: 12px; color: #586881; }
.pv-reader :is(button, select):focus-visible { outline: 3px solid #f0a43c; outline-offset: 3px; }
@media (max-width: 600px) {
  .pv-reader { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
  .pv-reader__toggle { width: 52px; height: 52px; justify-content: center; padding: 10px; }
  .pv-reader__toggle-label { display: none; }
  .pv-reader__panel { padding: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-reader * { transition: none !important; }
}
@media (forced-colors: active) {
  .pv-reader__toggle, .pv-reader__panel, .pv-reader__button { border: 1px solid ButtonText; }
}
