/* Keep focus inside scroll containers: no cropped white arcs after returning. */
:is(.sidebar,.mobile-nav,.menu-dialog,#site-directory) :is(a,button,summary):focus-visible{outline-offset:-2px}
[data-pointer-return]:focus{outline:none!important}
#main:focus,.walkthrough-content:focus,.assessment-result:focus,.preview-confirmation:focus{outline:none}
html:has(dialog[open]){overflow:hidden;scrollbar-gutter:stable}
#view :is(h1,h2,h3,section,details,[id]){scroll-margin-top:90px}
#site-directory :is(a,button),.platform-more .text-links a{min-height:44px}
.search-dialog{max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.search-heading{position:sticky;top:-10px;z-index:1;background:var(--bg)}
.menu-dialog,.settings-dialog{overscroll-behavior:contain}
@media(max-width:640px){
 .mobile-theme{min-width:44px;min-height:44px}
 .topbar{gap:6px}
 .search-dialog{max-height:calc(100dvh - 40px);margin-block:20px}
 .search-heading{top:-22px}
 #view :is(h1,h2,h3,section,details,[id]){scroll-margin-top:78px}
 #site-directory{bottom:calc(80px + env(safe-area-inset-bottom))!important}
}
@media(forced-colors:active){[data-pointer-return]:focus-visible{outline:2px solid CanvasText!important;outline-offset:-2px}}
