.a11y-settings-panel {
  position: fixed;
  right: 86px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2147483001;
  width: min(390px, calc(100vw - 110px));
  color: #151515;
  background: #f7f7f7;
  border: 1px solid #bdbdbd;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  font-family: Arial, sans-serif;
}
.a11y-settings-panel[hidden] { display: none !important; }
.a11y-settings-header { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:#fff; border-bottom:1px solid #ddd; }
.a11y-settings-header h2 { margin:0; font-size:22px; font-weight:600; }
.a11y-settings-close { border:0; background:transparent; color:#f4511e; font-size:36px; line-height:24px; cursor:pointer; padding:0 2px; }
.a11y-settings-content { padding:20px 16px 16px; }
.a11y-settings-content h3 { margin:0 0 18px; font-size:20px; }
.a11y-setting-row { display:flex; align-items:center; justify-content:space-between; min-height:62px; margin:0 0 16px; padding:10px 12px; background:#fff; border:1px solid #c8c8c8; border-radius:14px; font-size:18px; font-weight:600; line-height:1.1; cursor:pointer; }
.a11y-setting-row input { position:absolute; opacity:0; pointer-events:none; }
.a11y-setting-row i { position:relative; width:44px; height:28px; flex:0 0 44px; border:2px solid #888; border-radius:18px; background:#fff; }
.a11y-setting-row i:after { content:''; position:absolute; width:19px; height:19px; left:3px; top:3px; border-radius:50%; background:#999; transition:.15s; }
.a11y-setting-row input:checked + i { background:#ff4b18; border-color:#ff4b18; }
.a11y-setting-row input:checked + i:after { left:20px; background:#fff; }
.a11y-font-card { padding:12px 10px 10px; background:#fff; border:1px solid #c8c8c8; border-radius:14px; }
.a11y-font-card strong { display:block; font-size:18px; margin-bottom:12px; }
.a11y-font-controls { display:flex; align-items:center; gap:8px; }
.a11y-font-controls button { width:34px; height:34px; border:2px solid #888; border-radius:50%; background:#fff; font-size:28px; line-height:22px; font-weight:bold; cursor:pointer; }
.a11y-font-controls input { flex:1; accent-color:#ff4b18; }
.a11y-font-labels { display:flex; justify-content:space-between; font-size:17px; font-weight:600; margin-top:8px; }
.a11y-font-labels output { display:none; }
html[data-a11y-high-contrast="1"] body { filter: contrast(1.25); }
html[data-a11y-monochrome="1"] body { filter: grayscale(1); }
html[data-a11y-font-scale="1"] body { font-size: calc(1em * var(--a11y-font-scale)); }
@media (max-width:576px) { .a11y-settings-panel { right:74px; width:calc(100vw - 90px); } .a11y-settings-header h2 { font-size:18px; } .a11y-settings-content h3 { font-size:18px; } .a11y-setting-row { font-size:16px; } }
