/* Shared, locally hosted accessibility controls and display preferences. */
:root[data-a11y-size="100"]{font-size:100%}
:root[data-a11y-size="125"]{font-size:125%}
:root[data-a11y-size="150"]{font-size:150%}
:root[data-a11y-size="200"]{font-size:200%}
.has-accessibility-menu{padding-block-end:6rem}
.a11y-launcher,.a11y-dialog{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.6;letter-spacing:normal;color:#142e26;background:#fff;color-scheme:light}
.a11y-launcher{position:fixed;inset-block-end:max(1rem,env(safe-area-inset-bottom));inset-inline-end:max(1rem,env(safe-area-inset-right));z-index:1000;border:2px solid #17382e;border-radius:2rem;min-height:44px;padding:.65rem 1rem;font-size:.875rem;font-weight:700;cursor:pointer;max-width:calc(100% - 2rem);box-shadow:0 3px 15px #0003;white-space:normal;overflow-wrap:anywhere}
.a11y-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;border:2px solid #17382e;border-radius:1rem;width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:1.5rem;overflow:auto;font-size:1rem;text-align:start}
.a11y-dialog:not([open]){display:none}
.a11y-dialog::backdrop{background:#0009}
.a11y-top{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-block-end:1rem}
.a11y-dialog h2{flex:1 1 9rem;font-size:1.4rem;line-height:1.3;letter-spacing:normal;margin:0;color:inherit;overflow-wrap:anywhere}
.a11y-dialog button,.a11y-dialog select{box-sizing:border-box;font:inherit;min-height:44px;max-width:100%;border:2px solid #52685d;border-radius:.35rem;background:#fff;color:#142e26;padding:.55rem .7rem;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.a11y-dialog button:hover{background:#eaf2e6;color:#142e26;border-color:#17382e;transform:none}
.a11y-dialog .a11y-close{font-size:.8rem;display:block}
.a11y-dialog .a11y-label{display:block;font:inherit;font-weight:700;margin-block:.5rem}
.a11y-dialog select{width:100%}
.a11y-dialog .a11y-toggle{display:flex;align-items:center;gap:.75rem;min-height:44px;margin-block:1rem;cursor:pointer;font:inherit;font-weight:600}
.a11y-dialog input[type=checkbox]{appearance:auto;position:static;opacity:1;width:1.3rem;height:1.3rem;flex:none;margin:0;accent-color:#17382e}
.a11y-dialog .a11y-hint{font-size:.875rem;color:#3e554b;margin-block:1rem;overflow-wrap:anywhere}
.a11y-dialog .a11y-reset{width:100%;display:block}
.a11y-dialog a{display:block;color:#14533d;font-size:1rem;font-weight:650;text-decoration:underline;text-underline-offset:.2em;margin-block:1rem .25rem;overflow-wrap:anywhere}
.a11y-dialog .a11y-announcement{font-size:.875rem;min-height:1.6em;margin-block:1rem 0;color:inherit}
.a11y-launcher:focus-visible,.a11y-dialog :focus-visible{outline:3px solid #004fb3;outline-offset:3px;box-shadow:0 0 0 6px #fff}
html[data-a11y-motion]{scroll-behavior:auto!important}
html[data-a11y-motion] *,html[data-a11y-motion] *::before,html[data-a11y-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-a11y-motion] .button:hover{transform:none!important}
html[data-a11y-contrast]{color-scheme:dark;--bg:#000;--surface:#000;--surface-raised:#000;--text:#fff;--muted:#fff;--line:#fff;--cyan:#ffeb3b;--cyan-light:#ffeb3b;--ink:#fff;--green:#ffeb3b;--paper:#000;--soft:#000;--orange:#ffeb3b}
html[data-a11y-contrast] body,html[data-a11y-contrast] body *{color:#fff!important;background-color:#000!important;background-image:none!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html[data-a11y-contrast] body::before,html[data-a11y-contrast] body::after,html[data-a11y-contrast] body *::before,html[data-a11y-contrast] body *::after{background-image:none!important;box-shadow:none!important}
html[data-a11y-contrast] a,html[data-a11y-contrast] button{color:#ffeb3b!important;text-decoration:underline!important;text-underline-offset:.2em}
html[data-a11y-contrast] .brand:has(img){background-color:#edf5fc!important}
html[data-a11y-contrast] input,html[data-a11y-contrast] select,html[data-a11y-contrast] textarea{border:2px solid #fff!important;accent-color:#ffeb3b}
html[data-a11y-contrast] :focus-visible{outline:3px solid #ffeb3b!important;outline-offset:4px;box-shadow:0 0 0 7px #000!important}
html[data-a11y-contrast] .switch-input:focus-visible+.switch-track{outline:3px solid #ffeb3b!important;outline-offset:4px}
html[data-a11y-contrast] .switch-track{border:2px solid #fff!important}
html[data-a11y-contrast] .switch-track::before{background:#fff!important;inset-block-start:1px;inset-inline-start:1px}
html[data-a11y-contrast] .switch-input:checked+.switch-track{background:#ffeb3b!important}
html[data-a11y-contrast] .switch-input:checked+.switch-track::before{background:#000!important;inset-inline-start:21px}
@media(prefers-reduced-motion:reduce){html,html *{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.a11y-launcher,.a11y-dialog,.a11y-dialog button,.a11y-dialog select{border:2px solid ButtonText}.switch-track{border:2px solid ButtonText}.switch-track::before{background:ButtonText}.switch-input:checked+.switch-track{background:Highlight}.switch-input:checked+.switch-track::before{background:HighlightText}.a11y-dialog :focus-visible,.a11y-launcher:focus-visible{outline:3px solid Highlight}}
