/* BookBro — Widget de acessibilidade (autocontido, sem dependências) */
#a11y-fab{position:fixed;right:0;top:42%;z-index:99990;background:#1f6fd6;color:#fff;border:0;border-radius:12px 0 0 12px;
  padding:12px 9px;cursor:pointer;box-shadow:-2px 2px 12px rgba(0,0,0,.28);display:flex;flex-direction:column;align-items:center;gap:4px;font-family:system-ui,sans-serif}
#a11y-fab:hover{background:#1a5fbb}
#a11y-fab .i{font-size:24px;line-height:1}
#a11y-fab .t{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:700;letter-spacing:.5px}
#a11y-fab:focus-visible{outline:3px solid #ffd400;outline-offset:2px}

#a11y-panel{position:fixed;right:0;top:0;bottom:0;width:340px;max-width:90vw;z-index:99991;background:#fff;color:#1c1c1c;
  box-shadow:-6px 0 30px rgba(0,0,0,.3);transform:translateX(110%);transition:transform .25s ease;overflow-y:auto;
  font-family:system-ui,Segoe UI,sans-serif;font-size:15px}
#a11y-panel.on{transform:translateX(0)}
#a11y-panel header{display:flex;align-items:center;justify-content:space-between;background:#1f6fd6;color:#fff;padding:16px 18px;position:sticky;top:0}
#a11y-panel header h2{margin:0;font-size:18px}
#a11y-panel header button{background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer;line-height:1}
#a11y-panel .grp{padding:12px 16px;border-bottom:1px solid #eee}
#a11y-panel .grp h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#666}
#a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#a11y-panel .opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;
  background:#f3f5f9;border:2px solid transparent;border-radius:10px;padding:12px 8px;cursor:pointer;font-weight:600;font-size:13px;color:#1c1c1c;min-height:74px}
#a11y-panel .opt:hover{background:#e7ecf5}
#a11y-panel .opt .ico{font-size:22px}
#a11y-panel .opt.active{border-color:#1f6fd6;background:#e1ecfb;color:#13509e}
#a11y-panel .opt:focus-visible{outline:3px solid #ffd400;outline-offset:1px}
#a11y-panel .stepper{display:flex;align-items:center;gap:8px;background:#f3f5f9;border-radius:10px;padding:8px 10px}
#a11y-panel .stepper button{flex:none;width:38px;height:38px;border:0;border-radius:8px;background:#1f6fd6;color:#fff;font-size:20px;cursor:pointer;font-weight:700}
#a11y-panel .stepper .lab{flex:1;font-size:13px;font-weight:600}
#a11y-panel .reset{display:block;width:100%;margin:14px 0 6px;background:#c0392b;color:#fff;border:0;border-radius:10px;padding:12px;font-size:14px;font-weight:700;cursor:pointer}
#a11y-panel .foot{padding:6px 16px 20px;font-size:11px;color:#888;text-align:center}

/* Régua de leitura */
#a11y-ruler{position:fixed;left:0;right:0;height:46px;background:rgba(255,221,0,.18);border-top:2px solid rgba(0,0,0,.35);border-bottom:2px solid rgba(0,0,0,.35);
  z-index:99980;pointer-events:none;display:none}

/* ===== Efeitos aplicados ao <html> ===== */
html.a11y-contrast{filter:contrast(1.45) saturate(1.15)}
html.a11y-negative{filter:invert(1) hue-rotate(180deg)}
html.a11y-negative img,html.a11y-negative video,html.a11y-negative .cover img,html.a11y-negative .cover-pg img{filter:invert(1) hue-rotate(180deg)}
html.a11y-gray{filter:grayscale(1)}
html.a11y-contrast.a11y-gray{filter:contrast(1.45) grayscale(1)}
html.a11y-links a{text-decoration:underline !important;outline:1px dashed currentColor;background:rgba(255,221,0,.35) !important;color:#0a3a8c !important}
html.a11y-dyslexia,html.a11y-dyslexia body,html.a11y-dyslexia *{font-family:Verdana,Tahoma,'Trebuchet MS',sans-serif !important;letter-spacing:.5px}
html.a11y-spacing p,html.a11y-spacing li,html.a11y-spacing .page,html.a11y-spacing td{line-height:2.1 !important;letter-spacing:.06em !important;word-spacing:.16em !important}
html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-bigcursor,html.a11y-bigcursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 2l30 20-13 2 8 16-6 3-8-16-9 9z' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 4 2,auto !important}
html.a11y-reading p:hover,html.a11y-reading li:hover{background:rgba(255,221,0,.32)}
