/* accessibility widget */
.a11y-btn{position:fixed;left:0;top:42%;z-index:400;width:46px;height:46px;border:0;background:#1f4e8c;color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer}
.a11y-btn:hover,.a11y-btn:focus-visible{background:#163a69;outline:3px solid #ffd23f;outline-offset:0}
.a11y-btn svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round}
.a11y-btn svg circle{fill:#fff;stroke:none}
.a11y-panel{position:fixed;left:54px;top:max(70px,calc(42% - 160px));z-index:401;width:300px;max-width:calc(100vw - 70px);max-height:calc(100svh - 90px);overflow:auto;background:#fff;color:#222;border:2px solid #1f4e8c;box-shadow:0 18px 40px rgba(0,0,0,.25);font-family:'Heebo',Arial,sans-serif;font-size:16px}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;justify-content:space-between;align-items:center;background:#1f4e8c;color:#fff;padding:10px 14px}
.a11y-head b{font-size:1.1rem}
.a11y-x{border:0;background:none;color:#fff;font-size:1.1rem;cursor:pointer;width:32px;height:32px}
.a11y-size{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e3e3e3}
.a11y-size span{flex:1;font-weight:500}
.a11y-size button{width:40px;height:36px;border:1px solid #1f4e8c;background:#fff;color:#1f4e8c;font-weight:700;cursor:pointer}
.a11y-size output{min-width:46px;text-align:center;font-weight:600}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px}
.a11y-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid #cfd8e6;background:#f6f8fb;color:#1f2a3a;font:inherit;font-size:.9rem;cursor:pointer}
.a11y-grid button svg{width:24px;height:24px;fill:none;stroke:#1f4e8c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a11y-grid button[aria-pressed="true"]{background:#1f4e8c;color:#fff;border-color:#1f4e8c}
.a11y-grid button[aria-pressed="true"] svg{stroke:#fff}
.a11y-grid button:focus-visible,.a11y-size button:focus-visible,.a11y-foot button:focus-visible,.a11y-foot a:focus-visible{outline:3px solid #ffd23f;outline-offset:1px}
.a11y-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 14px;border-top:1px solid #e3e3e3}
.a11y-reset{border:1px solid #c00;background:#fff;color:#c00;padding:8px 12px;cursor:pointer;font:inherit}
.a11y-foot a{color:#1f4e8c;font-weight:600}

/* modes */
html.a11y-gray body>*:not(.a11y-panel):not(.a11y-btn){filter:grayscale(1)}
html.a11y-contrast body{background:#000!important}
html.a11y-contrast body *:not(.a11y-panel):not(.a11y-panel *):not(img):not(video):not(svg):not(svg *){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important}
html.a11y-contrast a:not(.a11y-panel a),html.a11y-contrast button:not(.a11y-panel button){color:#ffd23f!important}
html.a11y-contrast .title,html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3{color:#ffd23f!important}
html.a11y-links a:not(.a11y-panel a){text-decoration:underline!important;text-underline-offset:3px;outline:2px solid #1f4e8c;outline-offset:2px}
html.a11y-readable body,html.a11y-readable body *:not(svg):not(svg *){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important}
html.a11y-spacing body *{line-height:1.9!important;word-spacing:.12em}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-still .confetti,html.a11y-still .spark-layer{display:none!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'%3E%3Cpath d='M5 3l14 8-6 2-2 6z' fill='%23000' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") 4 2,auto!important}
@media (max-width:640px){.a11y-btn{top:auto;bottom:74px;width:42px;height:42px}.a11y-panel{top:auto;bottom:20px}}
