/* ICU-EXPEDITION-012 — platform accessibility safety layer.
   Runtime-injected by _worker.js so specialist and legacy surfaces receive the same focus,
   reflow, motion, form-error and scroll-region safeguards without mass rewriting templates. */
:root{
  --icu-a11y-focus:#ffe66d;
  --icu-a11y-focus-ink:#070910;
  --icu-a11y-error:#ffb4ab;
  --icu-a11y-target:44px;
}
:where(a[href],button,input:not([type="hidden"]),select,textarea,summary,[role="button"],[role="link"],[role="checkbox"],[role="radio"],[role="switch"],[role="tab"],[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid var(--icu-a11y-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.88),0 0 0 6px rgba(255,230,109,.34)!important;
}
:where(button,input:not([type="hidden"]),select,textarea,summary,[role="button"],[role="link"],[role="checkbox"],[role="radio"],[role="switch"],[role="tab"]){min-block-size:var(--icu-a11y-target)}
.icu-a11y-skip{
  position:fixed!important;z-index:2147483000;inset:.75rem auto auto .75rem;
  transform:translateY(-180%);display:inline-flex;align-items:center;min-height:44px;
  max-width:min(32rem,calc(100vw - 1.5rem));padding:.65rem 1rem;border:2px solid #111;
  border-radius:.55rem;background:var(--icu-a11y-focus);color:var(--icu-a11y-focus-ink)!important;
  font:700 .95rem/1.25 system-ui,sans-serif;text-decoration:none;box-shadow:0 4px 24px rgba(0,0,0,.35)
}
.icu-a11y-skip:focus,.icu-a11y-skip:focus-visible{transform:none}
.icu-a11y-status{position:fixed;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.icu-a11y-error{display:block;margin:.35rem 0 0;color:var(--icu-a11y-error);font:650 .875rem/1.4 system-ui,sans-serif}
:where(input,select,textarea)[aria-invalid="true"]{outline:2px solid var(--icu-a11y-error)!important;outline-offset:2px}
.icu-a11y-scroll-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.icu-a11y-scroll-region:focus-visible{outline:3px solid var(--icu-a11y-focus)!important;outline-offset:3px}
table>caption.icu-a11y-caption{caption-side:top;text-align:left;padding:.5rem 0;font-weight:750;color:inherit}
:where(img,svg,video,canvas,iframe){max-inline-size:100%}
:where(img,video){block-size:auto}
:where(pre,code){max-inline-size:100%;overflow-wrap:anywhere}
:where(pre){overflow:auto}
:where(main,section,article,aside,nav,header,footer,form,fieldset,figure,div){min-inline-size:0}
:where(input,select,textarea,button){max-inline-size:100%}
dialog{max-inline-size:calc(100vw - 1rem)!important;max-block-size:calc(100dvh - 1rem)!important}
:where(main,[id]){scroll-margin-block-start:5rem}
@media (max-width:40rem){
  :where(table){max-inline-size:100%}
  :where(fieldset){min-inline-size:0}
  :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){inline-size:100%;min-inline-size:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-a11y-decorative-motion]{animation:none!important;transform:none!important}
}
html[data-icu-a11y-reduced-motion="true"]{scroll-behavior:auto!important}
html[data-icu-a11y-reduced-motion="true"] *,html[data-icu-a11y-reduced-motion="true"] *::before,html[data-icu-a11y-reduced-motion="true"] *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important
}
@media (forced-colors:active){
  :where(a[href],button,input,select,textarea,summary,[role="button"],[role="link"],[role="tab"]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
  .icu-a11y-skip{background:Canvas;color:CanvasText!important;border-color:CanvasText}
  :where(input,select,textarea)[aria-invalid="true"]{outline-color:Mark!important}
}
@media print{.icu-a11y-skip,.icu-a11y-status,.icu-a11y-error{display:none!important}}

/* Expedition-012 second-pass reflow repairs.
   Keep intentional horizontal navigation scroll local; remove page-level overflow at narrow widths
   and 200% text scaling without masking content with body overflow clipping. */
*,*::before,*::after{box-sizing:border-box}
:where(html,body){max-inline-size:100%;min-inline-size:0}
:where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,caption,label,legend){overflow-wrap:anywhere}
:where(.aseu-subnav,.bedu-mode-nav,.beu-subnav){max-inline-size:100%!important;overflow-x:auto!important;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
@media (max-width:40rem){
  :where(.o009-rec-grid,.apu-question-grid,.method-grid){grid-template-columns:minmax(0,1fr)!important;inline-size:100%!important;max-inline-size:100%!important}
  :where(.o009-rec-grid)>*, :where(.apu-question-grid)>*, :where(.method-grid)>*{min-inline-size:0!important;max-inline-size:100%!important}
  :where(.apu-breadcrumbs){white-space:normal!important;flex-wrap:wrap!important;max-inline-size:100%!important}
  :where(.apu-integration-notice strong,.universe-brand-copy strong){white-space:normal!important;overflow-wrap:anywhere}
  :where(.universe-head,.universe-brand,.universe-brand-copy,.bku-mast,.bridge-card-head,.story-index-card){min-inline-size:0!important;max-inline-size:100%!important;flex-wrap:wrap!important}
  :where(.view-controls){grid-template-columns:repeat(auto-fit,minmax(min(100%,3.75rem),1fr))!important;inline-size:100%!important;max-inline-size:100%!important}
  :where(.map-wrap){max-inline-size:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain}
  :where(.map-wrap svg,#story-map){min-inline-size:0!important;inline-size:100%!important;block-size:auto!important}
  :where(.bku-page-intro--split,.hero-grid){grid-template-columns:minmax(0,1fr)!important}
}

/* Specialist reflow containment discovered in the second audit loop. */
:where(.aseu-subnav,.bedu-mode-nav,.beu-subnav){contain:inline-size}
@media (max-width:40rem){
  :where(.apu-question){min-inline-size:0!important;max-inline-size:100%!important;overflow-wrap:anywhere;white-space:normal!important}
  :where(.apu-hero__drawing){max-inline-size:100%!important;overflow:hidden!important}
  :where(.bku-mast)>*, :where(.bku-icu-bar__inner)>*{min-inline-size:0!important;max-inline-size:100%!important}
  :where(.bku-wordmark){max-inline-size:100%!important;font-size:clamp(1.25rem,10vw,3rem)!important;line-height:.9!important;white-space:normal!important;overflow-wrap:anywhere}
  :where(.bku-label,.bku-mast p,.bku-icu-brand,.bku-icu-status){max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
  :where(.bku-icu-bar__inner nav){min-inline-size:0!important;max-inline-size:100%!important;flex-wrap:wrap!important}
}

/* Keep long specialist navigation inside its own scrollport even under 200% text scaling. */
:where(.aseu-subnav,.bedu-mode-nav,.beu-subnav){contain:layout inline-size paint!important}
@media (max-width:40rem){
  :where(.bku-icu-bar__inner){flex-direction:column!important;align-items:flex-start!important}
  :where(.bku-icu-bar__inner nav){inline-size:100%!important;justify-content:flex-start!important}
  :where(.bku-icu-save){max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
}

/* At phone widths, wrapping is more robust than forcing long specialist nav rails to remain single-line. */
@media (max-width:40rem){
  :where(.aseu-subnav){flex-wrap:wrap!important;overflow:visible!important;contain:none!important;padding-inline:0!important}
  :where(.aseu-subnav li,.aseu-subnav a){min-inline-size:0!important;max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
  :where(.bedu-mode-nav){overflow:visible!important;contain:none!important}
  :where(.bedu-mode-nav__groups){min-inline-size:0!important;inline-size:100%!important;max-inline-size:100%!important;flex-wrap:wrap!important;overflow:visible!important}
  :where(.bedu-mode-nav__group,.bedu-nav-group){min-inline-size:0!important;max-inline-size:100%!important;flex-wrap:wrap!important;white-space:normal!important}
  :where(.beu-subnav){overflow:visible!important;contain:none!important}
  :where(.beu-subnav__list){min-inline-size:0!important;inline-size:100%!important;max-inline-size:100%!important;flex-wrap:wrap!important}
  :where(.beu-subnav__item,.beu-subnav__link){min-inline-size:0!important;max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
}

/* Final specialist reflow repairs from fresh-route diagnostics. */
@media (max-width:40rem){
  :where(.bedu-question){inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;flex-wrap:wrap!important;overflow-wrap:anywhere}
  :where(.bedu-question span){min-inline-size:0!important;max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
  :where(.bedu-question span:first-child){flex:1 1 100%!important}
  :where(.beu-start-grid){grid-template-columns:minmax(0,1fr)!important;min-inline-size:0!important;max-inline-size:100%!important}
  :where(.beu-start-card){inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;grid-template-columns:minmax(0,1fr)!important;overflow:hidden!important}
  :where(.beu-start-card)>*{min-inline-size:0!important;max-inline-size:100%!important;grid-column:1!important;white-space:normal!important;overflow-wrap:anywhere}
  :where(.aseu-feature-grid,.aseu-feature-main,.aseu-feature-main figure){min-inline-size:0!important;max-inline-size:100%!important}
  :where(.aseu-feature-placeholder){min-block-size:min(22rem,70vw)!important;max-inline-size:100%!important}
}
@media (max-width:40rem){
  :where(.aseu-home-stats){grid-template-columns:minmax(0,1fr)!important}
  :where(.aseu-home-stat){min-inline-size:0!important;max-inline-size:100%!important;border-inline-end:0!important}
  :where(.aseu-home-stat small,.aseu-home-stat span,.aseu-home-stat strong){min-inline-size:0!important;max-inline-size:100%!important;white-space:normal!important;overflow-wrap:anywhere}
}
