/* === ПАНЕЛЬ ДОСТУПНОСТИ (WCAG 2.1 AA) === */
.a11y-eye-btn{display:inline-flex;align-items:center;justify-content:center;background:#1565C0;border:2px solid #1565C0;color:#fff;cursor:pointer;padding:8px 12px;margin-left:10px;border-radius:8px;vertical-align:middle;transition:all .2s;font-family:Arial,sans-serif;font-size:14px;font-weight:600;min-height:44px;min-width:44px;gap:6px}
.a11y-eye-btn:hover{background:#0d47a1;border-color:#0d47a1}
.a11y-eye-btn:focus{outline:3px solid #FFD600;outline-offset:2px}
.a11y-eye-btn:focus:not(:focus-visible){outline:none}
.a11y-eye-btn:focus-visible{outline:3px solid #FFD600;outline-offset:2px}
.a11y-eye-btn.active{background:#0d47a1;box-shadow:0 0 0 3px rgba(21,101,192,.3)}
.a11y-eye-btn svg{flex-shrink:0}
.a11y-eye-btn-text{display:none}
@media(min-width:600px){.a11y-eye-btn-text{display:inline}}

/* Кнопка для глухих (ухо) */
.a11y-ear-btn{display:inline-flex;align-items:center;justify-content:center;background:#1565C0;border:2px solid #1565C0;color:#fff;cursor:pointer;padding:8px 12px;margin-left:6px;border-radius:8px;vertical-align:middle;transition:all .2s;font-family:Arial,sans-serif;font-size:14px;font-weight:600;min-height:44px;min-width:44px;gap:6px;text-decoration:none;box-sizing:border-box}
.a11y-ear-btn:hover{background:#0d47a1;border-color:#0d47a1;color:#fff}
.a11y-ear-btn:focus{outline:3px solid #FFD600;outline-offset:2px}
.a11y-ear-btn:focus:not(:focus-visible){outline:none}
.a11y-ear-btn:focus-visible{outline:3px solid #FFD600;outline-offset:2px}
.a11y-ear-btn svg{flex-shrink:0}
.a11y-ear-btn.active{background:#0d47a1;box-shadow:0 0 0 3px rgba(21,101,192,.3)}
.a11y-ear-btn.speaking{background:#FF9800;border-color:#FF9800;animation:a11y-pulse 1s infinite}

.a11y-bar{display:none;background:#f5f5f5;border-bottom:3px solid #1565C0;padding:16px 0;font-family:Arial,sans-serif;font-size:16px;color:#222;position:relative;z-index:9999}
.a11y-bar.open{display:block}
.a11y-bar-inner{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 24px}
.a11y-bar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.a11y-bar-group[role="group"]{padding:4px 0}
.a11y-bar-label{font-size:14px;color:#333;white-space:nowrap;font-weight:700;min-width:max-content}
.a11y-bar-sep{width:2px;height:36px;background:#ccc;margin:0 8px;flex-shrink:0}

/* Кнопки панели - минимум 44x44px по WCAG */
.a11y-bar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:2px solid #666;border-radius:8px;background:#fff;color:#333;cursor:pointer;font-family:Arial,sans-serif;font-size:16px;font-weight:700;transition:all .15s;white-space:nowrap;position:relative}
.a11y-bar-btn:hover{border-color:#1565C0;background:#e3f2fd;color:#0d47a1}
.a11y-bar-btn:focus{outline:3px solid #FFD600;outline-offset:2px}
.a11y-bar-btn:focus:not(:focus-visible){outline:none}
.a11y-bar-btn:focus-visible{outline:3px solid #FFD600;outline-offset:2px}
.a11y-bar-btn.active{border-color:#1565C0;background:#1565C0;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}
.a11y-bar-btn[aria-pressed="true"]{border-color:#1565C0;background:#1565C0;color:#fff}
.a11y-bar-btn:disabled{opacity:0.4;cursor:not-allowed;background:#eee;border-color:#ccc;color:#999}
.a11y-bar-btn:disabled:hover{background:#eee;border-color:#ccc;color:#999}
.a11y-bar-btn svg{width:20px;height:20px;flex-shrink:0}

/* Цветовые темы кнопок */
.a11y-bar-btn--bw{background:#fff;color:#000;border-color:#000}
.a11y-bar-btn--bw.active,.a11y-bar-btn--bw[aria-pressed="true"]{background:#000;color:#fff}
.a11y-bar-btn--wb{background:#222;color:#fff;border-color:#fff}
.a11y-bar-btn--wb.active,.a11y-bar-btn--wb[aria-pressed="true"]{background:#000;color:#fff;border-color:#1565C0;box-shadow:0 0 0 2px #1565C0}
.a11y-bar-btn--yb{background:#0a0a28;color:#FFD600;border-color:#FFD600}
.a11y-bar-btn--yb.active,.a11y-bar-btn--yb[aria-pressed="true"]{box-shadow:0 0 0 2px #FFD600}
.a11y-bar-btn--db{background:#614a19;color:#a9e44d;border-color:#a9e44d}
.a11y-bar-btn--db.active,.a11y-bar-btn--db[aria-pressed="true"]{box-shadow:0 0 0 2px #a9e44d}

/* Кнопка сброса */
.a11y-bar-reset{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:2px solid #333;border-radius:8px;background:#333;color:#fff;cursor:pointer;font-family:Arial,sans-serif;font-size:14px;font-weight:700;transition:all .15s;margin-left:auto}
.a11y-bar-reset:hover{background:#555;border-color:#555}
.a11y-bar-reset:focus{outline:3px solid #FFD600;outline-offset:2px}
.a11y-bar-reset svg{width:18px;height:18px}

/* Кнопка закрытия */
.a11y-bar-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid #666;background:#fff;color:#666;font-size:24px;cursor:pointer;border-radius:8px;margin-left:8px;transition:all .15s}
.a11y-bar-close:hover{color:#c62828;border-color:#c62828;background:#ffebee}
.a11y-bar-close:focus{outline:3px solid #FFD600;outline-offset:2px}

/* Адаптив для мобильных */
@media(max-width:900px){
.a11y-bar-inner{gap:10px 16px;justify-content:center}
.a11y-bar-sep{display:none}
.a11y-bar-label{font-size:13px;width:100%;text-align:center}
.a11y-bar-group{justify-content:center}
.a11y-bar-reset{margin:8px auto 0;width:auto}
}
@media(max-width:480px){
.a11y-bar-btn{min-width:40px;min-height:40px;padding:6px 10px;font-size:14px}
.a11y-bar-label{font-size:12px}
}

/* === ПРИМЕНЯЕМЫЕ СТИЛИ === */
/* Масштабирование шрифта - zoom для всего контента */
body.a11y-zoom-110{zoom:1.1}
body.a11y-zoom-120{zoom:1.2}
body.a11y-zoom-130{zoom:1.3}
body.a11y-zoom-140{zoom:1.4}
body.a11y-zoom-150{zoom:1.5}
body.a11y-zoom-160{zoom:1.6}
body.a11y-zoom-170{zoom:1.7}
body.a11y-zoom-180{zoom:1.8}
body.a11y-zoom-190{zoom:1.9}
body.a11y-zoom-200{zoom:2.0}
/* Панель остаётся нормального размера */
.a11y-bar{zoom:1 !important;transform-origin:top left}
body.a11y-zoom-110 .a11y-bar{zoom:calc(1/1.1)}
body.a11y-zoom-120 .a11y-bar{zoom:calc(1/1.2)}
body.a11y-zoom-130 .a11y-bar{zoom:calc(1/1.3)}
body.a11y-zoom-140 .a11y-bar{zoom:calc(1/1.4)}
body.a11y-zoom-150 .a11y-bar{zoom:calc(1/1.5)}
body.a11y-zoom-160 .a11y-bar{zoom:calc(1/1.6)}
body.a11y-zoom-170 .a11y-bar{zoom:calc(1/1.7)}
body.a11y-zoom-180 .a11y-bar{zoom:calc(1/1.8)}
body.a11y-zoom-190 .a11y-bar{zoom:calc(1/1.9)}
body.a11y-zoom-200 .a11y-bar{zoom:calc(1/2.0)}

/* Цветовые схемы */
body.a11y-theme-bw,body.a11y-theme-bw *:not(.a11y-bar):not(.a11y-bar *){background-color:#fff !important;color:#000 !important;border-color:#000 !important}
body.a11y-theme-bw img:not(.a11y-bar img){filter:grayscale(100%) contrast(1.2) !important}
body.a11y-theme-bw a:not(.a11y-bar a){color:#000 !important;text-decoration:underline !important}

body.a11y-theme-wb,body.a11y-theme-wb *:not(.a11y-bar):not(.a11y-bar *){background-color:#000 !important;color:#fff !important;border-color:#fff !important}
body.a11y-theme-wb img:not(.a11y-bar img){filter:grayscale(100%) brightness(1.2) !important}
body.a11y-theme-wb a:not(.a11y-bar a){color:#90caf9 !important;text-decoration:underline !important}

body.a11y-theme-yb,body.a11y-theme-yb *:not(.a11y-bar):not(.a11y-bar *){background-color:#0a0a28 !important;color:#FFD600 !important;border-color:#FFD600 !important}
body.a11y-theme-yb img:not(.a11y-bar img){filter:grayscale(100%) sepia(40%) !important}
body.a11y-theme-yb a:not(.a11y-bar a){color:#ffff8d !important;text-decoration:underline !important}

body.a11y-theme-db,body.a11y-theme-db *:not(.a11y-bar):not(.a11y-bar *){background-color:#614a19 !important;color:#a9e44d !important;border-color:#a9e44d !important}
body.a11y-theme-db img:not(.a11y-bar img){filter:grayscale(100%) sepia(60%) !important}
body.a11y-theme-db a:not(.a11y-bar a){color:#c5ff70 !important;text-decoration:underline !important}

/* Межстрочный интервал */
body.a11y-lh-medium *{line-height:1.8 !important}
body.a11y-lh-large *{line-height:2.2 !important}

/* Межбуквенный интервал */
body.a11y-ls-medium *{letter-spacing:1px !important;word-spacing:2px !important}
body.a11y-ls-large *{letter-spacing:3px !important;word-spacing:6px !important}

/* Шрифт с засечками */
body.a11y-font-serif *{font-family:Georgia,'Times New Roman',Times,serif !important}

/* Выделение ссылок */
body.a11y-links-underline a{text-decoration:underline !important;font-weight:bold !important;outline:1px dotted currentColor !important}

/* Скрыть изображения */
body.a11y-no-images img:not(.a11y-bar img),
body.a11y-no-images picture:not(.a11y-bar picture),
body.a11y-no-images svg:not(.a11y-bar svg):not(.a11y-eye-btn svg):not(.a11y-ear-btn svg),
body.a11y-no-images video:not(.a11y-bar video),
body.a11y-no-images [style*="background-image"]:not(.a11y-bar *){opacity:0.05 !important;filter:grayscale(100%) !important}

/* Курсор */
body.a11y-big-cursor,body.a11y-big-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M5 2l18 14-10 2 6 12-4 2-6-12-4 8z' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 5 2,auto !important}

/* Подсветка фокуса */
body.a11y-focus-highlight *:focus{outline:3px solid #FF6B00 !important;outline-offset:3px !important;box-shadow:0 0 0 6px rgba(255,107,0,.3) !important}

/* Остановка анимаций */
body.a11y-no-animations *,body.a11y-no-animations *::before,body.a11y-no-animations *::after{animation:none !important;transition:none !important}

/* === СИНТЕЗ РЕЧИ === */
.a11y-tts-group{display:flex;align-items:center;gap:6px}
.a11y-tts-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 10px;border:2px solid #666;border-radius:8px;background:#fff;color:#333;cursor:pointer;font-family:Arial,sans-serif;font-size:14px;font-weight:700;transition:all .15s}
.a11y-tts-btn:hover{border-color:#1565C0;background:#e3f2fd;color:#0d47a1}
.a11y-tts-btn:focus{outline:3px solid #FFD600;outline-offset:2px}
.a11y-tts-btn.active{border-color:#4CAF50;background:#4CAF50;color:#fff}
.a11y-tts-btn.speaking{border-color:#FF9800;background:#FF9800;color:#fff;animation:a11y-pulse 1s infinite}
.a11y-tts-btn:disabled{opacity:0.4;cursor:not-allowed}
.a11y-tts-btn svg{width:18px;height:18px}
@keyframes a11y-pulse{0%,100%{opacity:1}50%{opacity:0.7}}
.a11y-tts-speed{font-size:12px;min-width:36px;text-align:center;color:#666;font-weight:600}
.a11y-tts-active-text{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.85);color:#fff;padding:12px 24px;border-radius:8px;font-size:16px;max-width:80%;text-align:center;z-index:10001;display:none;box-shadow:0 4px 20px rgba(0,0,0,0.3)}
.a11y-tts-active-text.visible{display:block}
body.a11y-tts-mode [data-speakable]:hover{outline:2px dashed #4CAF50;outline-offset:2px;cursor:pointer}
body.a11y-tts-mode p:hover,body.a11y-tts-mode h1:hover,body.a11y-tts-mode h2:hover,body.a11y-tts-mode h3:hover,body.a11y-tts-mode li:hover,body.a11y-tts-mode td:hover,body.a11y-tts-mode span:hover,body.a11y-tts-mode a:hover{outline:2px dashed #4CAF50;outline-offset:2px;cursor:pointer}
