.reading-toc[hidden],.toc-backdrop[hidden]{display:none!important}
.reading-toc{position:fixed;right:20px;top:24px;width:260px;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;z-index:30;background:#103da9;color:#fff;border:1px solid #ffffff40;border-radius:12px;padding:0 12px 12px;scrollbar-width:thin;font-size:.84rem}
.toc-header{position:sticky;top:0;background:#103da9;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 4px;border-bottom:1px solid #ffffff40;z-index:1}
.reading-toc ul{list-style:none;margin:8px 0;padding:0}.reading-toc ul ul{padding-left:12px;border-left:1px solid #ffffff40}
.toc-row{display:flex;align-items:flex-start;gap:4px}.toc-row a{flex:1;min-width:0;display:block;padding:9px 6px;color:#fff!important;line-height:1.4;overflow-wrap:anywhere;border-radius:5px}
.toc-row a[aria-current]{background:#fff;color:#103da9!important;font-weight:700}.toc-row a:hover{background:#ffffff25}.toc-row a[aria-current]:hover{background:#fff}
.toc-expand,.toc-close{flex:none;min-width:32px;min-height:32px;padding:4px!important;margin-top:5px;background:transparent;color:#fff;border:1px solid #ffffff60;border-radius:5px}
.toc-trigger{display:none}.toc-close{display:none}.toc-backdrop{position:fixed;inset:0;background:#0007;z-index:39}
.article-section :is(h1,h2,h3,h4){scroll-margin-top:32px;overflow-wrap:anywhere}.article-section a{overflow-wrap:anywhere}.article-section{max-width:78ch}
.reading-toc :focus-visible,.toc-trigger:focus-visible{outline:3px solid #ffe878;outline-offset:2px}
@media(min-width:1440px){body.has-reading-toc .content{width:100%;padding-right:310px}.has-reading-toc .article{max-width:940px}}
@media(max-width:1439px){.reading-toc{display:none;top:12px;right:12px;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 24px);z-index:40}.toc-open .reading-toc{display:block}.toc-close{display:block}.toc-expand{min-width:40px;min-height:40px}.toc-row a{padding:12px 6px}.toc-trigger{display:block;position:fixed;bottom:20px;right:18px;z-index:32;background:#fff;color:#103da9;border:1px solid #103da9;border-radius:24px;padding:12px 20px;box-shadow:0 3px 15px #0004;font-weight:700}}
@media print{.reading-toc,.toc-trigger,.toc-backdrop{display:none!important}body.has-reading-toc .content{padding:0!important}.article-section{max-width:none}}
