/* Keep the initial review focused; all module specimens remain available. */
body .reference-content-disclosure>summary{cursor:pointer;list-style:none;user-select:none}
.reference-content-disclosure>summary::-webkit-details-marker{display:none}
.reference-content-disclosure>summary::after{content:'+';font:20px/1 Arial,sans-serif;color:inherit;margin-left:8px}
.reference-content-disclosure[open]>summary::after{content:'−'}
.reference-content-disclosure>summary:focus-visible{outline:3px solid #8051ab;outline-offset:-4px}
body .reference-content-disclosure>summary small{font-weight:600;font-size:11px}
/* The fold marker annotates the viewport without extending page height. */
body .reference-fold{height:0}
body .reference-fold>span{position:absolute;left:50%;right:auto;bottom:0;margin-right:0!important;transform:translateX(-50%);white-space:nowrap}
@media(max-width:700px){body .reference-fold small{display:none}}
.reference-footer-disclosure>summary{list-style:none;cursor:pointer}
.reference-footer-disclosure>summary::-webkit-details-marker{display:none}
.reference-footer-disclosure>summary:focus-visible{outline:3px solid #286ba4;outline-offset:-4px}
body .reference-footer-disclosure .reference-region-label::after{content:'+';font:20px/1 Arial,sans-serif;color:inherit;margin-left:8px}
body .reference-footer-disclosure[open] .reference-region-label::after{content:'−'}
body .reference-footer-disclosure .reference-footer-action{font-size:11px;font-weight:600}
body .site-footer:has(.reference-footer-disclosure){padding:0;border-top:0}
.reference-footer-disclosure .reference-disclosure-body>.wrap{padding-block:24px}

/* Keep the hero geometry steady during disclosure transitions. */
html[data-scheme=wireframe] body:has(#reference-page-sections){min-height:100dvh;display:flex;flex-direction:column}
html[data-scheme=wireframe] body:has(#reference-page-sections) main{flex:1;display:flex;flex-direction:column;padding-bottom:0}
html[data-scheme=wireframe] body:has(#reference-page-sections) .structured-page{flex:1;display:flex;flex-direction:column}
html[data-scheme=wireframe] body:has(#reference-page-sections) #reference-page-sections{margin-top:auto}
html[data-scheme=wireframe] body:has(#reference-page-sections) .site-footer{margin-top:auto}
@media(min-width:1100px){
 html[data-scheme=wireframe] body:has(#reference-page-sections) .site-header{padding-block:14px;min-height:72px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .reference-region-label{padding-block:8px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .reference-module-label{padding-block:8px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .reference-hero-pin{padding-bottom:18px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-masthead{padding-top:16px;gap:24px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-masthead>.wrap{padding:16px;margin:0}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-heading h1{font-size:26px;line-height:1.18;margin-bottom:12px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-heading-copy{margin-top:14px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-heading p{font-size:14px;margin-bottom:12px;line-height:1.5}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .home-actions{gap:12px;font-size:13px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-stage{height:clamp(140px,20vh,210px)}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-slide .reference-image{min-height:0;height:clamp(140px,20vh,210px);aspect-ratio:auto}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-toolbar{margin-top:12px;gap:10px;flex-direction:row;align-items:center;justify-content:space-between}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-current-caption{font-size:12px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-controls{gap:5px;font-size:12px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-dots{gap:4px}
 html[data-scheme=wireframe] body:has(#reference-page-sections) .hero-controls button{padding:5px 8px}
}

/* Header and Footer use the same quiet, default-closed review controls. */
.reference-header-disclosure>summary{list-style:none;cursor:pointer;user-select:none}
.reference-header-disclosure>summary::-webkit-details-marker{display:none}
.reference-header-disclosure>summary:focus-visible{outline:3px solid #286ba4;outline-offset:-4px}
.reference-header-disclosure>summary::after{content:'+';font:20px/1 Arial,sans-serif;margin-left:8px}
.reference-header-disclosure[open]>summary::after{content:'−'}
body .reference-header-action{font-size:11px;font-weight:600}
.reference-disclosure-body{display:flow-root}
.reference-disclosure-body.is-transitioning{overflow:hidden;will-change:height}
html.reference-disclosure-moving,html.reference-disclosure-moving body{overflow-anchor:none;scroll-behavior:auto!important}
body:has(.reference-tools) .structured-page>*{flex-shrink:0}

/* Content is a parent disclosure containing Hero and Page content. */
.reference-main-disclosure>summary{list-style:none;cursor:pointer;user-select:none}
.reference-main-disclosure>summary::-webkit-details-marker{display:none}
.reference-main-disclosure>summary:focus-visible{outline:3px solid #286ba4;outline-offset:-4px}
.reference-main-disclosure>summary::after{content:'+';font:20px/1 Arial,sans-serif;margin-left:8px}
.reference-main-disclosure[open]>summary::after{content:'−'}
body .reference-main-disclosure>summary small{font-size:11px;font-weight:600}
html[data-scheme=wireframe] .reference-main-body{display:flex;flex-direction:column;min-height:var(--reference-overview-height,0px)}
.reference-main-body>*{flex-shrink:0}
.reference-main-body.is-transitioning{min-height:0!important}
body .reference-main-body.is-transitioning :is(#reference-hero,.reference-hero-pin,#reference-page-content){position:relative;top:auto}

/* Module labels line up with the subsection name, not its number. */
body:has(.reference-tools){--reference-label-gutter:28px}
body .reference-level-subsection>span{flex:0 0 32px;min-width:0}
body .reference-module-label{padding-left:calc(var(--reference-label-gutter) + 44px)}
@media(max-width:700px){body:has(.reference-tools){--reference-label-gutter:14px}}
