/* Кнопка «Версия для слабовидящих» и сама версия (ГОСТ Р 52872-2019, WCAG 2.1 AA).
   Всё, что ниже html.a11y, действует только во включённом режиме; атрибуты ставит a11y-head.js до отрисовки. */
/* плавающая кнопка «глаз»: левый нижний угол (мини-плеер и cookie — по центру), над ними, если перекрываются (--fab-b считает a11y.js) */
:root{--fab-b:calc(16px + env(safe-area-inset-bottom,0px));--fab-l:calc(16px + env(safe-area-inset-left,0px))}
.a11y-fab{position:fixed;left:var(--fab-l);bottom:var(--fab-b);z-index:65;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);color:var(--ink,#1c1530);box-shadow:0 10px 28px -10px rgba(60,30,90,.45),0 2px 6px rgba(28,21,48,.12);cursor:pointer;transition:transform .15s,background .15s,bottom .2s}
.a11y-fab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.a11y-fab:hover{background:#fff;transform:translateY(-1px)}
.a11y-fab:focus-visible{outline:3px solid var(--ink,#1c1530);outline-offset:3px}
.a11y-fab[aria-expanded="true"]{background:var(--ink,#1c1530);color:#fff}
.a11y-fab::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:7px 12px;border-radius:10px;background:var(--ink,#1c1530);color:#fff;font:500 14px/1.2 var(--f,sans-serif);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}
.a11y-fab:hover::after,.a11y-fab:focus-visible::after{opacity:1}
.a11y-fab[aria-expanded="true"]::after{opacity:0}
@media (hover:none){.a11y-fab::after{display:none}}
body{padding-bottom:max(96px,var(--safe-b,0px),var(--fab-space,0px))}
.skip2{font:inherit;border:0;cursor:pointer}.skip2:focus{left:236px}
@media (max-width:520px){.skip2:focus{left:12px;top:58px}}
/* пункт меню и ссылка в подвале */
.nav-a11y{display:none}
@media (max-width:1240px){.nav-a11y{display:block}}
.top.compact .nav-a11y{display:block}
.nav-a11y button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;border:0;border-radius:16px;background:none;font:500 17px/1.3 var(--f,sans-serif);color:#3a3150;text-align:left;cursor:pointer}
.nav-a11y button:hover{background:rgba(28,21,48,.06)}
.nav-a11y svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* панель настроек открывается над кнопкой и не выходит за край экрана */
.a11y-bar{position:fixed;z-index:66;left:var(--fab-l);bottom:calc(var(--fab-b) + 60px);width:min(460px,calc(100vw - var(--fab-l) - 12px - env(safe-area-inset-right,0px)));max-height:calc(100vh - var(--fab-b) - 72px);max-height:calc(100dvh - var(--fab-b) - 72px);overflow:auto;overscroll-behavior:contain;padding:14px 16px 16px;border-radius:20px;background:#fff;color:#000;border:3px solid #000;box-shadow:0 20px 50px -18px rgba(0,0,0,.5)}
.a11y-bar[hidden]{display:none!important}
.a11y-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.a11y-hd h2{margin:0;font-size:20px}
.a11y-x{flex:none;width:48px;height:48px;font-size:28px;line-height:1;cursor:pointer}
@media (max-width:520px){.a11y-bar{left:12px;width:calc(100vw - 24px)}}
.a11y-alt{display:none}
/* ---------- режим для слабовидящих ---------- */
html.a11y{--a-fs:22px;--a-lh:1.6;--a-ls:0;--a-ws:0;--a-ff:Arial,'Helvetica Neue',Helvetica,sans-serif;--a-fg:#000;--a-bg:#fff;--a-mute:#000}
html.a11y[data-fs="1"]{--a-fs:18px}html.a11y[data-fs="2"]{--a-fs:22px}html.a11y[data-fs="3"]{--a-fs:26px}html.a11y[data-fs="4"]{--a-fs:32px}
html.a11y[data-lh="1"]{--a-lh:1.9}html.a11y[data-lh="2"]{--a-lh:2.3}
html.a11y[data-ls="1"]{--a-ls:.08em;--a-ws:.16em}html.a11y[data-ls="2"]{--a-ls:.16em;--a-ws:.32em}
html.a11y[data-ff="serif"]{--a-ff:Georgia,'Times New Roman',Times,serif}
html.a11y[data-sc="wb"]{--a-fg:#fff;--a-bg:#000}
html.a11y[data-sc="blue"]{--a-fg:#063462;--a-bg:#9dd1ff}
html.a11y[data-sc="brown"]{--a-fg:#4d4b43;--a-bg:#f7f3d6}
html.a11y[data-sc="green"]{--a-fg:#a9e44d;--a-bg:#3b2716}
html.a11y,html.a11y body{background:var(--a-bg)!important}
html.a11y body :where(*:not(svg, svg *, img, .a11y-sw)){background-color:var(--a-bg)!important;background-image:none!important;color:var(--a-fg)!important;border-color:var(--a-fg)!important;box-shadow:none!important;text-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important}
html.a11y body,html.a11y body :where(*:not(svg, svg *)){font-family:var(--a-ff)!important;font-size:var(--a-fs)!important;line-height:var(--a-lh)!important;letter-spacing:var(--a-ls)!important;word-spacing:var(--a-ws)!important;font-style:normal}
html.a11y h1,html.a11y h1 *{font-size:calc(var(--a-fs)*1.6)!important;line-height:1.25!important}
html.a11y h2,html.a11y h2 *{font-size:calc(var(--a-fs)*1.35)!important;line-height:1.3!important}
html.a11y h3,html.a11y h3 *{font-size:calc(var(--a-fs)*1.15)!important;line-height:1.35!important}
html.a11y small,html.a11y .small,html.a11y .muted{font-size:var(--a-fs)!important}
html.a11y body svg{fill:currentColor;color:var(--a-fg)!important}
html.a11y body svg *{color:inherit}
html.a11y a{text-decoration:underline!important;text-underline-offset:.15em}
html.a11y :focus-visible{outline:4px solid var(--a-fg)!important;outline-offset:3px!important}
html.a11y button,html.a11y .btn,html.a11y input,html.a11y select,html.a11y textarea,html.a11y .cbtn,html.a11y .chip{border:2px solid var(--a-fg)!important;background:var(--a-bg)!important;border-radius:8px!important}
html.a11y button[aria-pressed="true"],html.a11y button[aria-checked="true"],html.a11y [aria-current="page"],html.a11y .btn-red,html.a11y .listen{background:var(--a-fg)!important;color:var(--a-bg)!important}
html.a11y button[aria-pressed="true"] *,html.a11y button[aria-checked="true"] *,html.a11y [aria-current="page"] *,html.a11y .btn-red *,html.a11y .listen *{color:var(--a-bg)!important;fill:var(--a-bg)!important;background:transparent!important;border-color:var(--a-bg)!important}
html.a11y .bg,html.a11y .eq{display:none!important}
html.a11y *{border-radius:0}
/* изображения */
html.a11y[data-img="off"] img,html.a11y[data-img="off"] picture,html.a11y[data-img="off"] video,html.a11y[data-img="off"] iframe,html.a11y[data-img="off"] .rich .video{display:none!important}
html.a11y[data-img="off"] .a11y-alt{display:inline-block;margin:4px 0;padding:4px 8px;border:2px dashed var(--a-fg)}
html.a11y[data-img="gray"] img,html.a11y[data-img="gray"] iframe,html.a11y[data-img="gray"] video{filter:grayscale(1)!important}
/* анимация и эффекты */
html.a11y[data-mo="off"] *,html.a11y[data-mo="off"] *::before,html.a11y[data-mo="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* раскладка: ничего не прячем и не обрезаем при крупном шрифте */
html.a11y *::before,html.a11y *::after{background-image:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.a11y .pl-bg,html.a11y .pl-ph,html.a11y .app-bnr-ic{display:none!important}
html.a11y .player{display:flex!important;flex-direction:column;align-items:stretch;gap:20px;padding:16px!important;border:3px solid var(--a-fg)!important;overflow:visible!important}
html.a11y .pl-art{width:min(300px,100%)!important;aspect-ratio:auto!important;overflow:visible!important}
html.a11y .pl-art img{position:static!important;width:100%;height:auto}
html.a11y .player [class^="pl-"],html.a11y .player [class*=" pl-"]{position:static!important;transform:none!important}
html.a11y .pl-top,html.a11y .pl-ctrl,html.a11y .pl-sched,html.a11y .t-h,html.a11y .top-in,html.a11y .cc,html.a11y .cc-b,html.a11y .form-foot,html.a11y .app-bnr-in,html.a11y .app-bnr-a{flex-wrap:wrap!important}
html.a11y .pl-sched{display:flex!important;flex-direction:column;gap:12px}
html.a11y .play-big{width:72px!important;height:72px!important}
html.a11y .bento,html.a11y [class^="grid"],html.a11y .news-grid,html.a11y .foot-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,22em),1fr))!important}
html.a11y .bento>*{grid-column:auto!important;grid-row:auto!important}
html.a11y .cc{position:fixed!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-height:60vh;overflow:auto;border:0!important;border-top:4px solid var(--a-fg)!important;border-radius:0!important}
html.a11y .main-nav ul{flex-wrap:wrap!important;row-gap:4px}
html.a11y body *{max-width:100%;overflow-wrap:break-word;text-overflow:clip!important;-webkit-line-clamp:unset!important}
html.a11y .top{position:static!important}
html.a11y .top-in{flex-wrap:wrap;height:auto!important;row-gap:10px;padding-top:10px;padding-bottom:10px}
html.a11y .app-bnr{position:static!important}
html.a11y .mini{position:sticky!important;left:auto!important;right:auto!important;bottom:0!important;transform:none!important;width:100%!important;flex-wrap:wrap;border-radius:0!important;border-top:3px solid var(--a-fg)!important;background:var(--a-bg)!important;padding:8px 12px!important}
html.a11y body{padding-bottom:0!important}
html.a11y .toast{background:var(--a-fg)!important;color:var(--a-bg)!important;border:3px solid var(--a-bg)}
/* ---------- панель настроек ---------- */
.a11y-in{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 28px;max-width:1400px;margin:0 auto}
.a11y-g{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0}
.a11y-g>.a11y-l{font-weight:700;margin-right:4px}
html.a11y .a11y-g button{min-width:52px;min-height:52px;padding:4px 12px;font-weight:700;cursor:pointer}
html.a11y .a11y-g button.fs1{font-size:18px!important}html.a11y .a11y-g button.fs2{font-size:22px!important}html.a11y .a11y-g button.fs3{font-size:26px!important}html.a11y .a11y-g button.fs4{font-size:32px!important}
html.a11y .a11y-g button.a11y-sw{border:3px solid currentColor!important;font-weight:700}
html.a11y .a11y-g button.a11y-sw[aria-pressed="true"]{outline:4px solid var(--a-fg)!important;outline-offset:3px}
html.a11y .a11y-g button.sw-bw{background:#fff!important;color:#000!important}html.a11y .a11y-g button.sw-wb{background:#000!important;color:#fff!important}
html.a11y .a11y-g button.sw-blue{background:#9dd1ff!important;color:#063462!important}html.a11y .a11y-g button.sw-brown{background:#f7f3d6!important;color:#4d4b43!important}html.a11y .a11y-g button.sw-green{background:#3b2716!important;color:#a9e44d!important}
.a11y-more{flex-basis:100%}
.a11y-more>summary{cursor:pointer;font-weight:700;padding:6px 0}
.a11y-more[open]>summary{margin-bottom:10px}
.a11y-more .a11y-in2{display:flex;flex-wrap:wrap;gap:12px 28px}
.a11y-act{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
html.a11y .a11y-act button{min-height:52px;padding:4px 16px;font-weight:700;cursor:pointer}
html.a11y .a11y-act .a11y-off{background:var(--a-fg)!important;color:var(--a-bg)!important}
@media print{.a11y-bar,.a11y-fab{display:none!important}}

/* перенос длинных слов при крупном шрифте и узком экране (увеличение до 400%) */
html.a11y body :where(p, dd, dt, li, a, span, b, strong, h1, h2, h3, h4, td, th, label, legend, summary, button){overflow-wrap:break-word;hyphens:auto}
html.a11y .gov-dl>div{grid-template-columns:minmax(0,1fr)}
html.a11y .gov-dl dt{font-weight:700}
html.a11y .cov-search{flex-wrap:wrap;border-radius:12px}
html.a11y .cov-search input{min-width:min(100%,12em)}
html.a11y .doc{flex-wrap:wrap}
html.a11y .doc>span{min-width:0}
html.a11y .doc-ic{background:var(--a-fg)!important;color:var(--a-bg)!important}
html.a11y .age-mark{border-color:var(--a-fg)!important}
html.a11y .sec-h{flex-wrap:wrap;gap:.4em 1em}
html.a11y .sec-h>*{min-width:0;white-space:normal}
html.a11y .check{flex-wrap:wrap}html.a11y .check>span{min-width:0;flex:1 1 10em}
html.a11y .note{min-width:0;overflow-wrap:anywhere}
html.a11y .docs,html.a11y .docs li{min-width:0}
html.a11y .doc{display:block}
html.a11y .doc-ic{display:inline-grid;margin-bottom:.4em}
html.a11y .pl-since .since{border:0!important;padding:0!important}

html.a11y .a11y-bar{border:4px solid var(--a-fg)!important;border-radius:0!important}
html.a11y .a11y-bar .a11y-in{gap:14px 20px}
html.a11y .a11y-act{margin-left:0}
/* кнопка «глаз» в любой схеме: заливка цветом текста, рамка цветом фона и внешняя обводка */
html.a11y .a11y-fab{background:var(--a-fg)!important;color:var(--a-bg)!important;border:3px solid var(--a-bg)!important;outline:3px solid var(--a-fg);outline-offset:0;border-radius:50%!important;width:56px;height:56px}
html.a11y .a11y-fab svg{stroke:var(--a-bg)!important;fill:none!important;width:28px;height:28px}
html.a11y .a11y-fab::after{background:var(--a-fg)!important;color:var(--a-bg)!important;border:2px solid var(--a-bg);font-size:18px!important}
html.a11y .a11y-fab:focus-visible{outline:4px solid var(--a-fg)!important;outline-offset:4px!important}
html.a11y body{padding-bottom:var(--fab-space,84px)!important}
html.a11y .nav-a11y svg{fill:none!important;stroke:var(--a-fg)}
html.a11y .skip2:focus{left:12px;top:70px}
.a11y-fab.fab-away{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s .15s}
body:has(.main-nav.open) .a11y-fab,body:has(.main-nav.open) .a11y-bar{display:none!important}
body:has(.a11y-bar:not([hidden])) .toast{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important;white-space:nowrap}
