/* Classes set by the accessibility menu (js/ih-a11y.js). Everything targets the page's own
   top-level blocks, never the menu itself, so the menu stays readable whatever is switched on. */
/* text size */
html.a11y-text-115 body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { zoom: 1.15; }
html.a11y-text-130 body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { zoom: 1.3; }
html.a11y-text-150 body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { zoom: 1.5; }

/* contrast */
html.a11y-contrast-high body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { filter: contrast(1.45) saturate(1.15); }
html.a11y-contrast-invert body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { filter: invert(1) hue-rotate(180deg); }
html.a11y-contrast-invert img, html.a11y-contrast-invert video { filter: invert(1) hue-rotate(180deg); }
html.a11y-contrast-mono body > :not(.a11y-btn):not(.a11y-panel):not(.a11y-sr) { filter: grayscale(1); }

/* line spacing */
html.a11y-lines-wide p, html.a11y-lines-wide li, html.a11y-lines-wide summary { line-height: 1.9 !important; }
html.a11y-lines-wider p, html.a11y-lines-wider li, html.a11y-lines-wider summary { line-height: 2.3 !important; letter-spacing: .02em; }

/* links */
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px solid #facc15; outline-offset: 2px; }

/* readable font (system fonts only) */
html.a11y-font body, html.a11y-font body * { font-family: Arial, "Segoe UI", Helvetica, sans-serif !important; letter-spacing: 0 !important; }

/* headings */
html.a11y-headings h1, html.a11y-headings h2, html.a11y-headings h3 { outline: 3px dashed #1d4ed8; outline-offset: 6px; }

/* big cursor */
html.a11y-cursor, html.a11y-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 8-7 2-3 8z' fill='%23111' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") 4 2, auto !important;
}

/* stop animations (the page scripts also skip their scroll effects when this is on) */
html.a11y-motion-off *, html.a11y-motion-off *::before, html.a11y-motion-off *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}

@media print {
  html[class*="a11y-"] body > * { filter: none !important; zoom: 1 !important; }
}
