html.a11y {
    font-size: 120%;
}

html.a11y * {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.03em;
    line-height: 1.7;
    transition: none !important;
    animation: none !important;
}

html.a11y *:focus {
    outline: 3px solid currentColor !important;
    outline-offset: 3px !important;
}

/* Режим: чёрный на белом */
html.a11y[data-a11y="bw"] {
    --color-bg-primary:   #ffffff;
    --color-bg-secondary: #f5f5f5;
    --color-bg-card:      #eeeeee;
    --color-text-primary: #000000;
    --color-text-body:    #000000;
    --color-text-muted:   #333333;
    --color-text-subtle:  #333333;
    --color-accent:       #0000cc;
    --color-accent-hover: #0000aa;
    --color-thead-bg:     #333333;
    --color-border:       #000000;
    --shadow-card:        0 0 0 1px #000000;
    --shadow-card-lg:     0 0 0 2px #000000;
    /* алиасы для совместимости со style.css */
    --bg-100:      #ffffff;
    --bg-200:      #f5f5f5;
    --dept-bg:     #eeeeee;
    --color-white: #f5f5f5;
    --color-grey:  #333333;
    --thead-color: #333333;
    --buttons-hover: #0000aa;
}

/* Режим: белый на чёрном */
html.a11y[data-a11y="bw-inv"] {
    --color-bg-primary:   #000000;
    --color-bg-secondary: #1a1a1a;
    --color-bg-card:      #222222;
    --color-text-primary: #ffffff;
    --color-text-body:    #ffffff;
    --color-text-muted:   #cccccc;
    --color-text-subtle:  #cccccc;
    --color-accent:       #66aaff;
    --color-accent-hover: #88bbff;
    --color-thead-bg:     #444444;
    --color-border:       #666666;
    --shadow-card:        0 0 0 1px #666666;
    --shadow-card-lg:     0 0 0 2px #666666;
    --bg-100:      #000000;
    --bg-200:      #1a1a1a;
    --dept-bg:     #222222;
    --color-white: #1a1a1a;
    --color-grey:  #cccccc;
    --thead-color: #444444;
    --buttons-hover: #88bbff;
}

/* Режим: бежевый */
html.a11y[data-a11y="sepia"] {
    --color-bg-primary:   #f8f0e3;
    --color-bg-secondary: #ede0cc;
    --color-bg-card:      #e5d5bb;
    --color-text-primary: #2b1d0e;
    --color-text-body:    #2b1d0e;
    --color-text-muted:   #5a3e2b;
    --color-text-subtle:  #5a3e2b;
    --color-accent:       #7b3f00;
    --color-accent-hover: #5c2f00;
    --color-thead-bg:     #7b3f00;
    --color-border:       #a07850;
    --shadow-card:        0 0 0 1px #a07850;
    --shadow-card-lg:     0 0 0 2px #a07850;
    --bg-100:      #f8f0e3;
    --bg-200:      #ede0cc;
    --dept-bg:     #e5d5bb;
    --color-white: #ede0cc;
    --color-grey:  #5a3e2b;
    --thead-color: #7b3f00;
    --buttons-hover: #5c2f00;
}

/* Размер шрифта */
html.a11y[data-font="normal"] { font-size: 120%; }
html.a11y[data-font="large"]  { font-size: 140%; }
html.a11y[data-font="xlarge"] { font-size: 160%; }

/* Межбуквенный интервал */
html.a11y[data-spacing="wide"] * { letter-spacing: 0.1em; }

/* Изображения */
html.a11y[data-images="off"] img {
    opacity: 0;
    pointer-events: none;
}

/* Панель управления */
.a11y-panel {
    display: none;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    background-color: var(--color-bg-secondary);
    border-bottom: 2px solid var(--color-border);
    font-size: 0.875rem;
    flex-wrap: wrap;
}

html.a11y .a11y-panel { display: flex; }

.a11y-panel__label {
    font-weight: 600;
    color: var(--color-text-muted);
}

.a11y-panel__group {
    display: flex;
    align-items: center;
    gap: 4px;
}

.a11y-panel__btn {
    padding: 4px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm, 0.375rem);
    background: var(--color-bg-primary);
    color: var(--color-text-primary);
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.4;
}

.a11y-panel__btn:hover,
.a11y-panel__btn--active {
    background: var(--color-accent);
    color: #ffffff;
    border-color: var(--color-accent);
}