.reading-page { background:#101216;color:#f4f6f8;--reading-header:82px; }
.reading-page main>.section { background:#101216;border-bottom:1px solid #343c46; }
.reading-page main>.section.mist { background:#161a20; }
.reading-page .section :is(h2,h3,h4,strong,summary) { color:#f4f6f8; }
.reading-page .section :is(p,li,td,dt,dd) { color:#b8c1ca; }
.reading-page .section .eyebrow,.reading-page .section a { color:#14d5cf; }
.reading-page .section a { text-underline-offset:4px; }
.reading-page .prose { max-width:800px; }
.reading-page .prose :is(p,li) { font-size:18px;line-height:1.85; }
.reading-page .prose h2 { font-size:32px;line-height:1.25; }
.reading-page .section :is(.faq,.faq details,.related-resource) { border-color:#46525f; }
.reading-page .faq summary::after { color:#14d5cf; }
.reading-page :is(a,summary):focus-visible { outline:2px solid #14d5cf;outline-offset:5px; }
.reading-page main .section h2 { scroll-margin-top:calc(var(--reading-header) + 82px); }
.reading-index { position:sticky;top:var(--reading-header);z-index:12;background:#161a20;border-block:1px solid #46525f; }
.reading-index details { position:relative;max-width:800px;margin:auto; }
.reading-index summary { display:flex;align-items:center;gap:18px;min-height:58px;padding:12px 0;cursor:pointer;list-style:none; }
.reading-index summary::-webkit-details-marker { display:none; }
.reading-index summary::after { content:'+';color:#14d5cf;font:24px monospace;margin-left:auto; }
.reading-index details[open] summary::after { content:'−'; }
.reading-index-label { color:#14d5cf;font-size:12px;flex-shrink:0; }
.reading-index-current { font-size:13px;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.reading-index nav { position:absolute;top:100%;left:0;right:0;max-height:60svh;overflow:auto;background:#161a20;border:1px solid #46525f;padding:10px 18px;box-shadow:0 16px 30px #0005; }
.reading-index a { display:flex;gap:16px;align-items:baseline;padding:12px 6px;color:#b8c1ca;text-decoration:none;font-size:14px;line-height:1.5;border-bottom:1px solid #343c46; }
.reading-index a span { color:#14d5cf;font:12px monospace; }
.reading-index a[aria-current] { color:#fff;border-bottom-color:#14d5cf; }
@media(max-width:850px) {
 .reading-index { padding-inline:20px; }
 .reading-page .prose :is(p,li) { font-size:17px; }
 .reading-page .prose h2 { font-size:27px; }
 .reading-index summary { gap:12px; }
}
@media print { .reading-index { display:none; }.reading-page main>.section {background:white;color:black;}.reading-page .section :is(p,li,h2,h3,strong,a){color:black;} }
