/* Accessibility menu (our own, not an overlay product) and the modes it switches on <html>. */
.a11y-fab{position:fixed;bottom:84px;left:10px;z-index:9999;width:48px;height:48px;border-radius:50%;border:3px solid #fff;background:#1f2a44;color:#fff;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.a11y-fab:focus-visible{outline:3px solid #ffb020;outline-offset:3px}
.a11y-panel{position:fixed;bottom:140px;left:10px;z-index:9999;width:min(300px,calc(100vw - 20px));max-height:70vh;overflow:auto;background:#fff;color:#1f2a44;border:3px solid #1f2a44;border-radius:16px;padding:12px;box-shadow:0 6px 24px rgba(0,0,0,.35);font-family:system-ui,sans-serif}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:18px;margin:0 0 8px}
.a11y-panel button{display:block;width:100%;text-align:start;margin:6px 0;padding:11px 12px;font-size:16px;border-radius:12px;border:2px solid #1f2a44;background:#fff;color:#1f2a44;cursor:pointer}
.a11y-panel button[aria-pressed="true"]{background:#1f2a44;color:#fff}
.a11y-panel button:focus-visible{outline:3px solid #5b5bf0;outline-offset:2px}
.a11y-panel .row2{display:flex;gap:8px}.a11y-panel .row2 button{margin:6px 0}
.a11y-panel a{color:#3b3bb8;font-size:15px}
body:has(input:focus,textarea:focus) .a11y-fab,body:has(input:focus,textarea:focus) .a11y-panel{display:none}
/* leave room under the content so the floating button never hides the last line */
body{padding-bottom:64px}
/* modes */
html.a11y-readable body,html.a11y-readable button,html.a11y-readable input{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em;line-height:1.75!important}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;font-weight:700;outline:2px solid transparent}
html.a11y-links a:hover{background:#ffe27a;color:#000}
html.a11y-contrast,html.a11y-contrast body,html.a11y-contrast *{background:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important}
html.a11y-contrast a,html.a11y-contrast a *{color:#7dd3ff!important;text-decoration:underline!important}
html.a11y-contrast .btn:not(.sec):not(.danger),html.a11y-contrast .btn:not(.sec):not(.danger) *,html.a11y-contrast .a11y-panel button[aria-pressed="true"]{background:#ffe600!important;color:#000!important}
html.a11y-contrast .btn.sec,html.a11y-contrast .btn.danger{color:#ffe600!important;border:2px solid #ffe600!important}
html.a11y-contrast .opt.ok{border-color:#00ff7f!important}html.a11y-contrast .opt.bad{border-color:#ff6b6b!important}
html.a11y-contrast :focus-visible{outline:3px solid #ffe600!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
