/* Adapt --sa-* to the site's identity after measuring contrast. */
:root{--sa-ink:#144569;--sa-paper:#fff;--sa-text:#223746;--sa-gap:12px}
[hidden]{display:none!important}
.sa-panel{position:fixed;left:12px;bottom:80px;z-index:1000;box-sizing:border-box;width:400px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain;padding:20px;border:1px solid #718694;border-radius:16px;background:var(--sa-paper);color:var(--sa-text);font:16px/1.5 system-ui,sans-serif;box-shadow:0 12px 40px #0003}
.sa-panel h2{font:700 1.25em/1.3 system-ui;margin:0}.sa-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sa-panel p{font-size:.9em}.sa-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #718694}
.sa-option input{width:24px;height:24px;accent-color:var(--sa-ink);flex:none}.sa-panel select,.sa-panel button{font:inherit;min-height:44px;color:var(--sa-ink);background:#fff;border:1px solid var(--sa-ink);border-radius:8px;padding:8px 10px;cursor:pointer}.sa-actions{display:flex;flex-wrap:wrap;gap:12px}.sa-panel button svg{display:block;width:24px;height:24px;fill:currentColor}
.sa-trigger{position:fixed;left:1rem;bottom:1rem;z-index:999;width:48px;height:48px;border:2px solid #fff;border-radius:50%;color:white;background:var(--sa-ink);box-shadow:0 2px 8px #0005;display:grid;place-items:center;cursor:pointer}.sa-trigger svg{width:28px;height:28px;fill:currentColor}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--sa-ink);outline-offset:4px;box-shadow:0 0 0 6px #fff}
html.a11y-spacing :is(main,footer) :is(p,li,h1,h2,h3,a,label){line-height:1.65!important;letter-spacing:.12em!important;word-spacing:.16em!important}
html.a11y-spacing main p{margin-bottom:2em!important}
html.a11y-links :is(main,footer) a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html.a11y-scaled :is(main,footer){overflow-wrap:anywhere}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html.a11y-contrast :is(body,main,section,article,header,footer,aside,nav,.sa-panel){background:#fff!important;color:#111!important}
html.a11y-contrast :is(h1,h2,h3,h4,p,li,small,strong,em,label,figcaption,a){color:#111!important;text-shadow:none!important}
html.a11y-contrast :is(button,select,input,textarea){background:#fff!important;color:#111!important;border-color:#111!important}
html.a11y-contrast :is(.sa-trigger,.sa-panel button){background:#fff!important;color:#111!important;border:2px solid #111!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.sa-panel,.sa-trigger,.sa-panel button{border:2px solid ButtonText}.sa-trigger{background:ButtonFace;color:ButtonText}svg{fill:currentColor}}

.sa-heading h2{min-width:0;overflow-wrap:anywhere}.sa-heading button{flex:none}.sa-option select{max-width:100%;min-width:90px}.sa-panel .sa-option{flex-wrap:wrap}

.a11y-size-controls{display:flex;align-items:center;flex:none;border:1px solid #144569;border-radius:9px;background:#fff;color:#144569;overflow:visible}
.a11y-size-controls button{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.a11y-size-controls button svg{display:block;width:24px;height:24px;fill:currentColor}
.a11y-size-controls output{min-width:56px;text-align:center;font:600 15px system-ui,sans-serif;font-variant-numeric:tabular-nums;color:inherit}
.a11y-size-controls button:hover:not([aria-disabled="true"]){background:#e8eef3}
.a11y-size-controls button[aria-disabled="true"]{color:#6b7881;cursor:default}

