.reading-intro { margin: 0 0 1.4em; padding: 1em 1.2em; border-left: 3px solid var(--purple-primary); background: var(--bg-color-accent); border-radius: .5em; }
.reading-intro p { margin: 0; opacity: 1; }
.review-note { margin: 0 0 1.4em; padding: 1em 1.2em; border-radius: .5em; background: var(--green-light); border-left: 3px solid var(--green-primary); }
.review-note p { margin: 0 0 .55em; font-size: .98em; opacity: 1; }
.review-note p:last-child { margin-bottom: 0; }
.reading-toc { margin: 1.4em 0 2em; border: 1px solid var(--purple-primary); border-radius: .7em; padding: .3em 1em; }
.reading-toc summary { cursor: pointer; padding: .65em 0; min-height: 44px; font-weight: 700; color: var(--purple-primary); }
.reading-toc ol { padding-left: 1.4em; margin: .5em 0 1em; }
.reading-toc a, .reading-related a { color: var(--purple-primary); text-decoration: underline; text-underline-offset: .2em; display: inline-block; padding: .45em 0; min-height: 44px; }
.reading-toc li, .reading-related li { margin: 0; }
.reading-toc a, .reading-related a { display: block; }
.reading-related { border-top: 1px solid var(--purple-primary); margin-top: 2em; padding-top: .5em; }
.reading-related ul { padding-left: 1.2em; }
.reading-toc a:focus-visible, .reading-toc summary:focus-visible, .reading-related a:focus-visible { outline: 2px solid var(--purple-primary); outline-offset: 3px; border-radius: .2em; }
article h2[id] { scroll-margin-top: 1.5em; }
article h2[tabindex="-1"]:focus { outline: 2px solid var(--purple-primary); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }
.container { box-sizing: border-box; }
article { overflow-wrap: anywhere; }
