.pr-reader-progress { position: fixed; left: 0; right: 0; height: 3px; z-index: 9999; background: rgba(232,0,61,.12); pointer-events: none; }
.pr-reader-progress[hidden] { display: none; }
.pr-reader-progress > span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--pr-red, #e8003d); }
.pr-reader-toc { margin: 0 0 28px; border: 1px solid var(--pr-border, #ddd); border-radius: 8px; background: transparent; color: inherit; }
.pr-reader-toc > summary { padding: 16px 20px; cursor: pointer; color: inherit; font: 600 14px/1.6 Arial, Helvetica, sans-serif; }
.pr-reader-toc nav { padding: 0 20px 18px; }
.pr-reader-toc ol { list-style: none; margin: 0; padding: 0; }
.pr-reader-toc li { margin: 0; padding: 0; }
.pr-reader-toc .pr-reader-toc__sub { padding-inline-start: 18px; }
.pr-reader-toc a { display: block; padding: 8px 10px; border-inline-start: 2px solid transparent; font: 400 14px/1.5 Arial, Helvetica, sans-serif; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.pr-reader-toc a:hover,
.pr-reader-toc a[aria-current="location"] { border-color: var(--pr-red, #e8003d); color: var(--pr-red, #e8003d); }
.pr-reader-toc :is(summary, a):focus-visible { outline: 2px solid var(--pr-red, #e8003d); outline-offset: 3px; }
.pr-reader-target { scroll-margin-top: calc(var(--pr-reader-offset, 80px) + 24px); }
.pr-reader-target:focus-visible { outline: 2px solid var(--pr-red, #e8003d); outline-offset: 5px; }
@media (max-width: 680px) {
    .pr-reader-toc > summary { padding: 14px 16px; }
    .pr-reader-toc nav { padding: 0 12px 14px; }
}
