.a11y-skip{position:fixed;z-index:100000;top:8px;left:8px;transform:translateY(-150%);background:#031744;color:#fff!important;padding:12px 18px;border-radius:8px;font:700 16px/1.4 Arial,sans-serif;text-decoration:none}
.a11y-skip:focus{transform:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #a63b00!important;outline-offset:3px!important}
.a11y-tools{position:fixed;z-index:99990;left:12px;bottom:12px;font:16px/1.4 Arial,sans-serif;color:#031744}
.a11y-trigger{min-height:44px;padding:9px 14px;border:2px solid #031744;border-radius:10px;background:#fff;color:#031744;font:700 15px/1.3 Arial,sans-serif;box-shadow:0 2px 12px #03174430;cursor:pointer}
.a11y-panel{position:absolute;left:0;bottom:54px;width:min(320px,calc(100vw - 24px));max-height:min(460px,calc(100vh - 86px));overflow:auto;padding:18px;border:2px solid #031744;border-radius:12px;background:#fff;color:#031744;box-shadow:0 6px 28px #03174440}
.a11y-panel[hidden]{display:none!important}
.a11y-panel h2{font:700 20px/1.3 Arial,sans-serif;margin:0 0 12px}
.a11y-panel label{display:flex;align-items:center;gap:10px;margin:12px 0;font:16px/1.4 Arial,sans-serif;cursor:pointer}
.a11y-panel input{width:20px;height:20px;flex:none;accent-color:#031744}
.a11y-panel p{font:14px/1.45 Arial,sans-serif;margin:14px 0 0}
html.a11y-large{font-size:125%!important}
html.a11y-large body{font-size:1.15rem!important;line-height:1.65!important}
html.a11y-large :where(p,li,label,input,select,textarea,button,a,td,th){font-size:max(1rem,1em)!important;line-height:1.55!important}
html.a11y-contrast body{background:#fff!important;color:#111!important}
html.a11y-contrast :where(header,footer,main,section,article,aside,nav,div,button,.btn,input,select,textarea,summary){background-color:#fff!important;color:#111!important}
html.a11y-contrast :where(p,span,small,label,li,td,th,h1,h2,h3,h4){color:#111!important}
html.a11y-contrast :where(a){text-decoration:underline!important;text-underline-offset:3px}
html.a11y-contrast :where(button,.btn,input,select,textarea){border-color:#111!important}
html.a11y-contrast :where(.card,.panel,.box,section){border-color:#111!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:480px){.a11y-tools{left:8px;bottom:8px}.a11y-trigger{padding:8px 10px;font-size:14px}}
