.reader-progress { position:fixed; inset:0 0 auto; z-index:30; height:3px; pointer-events:none; background:transparent; }
.reader-progress::after { display:block; width:var(--reading-progress,0%); height:100%; background:var(--md-accent-fg-color); content:""; transition:width .12s linear; }
.reader-stats { margin-top:.4rem; color:var(--md-default-fg-color--light); font-size:.68rem; letter-spacing:.01em; }
.md-typeset details.reader-toc { position:fixed; top:var(--reader-toc-top,3.3rem); right:max(1rem,calc((100vw - 1520px) / 2 + 1rem)); z-index:24; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.md-typeset .reader-toc > summary { display:grid; place-items:center; box-sizing:border-box; width:2.45rem; height:2.45rem; margin:0; padding:0; border:1px solid var(--md-default-fg-color--lightest); border-radius:50%; background:var(--md-default-bg-color); box-shadow:0 2px 10px rgba(0,0,0,.14); color:var(--md-default-fg-color); cursor:pointer; font-size:0; list-style:none; }
.md-typeset .reader-toc > summary::before,.md-typeset .reader-toc > summary::after { display:none; content:none; }
.reader-toc summary::-webkit-details-marker { display:none; }
.reader-toc__label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.reader-toc__icon { display:grid; place-items:center; }
.reader-toc__icon svg { width:1.2rem; height:1.2rem; fill:currentColor; }
.reader-toc__icon--close,.reader-toc[open] .reader-toc__icon--list { display:none; }
.reader-toc[open] .reader-toc__icon--close { display:grid; }
.reader-toc summary:focus-visible { outline:2px solid var(--md-accent-fg-color); outline-offset:3px; }
.reader-toc nav { position:absolute; top:calc(100% + .55rem); right:0; display:grid; gap:.15rem; width:min(15.8rem,calc(100vw - 2rem)); max-height:min(70vh,32rem,calc(100dvh - var(--reader-toc-top,3.3rem) - 4rem)); overflow:auto; overscroll-behavior:contain; padding:.55rem .65rem .7rem; border:1px solid var(--md-default-fg-color--lightest); border-radius:.35rem; background:var(--md-default-bg-color); box-shadow:0 5px 22px rgba(0,0,0,.18); }
.reader-toc .reader-toc__item { display:block; padding:.25rem .45rem; border-radius:.2rem; color:var(--md-default-fg-color--light); font-size:.7rem; line-height:1.55; overflow-wrap:anywhere; }
.reader-toc .reader-toc__item:hover,.reader-toc .reader-toc__item:focus-visible,.reader-toc .reader-toc__item--active { background:var(--md-code-bg-color); color:var(--md-accent-fg-color); outline:none; }
.reader-toc__item--active { font-weight:700; }
.reader-toc .reader-toc__item--3 { padding-left:1.1rem; font-size:.66rem; }
.reader-toc__empty { display:block; padding:.2rem .45rem; color:var(--md-default-fg-color--light); font-size:.68rem; }
.reader-nav-toggle { order:-1; }
body:has(#__search:checked) .reader-toc { visibility:hidden; }
@media (min-width:70rem) { body.reader-nav-collapsed .md-sidebar--primary { display:none; } body.reader-nav-collapsed .md-main__inner { max-width:78rem; } }
@media (max-width:69.999rem) { .reader-progress { height:2px; } .reader-nav-toggle { display:none; } .reader-stats { font-size:.67rem; } .md-typeset details.reader-toc { right:.75rem; } .reader-toc nav { width:min(19rem,calc(100vw - 3rem)); } }
@media print { .reader-progress,.reader-toc { display:none; } }
@media (max-width:76.249em) { body:has(#__drawer:checked) .reader-toc { visibility:hidden; } }
