/* Article-only reading controls; the shared book player keeps its presentation. */
.article-page .page-content { padding-top: 2rem; }
.article-page .post-header { border: 0; padding-bottom: 0; margin-bottom: 1.4rem; }
.article-page .section-back { margin-bottom: 1rem; }
.article-toolbar { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .65rem 1.25rem; border-block: 1px solid var(--line); padding: .75rem 0; margin: 0 0 1.5rem; }
.article-toolbar .article-audio { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: .25rem .5rem; flex: 1 1 340px; min-width: 0; border: 0; background: none; padding: 0; margin: 0; }
.article-toolbar .article-audio-heading { display: contents; }
.article-toolbar .article-audio h2 { grid-column: 1; font: 650 .8rem/1.5 Manrope, sans-serif; letter-spacing: normal; margin: 0; }
.article-toolbar .audio-duration { font-weight: 450; color: var(--muted); white-space: nowrap; }
.article-toolbar .article-audio .audio-info { grid-column: 2; grid-row: 1; }
.article-toolbar .article-audio audio { grid-column: 1 / -1; width: 100%; min-width: 0; height: 44px; margin: 0; }
.article-toolbar .article-audio > p { grid-column: 1 / -1; margin: .4rem 0; }
.article-toolbar .reading-tools { flex: 1 1 250px; min-width: 0; border: 0; padding: 0; margin: 0; }
.article-toolbar .reading-actions { gap: .25rem .8rem; }
.article-toolbar .reading-actions a { white-space: nowrap; }
/* Reading position is retained for resume, without a second visible progress bar. */
.article-toolbar .reading-tools progress { display: none !important; }
.article-toolbar .reading-actions button { border-radius: 999px; padding-inline: .85rem; }
.article-toolbar .reading-actions [data-reading-save] { min-width: 108px; }
.article-toolbar .reading-actions a { gap: .25rem; text-decoration: none; }
.article-toolbar .reading-actions a:hover { text-decoration: underline; }
.article-toolbar .reading-actions a:focus-visible,
.article-toolbar .reading-offline-details a:focus-visible,
.article-toolbar .reading-offline-details summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.article-toolbar .reading-offline-details { margin-top: .25rem; }
.article-toolbar .reading-offline-details summary { cursor: pointer; min-height: 44px; align-content: center; font-size: .74rem; color: var(--muted); }
.article-toolbar .reading-offline-details a { display: inline-flex; align-items: center; min-height: 44px; font-size: .74rem; }
.article-toolbar .reading-offline-details .reading-note { margin: 0 0 .25rem; }
.article-toolbar .reading-tools [hidden] { display: none !important; }
.article-toolbar .reading-note, .article-toolbar .reading-status { margin: .5rem 0 0; }
/* Put label, native controls and policy on one line where all remain usable. */
@media (min-width: 1000px) {
  .article-toolbar .article-audio { grid-template-columns: auto minmax(240px, 1fr) 44px; gap: .5rem; }
  .article-toolbar .article-audio audio { grid-column: 2; grid-row: 1; }
  .article-toolbar .article-audio .audio-info { grid-column: 3; }
  .article-toolbar .reading-tools { flex: 0 1 280px; }
}
@media (min-width: 760px) and (max-width: 999px) {
  .article-toolbar:has(.article-audio) .reading-tools { padding-top: 48px; }
}
@media (max-width: 759px) {
  .article-page .page-content { padding-top: 1.25rem; }
  .article-page .post-header { margin-bottom: 1rem; }
  .article-toolbar { gap: .75rem; padding: .5rem 0 .75rem; margin-bottom: 1.25rem; }
  .article-toolbar .article-audio, .article-toolbar .reading-tools { flex-basis: 100%; }
}
@media print {
  .article-toolbar { display: none; }
  .article-page .page-content { padding-top: 0; }
}
/* Wide evidence figures must fit the viewport between phone and desktop sizes. */
@media screen {
  .article-page .post-content .content-figure--wide { max-width: min(960px, calc(100vw - 2 * max(20px, (100vw - 860px) / 2))); }
}
