html { font-size: 100% !important }
@keyframes rsFadeIn { from { opacity: 0; transform: translateY(10px) } to { opacity: 1; transform: translateY(0) } }

#rs_accessibility-toggle { position: fixed; bottom: 12px; left: 70px; background: #ffffff !important; color: #0048aa !important; width: 2.5rem; height: 2.5rem; padding: 0; border-radius: 50%; border: 0; font-size: 2.5rem; cursor: pointer; z-index: 10000; display: flex; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) }
#rs_accessibility-toggle #rs_accessibility-indicator { position: absolute; bottom: -0.6rem; right: -0.6rem; color: #1565c0 !important; font-size: 1.4rem; z-index: 99999; display: none }
#rs_accessibility-toggle #rs_accessibility-indicator.active { display: block }

#rs_accessibility-panel { max-height: 80vh; overflow-y: auto; font-size: 14px !important; position: fixed; bottom: 8em; left: 1.5em; background: #ffffff !important; border-radius: 0.5em; padding: 1em; z-index: 10000; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important; display: none; max-width: 450px; animation: rsfadeIn 0.3s ease-out !important }
#rs_accessibility-panel * { font-size: 12px !important }
#rs_accessibility-panel.show { display: block; line-height: 1.5 !important }
#rs_accessibility-panel .rs_accessibility-title { text-transform: uppercase; padding-bottom: 10px; font-size: 1em; color: #1565c0 !important; text-align: center; font-weight: bold }
#rs_accessibility-panel section { margin-bottom: 1em }
#rs_accessibility-panel section h4 { margin: 0; font-size: 0.9em; color: #0048aa !important }
#rs_accessibility-panel .rs_accessibility-grid { background-color: #eeeeee !important; padding: 1em; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5em }
#rs_accessibility-panel .rs_accessibility-grid button { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 0.8em; outline: none !important; color: #000000 !important; background: #f8f8f8 !important; border: 1px solid #cccccc !important; padding: 0.5em; border-radius: 0.3em; cursor: pointer }
#rs_accessibility-panel .rs_accessibility-grid button.disabled { color: #c0c0c0 !important; pointer-events: none }
#rs_accessibility-panel .rs_accessibility-grid button i { font-size: 1.2em; margin-bottom: 0.25em }
#rs_accessibility-panel .rs_accessibility-grid button:not([class^="disabled"]):hover { background-color: #1565c0 !important; color: #ffffff !important; border-color: #0048aa !important }
#rs_accessibility-panel .rs_accessibility-grid button:not([class^="disabled"]).active { background-color: #0048aa !important; color: #ffffff !important; border-color: #1565c0 !important }
#rs_accessibility-panel .rs_accessibility-grid button.active { background-color: #004080; color: #fff; border-color: #003060 }
#rs_accessibility-panel .rs_reset { margin-top: 0.5em; width: 100%; padding: 0.5em 0; outline: none !important; background: #1565c0 !important; border: 0 !important; color: #ffffff !important; font-weight: bold }

#rs_reading-ruler { position: absolute; left: 0; width: 100%; height: 2.5em; background: rgba(255, 255, 0, 0.2); pointer-events: none; z-index: 9999; display: none }

body.profile-anti-convulsions { background-color: #f4f4f4 !important; color: #111 !important }
body.profile-anti-convulsions div { filter: saturate(30%) brightness(90%) contrast(85%) !important }
body.profile-anti-convulsions *, body.profile-anti-convulsions *::before, body.profile-anti-convulsions *::after { animation: none !important; transition: none !important; background-image: none !important; box-shadow: none !important; text-shadow: none !important }

body.feature-grayscale div { filter: grayscale(100%) !important }
body.feature-sepia div { filter: sepia(100%) !important }

body.feature-negative { background-color: #000 !important; color: #fff !important }
body.feature-negative a, body.feature-negative strong, body.feature-negative b, body.feature-negative h1, body.feature-negative h2, body.feature-negative h3, body.feature-negative h4, body.feature-negative h5, body.feature-negative h6 { color: #ff0 !important }
body.feature-negative * { background-color: transparent !important; color: inherit !important; border-color: #666 !important; box-shadow: none !important }
body.feature-negative img, body.feature-negative video, body.feature-negative iframe { filter: brightness(70%) contrast(80%) grayscale(100%) }
body.feature-negative svg { fill: #000 !important }

body.feature-hide-images img, body.feature-hide-images picture, body.feature-hide-images video, body.feature-hide-images svg, body.feature-hide-images iframe { display: none !important }

body.feature-reduce-transparency * { opacity: 1 !important; background-image: none !important }

body.feature-readable-font { font-family: Arial, sans-serif !important; letter-spacing: 0.05em !important; line-height: 1.6 !important }
body.feature-dyslexia-font { font-family: "OpenDyslexic", Arial, sans-serif }

body.feature-reading-ruler #rs_reading-ruler { display: block }

body.feature-blue-light { filter: brightness(95%) sepia(10%) hue-rotate(180deg) saturate(70%) }

body.feature-high-contrast { background-color: #000000 !important; color: #ffffff !important }
body.feature-high-contrast * { background-color: transparent !important; color: inherit !important; border-color: #666 !important; box-shadow: none !important }
body.feature-high-contrast a { color: #0ff !important; font-weight: bold !important }

body.feature-big-cursor { cursor: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24"><path fill="%23000" d="M19.27 15.32 7.77 1.61A1 1 0 0 0 6 2.25v17.89a1 1 0 0 0 1.64.77l3.08-2.58 1.56 4.3a1 1 0 0 0 1.28.6l1.88-.68a1 1 0 0 0 .6-1.28l-1.56-4.3h4.02a1 1 0 0 0 .77-1.64Z"></path></svg>') 16 16, auto }
 
body.feature-line-spacing { line-height: 2 !important }

body.feature-stop-animations *, body.feature-stop-animations *::before, body.feature-stop-animations *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important }

body.feature-highlight-links a,
body.feature-highlight-links button { outline: 2px solid #ff0 !important; background-color: #222222 !important; color: #ffffff !important }

body.feature-focus-mode nav, body.feature-focus-mode aside, body.feature-focus-mode footer, body.feature-focus-mode header, body.feature-focus-mode .ads, body.feature-focus-mode .sidebar { display: none !important }
  
body.feature-text-only { background-color: #ffffff !important; color: #000000 !important; font-family: sans-serif !important }
body.feature-text-only * { background: none !important; color: inherit !important; box-shadow: none !important; text-shadow: none !important; border: none !important; outline: none !important }
body.feature-text-only img, body.feature-text-only picture, body.feature-text-only video, body.feature-text-only iframe, body.feature-text-only svg, body.feature-text-only canvas, body.feature-text-only object, body.feature-text-only embed, body.feature-text-only figure, body.feature-text-only .icon, body.feature-text-only [class*="icon"], body.feature-text-only [role="img"] { display: none !important; visibility: hidden !important; height: 0 !important; width: 0 !important }
body.feature-text-only nav, body.feature-text-only aside, body.feature-text-only footer, body.feature-text-only header, body.feature-text-only .sidebar, body.feature-text-only [aria-hidden="true"] { display: none !important }
body.feature-text-only a { text-decoration: underline !important; color: #0000ee !important }


/* Responsive adjustments */
@media (max-width: 768px) {
  #rs_accessibility-panel { width: 90vw; right: 5vw; top: 3rem }
  #rs_accessibility-panel .rs_accessibility-grid { grid-template-columns: repeat(3, 1fr) }
  #rs_accessibility-panel .rs_accessibility-grid button { flex: 1 1 100% }
}

@media (max-width: 480px) {
  
}
