.accessibility-trigger {
  position:fixed;left:20px;right:auto;bottom:24px;z-index:5100;
  width:52px;height:52px;display:grid;place-items:center;
  background:#edf0e7;color:#59654d;border:2px solid #d5dccd;border-radius:50%;
  box-shadow:0 3px 12px #3f4a321a;cursor:pointer;
}
.accessibility-trigger svg {width:29px;height:29px;}
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #59654d;outline-offset:4px;
}
.accessibility-dialog {
  position:fixed;inset:auto auto 88px 20px;margin:0;
  width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 112px);
  overflow:auto;overscroll-behavior:contain;padding:22px;
  border:1px solid #d7dde6;border-radius:18px;background:#fff;color:#1b2736;
  box-shadow:0 12px 50px #0003;font-family:var(--type-family);font-size:16px;line-height:1.5;
}
.accessibility-dialog::backdrop {background:rgba(15,23,42,.28);}
.accessibility-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
.accessibility-header h2 {font-size:21px;line-height:1.4;font-weight:600;}
.accessibility-close {width:40px;height:40px;flex-shrink:0;border-radius:50%;font-size:28px;line-height:1;background:#f0f3f7;}
.accessibility-font {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.accessibility-font-controls {display:flex;align-items:center;gap:8px;direction:ltr;}
.accessibility-font-controls button {width:42px;height:42px;border:1px solid #b9c5d3;border-radius:8px;font-size:18px;}
.accessibility-font-controls button:disabled {opacity:.4;cursor:default;}
.accessibility-font-controls output {min-width:52px;text-align:center;font-size:14px;}
.accessibility-option {display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:52px;padding:10px 12px;margin-top:8px;background:#f4f6f9;border:1px solid #e2e7ed;border-radius:10px;text-align:right;font-size:16px;}
.accessibility-option[aria-pressed="true"] {background:#edf0e7;border-color:#59654d;}
.accessibility-switch {position:relative;width:34px;height:20px;flex-shrink:0;border-radius:12px;background:#9ba7b5;}
.accessibility-switch::after {content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;}
[aria-pressed="true"] .accessibility-switch {background:#59654d;}
[aria-pressed="true"] .accessibility-switch::after {left:17px;}
.accessibility-reset {width:100%;min-height:44px;margin-top:18px;border:1px solid #b9c5d3;border-radius:10px;font-size:16px;}
html.a11y-links a {text-decoration:underline !important;text-underline-offset:.2em;text-decoration-thickness:2px !important;}
html.a11y-contrast body,
html.a11y-contrast body :where(section,header,footer,nav,article,div,dialog,summary,button,input,select,a,p,span,h1,h2,h3,strong,label,legend,fieldset,li) {
  color:#fff !important;background-color:#111 !important;border-color:#eee !important;text-shadow:none !important;
}
html.a11y-contrast a {color:#ffeb6e !important;}
html.a11y-contrast svg {stroke:currentColor !important;}
html.a11y-contrast .accessibility-option[aria-pressed="true"] {outline:2px solid #ffeb6e;outline-offset:-3px;}
html.a11y-contrast :focus-visible {outline-color:#ffeb6e !important;}
html.a11y-motion,html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after {
  scroll-behavior:auto !important;animation:none !important;transition:none !important;
}
@media (prefers-reduced-motion:reduce) {
  html,*,*::before,*::after {scroll-behavior:auto !important;animation:none !important;transition:none !important;}
}
@media (max-width:760px) {
  .accessibility-trigger {left:6px;bottom:auto;top:50%;transform:translateY(-50%);width:44px;height:44px;border-width:1.5px;}
  .accessibility-trigger svg {width:25px;height:25px;}
  .accessibility-dialog {inset:50% auto auto 12px;transform:translateY(-50%);max-height:calc(100dvh - 48px);padding:18px;}
}
