/* Bootstrap-compatible quality layer. Rich editor sizing stays intact. */
:root { --vea-focus:#005fcc; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--vea-focus)!important; outline-offset:3px!important; box-shadow:0 0 0 6px #fff!important; }
#main-content:focus { outline:none; }
.vea-skip-link { position:fixed; top:.5rem; left:.5rem; z-index:20000; padding:.8rem 1rem; background:#fff; color:#123; border:2px solid currentColor; transform:translateY(-180%); }
.vea-skip-link:focus { transform:none; }
.app-grid.app-grid { height:100vh; height:100dvh; width:100%; }
.app-grid .app-topbar { padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right)); }
.app-grid :is(.app-sidebar-toggle,.updates-panel-header button,.mobile-brand-row button) { min-width:44px; min-height:44px; flex-shrink:0; }
.app-grid .app-main { scroll-behavior:auto; scrollbar-gutter:stable; scroll-padding:1rem; }
.app-grid :is(.app-sidebar-left,.nav-scroll-region) { scrollbar-width:thin; }
.app-grid .app-sidebar-left::-webkit-scrollbar,.app-grid .nav-scroll-region::-webkit-scrollbar { display:block; width:8px; }
.app-grid .nav-scroll-region::-webkit-scrollbar-thumb { background:#64748b; border-radius:1rem; }
.app-grid .nav-link { min-height:44px; white-space:normal; }
@media(max-width:991.98px) {
 .app-grid:not([data-vea-shell]) .app-sidebar-left:not(.is-open-mobile) { visibility:hidden; }
 .app-grid .app-sidebar-left { height:calc(100dvh - var(--header-height)); }
 .app-grid .brand-title { max-width:none; white-space:normal; font-size:.95rem; line-height:1.25; }
 .app-grid .brand-link { min-width:0; }
}
@media(max-width:1199.98px) {
 .app-grid:not([data-vea-shell]) .app-sidebar-right:not(.is-open-mobile) { visibility:hidden; }
 .app-grid .app-sidebar-right { height:calc(100dvh - var(--header-height)); }
}
.app-grid[data-vea-shell] { grid-template-columns:var(--vea-columns)!important; transition:none; }
.app-grid[data-vea-shell] .app-main { grid-column:var(--vea-main-column)!important; }
.app-grid[data-vea-shell] .app-sidebar-right { grid-column:var(--vea-right-column)!important; }
.app-grid[data-vea-shell] :is(.app-sidebar-left,.app-sidebar-right) { transform:none; visibility:visible; transition:none; }
.app-grid[data-vea-left="open"] .app-sidebar-left,.app-grid[data-vea-right="open"] .app-sidebar-right { display:flex!important; }
.app-grid[data-vea-left="closed"] .app-sidebar-left,.app-grid[data-vea-right="closed"] .app-sidebar-right { display:none!important; }
.app-backdrop[data-vea-open="true"] { display:block!important; opacity:1; visibility:visible; }
.app-backdrop[data-vea-open="false"] { display:none!important; }
.vea-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem 1rem; }
.vea-footer-links a { display:inline-flex; align-items:center; min-height:44px; color:#0f615d; text-underline-offset:.18em; }
.vea-reading-tools,.vea-cookie-info { max-width:65ch; margin:.6rem auto; text-align:left; padding:.25rem .75rem; }
.vea-reading-tools summary,.vea-cookie-info summary { min-height:44px; padding:.6rem .25rem; cursor:pointer; color:#164e4b; font-weight:600; }
.vea-reading-tools label { display:flex; gap:.65rem; align-items:center; min-height:44px; font-size:1rem; }
.vea-reading-tools input { width:1.2rem; height:1.2rem; flex-shrink:0; accent-color:#0f766e; }
.vea-reading-tools p,.vea-cookie-info p { margin-block:.7rem; color:#334155; font-size:1rem; }
.vea-help-page { max-width:72ch; margin:auto; padding:clamp(.5rem,3vw,2rem); color:#163333; line-height:1.65; overflow-wrap:anywhere; }
.vea-help-page h1 { font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.2; margin-block:.5rem 1.25rem; }
.vea-help-page h2 { font-size:1.4rem; line-height:1.35; margin-block:2rem .8rem; }
.vea-help-page p { margin-bottom:1.2rem; }
.vea-help-page li { margin-block:.65rem; }
.vea-help-page a { color:#095b56; text-decoration:underline; text-underline-offset:.18em; }
.vea-eyebrow { color:#0f766e; font-weight:700; }
html[data-vea-reading="roomy"] :is(.vea-readable,.ve-home-main,.reader-viewer-v16__main) :is(p,li) { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:max(1em,1.125rem); line-height:1.8!important; letter-spacing:.025em!important; word-spacing:.09em!important; text-align:start!important; max-width:68ch; }
html[data-vea-reading="roomy"] :is(.vea-readable,.ve-home-main,.reader-viewer-v16__main) p { margin-bottom:1.5em; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media(forced-colors:active) { body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid Highlight!important; box-shadow:none!important; } .vea-skip-link { background:Canvas; color:LinkText; } }
@media print { .app-grid { display:block!important; height:auto!important; } .app-grid .app-main { overflow:visible!important; height:auto; } .app-topbar,.app-sidebar-left,.app-sidebar-right,.vea-reading-tools,.vea-cookie-info,.app-backdrop,.vea-skip-link { display:none!important; } body { overflow:visible!important; } }
