/* Панель полностью изолирована от визуальных режимов сайта. */
#ortus-a11y-root, #ortus-a11y-root * { box-sizing: border-box; font-family: Arial, Helvetica, sans-serif !important; letter-spacing: normal !important; line-height: 1.45 !important; }
#ortus-a11y-root { position: relative; left: auto; right: auto; bottom: auto; z-index: 2147483000; font-size: 16px !important; color: #151515 !important; text-align: center; padding: 20px 16px; background: #f4f6f8; }
#ortus-a11y-root button { cursor: pointer; font-size: 15px !important; }
#ortus-a11y-root button:focus-visible, #ortus-a11y-root input:focus-visible { outline: 3px solid #2364dc !important; outline-offset: 3px; }
.ortus-a11y-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 2px solid #fff; border-radius: 999px; background: #172a42; color: #fff; padding: 12px 16px; box-shadow: 0 4px 16px #0004; font-weight: bold; }
.ortus-a11y-toggle.ortus-a11y-active { background: #005ca8; }
.ortus-a11y-panel { width: min(370px, calc(100vw - 24px)); position: fixed; top: 50%; bottom: auto; left: 50%; right: auto; transform: translate(-50%, -50%); max-height: min(78vh, 680px); text-align: left; z-index: 2147483001; overflow: auto; border: 2px solid #172a42; border-radius: 14px; padding: 18px; background: #fff; color: #151515; box-shadow: 0 10px 30px #0004; }
.ortus-a11y-panel[hidden] { display: none !important; }
.ortus-a11y-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; font-size: 19px; margin-bottom: 14px; }
#ortus-a11y-root .ortus-a11y-close { padding: 0 8px; border: 1px solid #777; background: white; color: #111; border-radius: 7px; font-size: 25px !important; }
.ortus-a11y-fieldset { border: 0; padding: 0; margin: 0 0 15px; min-width: 0; }
.ortus-a11y-fieldset legend { font-weight: bold; padding: 0; margin-bottom: 7px; }
.ortus-a11y-choice { display: flex; gap: 7px; }
#ortus-a11y-root .ortus-a11y-choice button { border: 2px solid #bfc8d3; border-radius: 7px; background: white; color: #1c2836; padding: 10px 8px; flex: 1; font-weight: bold; }
#ortus-a11y-root .ortus-a11y-choice button[aria-pressed="true"] { border-color: #064e96; background: #e7f2ff; box-shadow: inset 0 0 0 1px #064e96; }
#ortus-a11y-root .ortus-a11y-colors button[data-value="black"] { background: #151515; color: white; }
#ortus-a11y-root .ortus-a11y-colors button[data-value="yellow"] { background: #fff0a2; color: #111; }
.ortus-a11y-check { display: flex; align-items: center; gap: 9px; padding: 7px 0; font-weight: 500; cursor: pointer; }
.ortus-a11y-check input { width: 20px; height: 20px; accent-color: #075ca3; }
.ortus-a11y-actions { display: flex; gap: 8px; margin-top: 16px; }
#ortus-a11y-root .ortus-a11y-actions button { flex: 1; border: 1px solid #263c51; border-radius: 7px; padding: 10px 6px; background: #fff; color: #182d43; font-weight: bold; }
#ortus-a11y-root .ortus-a11y-actions .ortus-a11y-off { background: #172a42; color: #fff; }
@media (max-width: 600px) { #ortus-a11y-root { bottom: auto; left: auto; right: auto; } .ortus-a11y-toggle { padding: 10px 12px; } .ortus-a11y-panel { max-height: 68vh; } }
/* Режим повышенной читаемости. Не меняем размеры и расположение блоков в обычной версии. */
html.ortus-a11y-on { scroll-behavior: auto !important; }
html.ortus-a11y-size-large { font-size: 112.5% !important; }
html.ortus-a11y-size-largest { font-size: 125% !important; }
html.ortus-a11y-size-large body :is(p, li, label, td, th, input, textarea, select, button):not(#ortus-a11y-root *),
html.ortus-a11y-size-large body :is(h1,h2,h3,h4,h5,h6):not(#ortus-a11y-root *) { font-size: max(1em, 1.12rem) !important; }
html.ortus-a11y-size-largest body :is(p, li, label, td, th, input, textarea, select, button):not(#ortus-a11y-root *),
html.ortus-a11y-size-largest body :is(h1,h2,h3,h4,h5,h6):not(#ortus-a11y-root *) { font-size: max(1em, 1.25rem) !important; }
html.ortus-a11y-spacing body :is(p, li, a, label, h1, h2, h3, h4, h5, h6, button):not(#ortus-a11y-root *) { letter-spacing: .06em !important; word-spacing: .12em !important; line-height: 1.65 !important; }
html.ortus-a11y-links body a:not(#ortus-a11y-root *) { text-decoration: underline !important; text-underline-offset: .15em; }
html.ortus-a11y-hide-images body img:not(#ortus-a11y-root *), html.ortus-a11y-hide-images body picture:not(#ortus-a11y-root *), html.ortus-a11y-hide-images body video:not(#ortus-a11y-root *) { visibility: hidden !important; }
html.ortus-a11y-hide-images body :not(#ortus-a11y-root):not(#ortus-a11y-root *) { background-image: none !important; }
/* Цветовые режимы с читаемыми ссылками и сохранением контента. */
html.ortus-a11y-theme-white { --ortus-a11y-bg: #fff; --ortus-a11y-fg: #111; --ortus-a11y-link: #003e9d; }
html.ortus-a11y-theme-black { --ortus-a11y-bg: #111; --ortus-a11y-fg: #fff; --ortus-a11y-link: #ffe36e; }
html.ortus-a11y-theme-yellow { --ortus-a11y-bg: #fff0a2; --ortus-a11y-fg: #171717; --ortus-a11y-link: #003c85; }
html.ortus-a11y-on body { background: var(--ortus-a11y-bg) !important; color: var(--ortus-a11y-fg) !important; }
html.ortus-a11y-on body :is(header,nav,main,section,article,aside,footer,div,p,ul,ol,li,table,td,th,blockquote,form):not(#ortus-a11y-root):not(#ortus-a11y-root *) { background-color: var(--ortus-a11y-bg) !important; color: var(--ortus-a11y-fg) !important; border-color: var(--ortus-a11y-fg) !important; }
html.ortus-a11y-on body :is(h1,h2,h3,h4,h5,h6,span,strong,b,small,label):not(#ortus-a11y-root *) { color: var(--ortus-a11y-fg) !important; text-shadow: none !important; }
html.ortus-a11y-on body a:not(#ortus-a11y-root *) { color: var(--ortus-a11y-link) !important; text-shadow: none !important; }
html.ortus-a11y-on body :is(input,textarea,select,button):not(#ortus-a11y-root *) { background: var(--ortus-a11y-bg) !important; color: var(--ortus-a11y-fg) !important; border: 2px solid var(--ortus-a11y-fg) !important; }
html.ortus-a11y-on body :is(a,button,input,textarea,select):focus-visible:not(#ortus-a11y-root *) { outline: 3px solid var(--ortus-a11y-link) !important; outline-offset: 3px !important; }
@media (prefers-reduced-motion: reduce) { html.ortus-a11y-on body *, html.ortus-a11y-on body *::before, html.ortus-a11y-on body *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
