/* Focus and reflow safeguards; browser/assistive-technology validation remains required. */
:root { --audit-focus:#5b21b6; }
:focus-visible { outline:3px solid var(--audit-focus)!important; outline-offset:4px!important; }
html { scroll-padding-top:7rem; }
button, input, select, summary { min-height:2rem; }
.scene-controls button,.icon-btn { min-width:2rem; min-height:2rem; }
.article-body,.wiki-page,.wrap,.search-result,.lesson-source { overflow-wrap:anywhere; }
.table-scroll { max-width:100%; overflow-x:auto; }
pre { max-width:100%; overflow-x:auto; }
#search-dialog { max-width:min(42rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; }
#search-status { padding:.5rem 1rem; font-size:.95rem; color:#332d46; }
.optional-nav { margin-top:.75rem; }
.optional-nav summary { cursor:pointer; padding:.5rem; }
.lesson-exercise { border-left:3px solid #7160b4; padding-left:1rem; }
.editorial-note { margin:1rem 0; padding:1rem; border:1px solid #d8d3e6; border-radius:.4rem; font-size:.95rem; }
@media(max-width:60rem){.article-layout{display:block!important}.article-aside{display:none!important}.mobile-article-toc{display:block!important}.article-layout article{min-width:0}.header-cta{display:none!important}}
@media(max-width:30rem){.header-inner{gap:.5rem!important}.brand-sub,.search-label,.search-shortcut{display:none!important}.wrap{padding-left:1rem!important;padding-right:1rem!important}.academy-paths,.library-topic-grid,.wiki-detail-grid{grid-template-columns:1fr!important}.article-header h1,.page-head h1{font-size:2rem!important}.term-pop{max-width:calc(100vw - 24px)!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.chapter-back { margin-block: 1rem; }
