<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.bellingham-heritage.org.uk:443/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Steve</id>
	<title>Bellingham Heritage Centre - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bellingham-heritage.org.uk:443/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Steve"/>
	<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php/Special:Contributions/Steve"/>
	<updated>2026-07-03T18:24:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1633</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1633"/>
		<updated>2026-01-29T13:00:47Z</updated>

		<summary type="html">&lt;p&gt;Steve: Comments about Lighouse score added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
On Lighthouse the site&#039;s currently accessibility score on both desktop and mobile is 94 on randomnly tested pages long and short. This is the &#039;Green Tier&#039; (top tier) (90-100): meaning the website is highly accessible. Whilst this reflects only aitomated testing we have also undertaken a lot of manual testing to support this.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme. Links are t he same colour as the text but underlined for visibility.&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast modes, links are underlined and use the same colour as surrounding text. This approach avoids reliance on colour perception alone and follows established high-contrast accessibility patterns used by operating systems and assistive technologies. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
    The &#039;&#039;&#039;accessibility gadget&#039;&#039;&#039; is designed to work across skins, but the high-contrast mode requires skin-specific overrides for the site chrome. Since Timeless will be the default skin, we will prioritise full support for Timeless and ensure Vector remains functional as a fallback.&lt;br /&gt;
&lt;br /&gt;
If you report any issues to us will will endeavour to fix them. Thank you.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
&lt;br /&gt;
Settings are saved locally. Some browsers, e.g. Firefox, may cache interface styles aggressively; a refresh may be required after updates.&lt;br /&gt;
&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1632</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1632"/>
		<updated>2026-01-29T12:54:06Z</updated>

		<summary type="html">&lt;p&gt;Steve: Addes tocuh spacing for the table of contents and some focus help.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Accessibility Gadget CSS — quick navigation&lt;br /&gt;
   (No rules reordered; section tags added for readability)&lt;br /&gt;
   Search for: [A11Y-SECTION: ...]&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
/*  01. BHC Accessibility Gadget – MediaWiki / Timeless  →  [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/*  02. Variables  →  [A11Y-SECTION:variables] */&lt;br /&gt;
/*  03. Skip links (appear when focused)  →  [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/*  04. Floating accessibility toggle  →  [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/*  05. Panel  →  [A11Y-SECTION:panel] */&lt;br /&gt;
/*  06. Feature classes  →  [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/*  07. High contrast (black/yellow/blue)  →  [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/*  08. High contrast presets  →  [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/*  09. HIGH CONTRAST: Links must be visually distinct  →  [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/*  10. Underline links  →  [A11Y-SECTION:underline-links] */&lt;br /&gt;
/*  11. Text spacing  →  [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/*  12. Large cursors (wiki-hosted)  →  [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/*  13. Reading ruler  →  [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/*  14. MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)  →  [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/*  15. HIGH CONTRAST: Footer (Vector + Timeless)  →  [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/*  16. Underline links: ensure TOC wins  →  [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/*  17. HIGH CONTRAST: Header + search + user tools  →  [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/*  18. HIGH CONTRAST: Personal tools (reduce border clutter)  →  [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:variables] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:panel] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ===== Tap target improvements (WCAG 2.2 2.5.8 Target Size) ===== */&lt;br /&gt;
&lt;br /&gt;
/* Make sidebar/portlet links easier to tap without changing font size */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li,&lt;br /&gt;
body.skin-vector .mw-portlet-body li{&lt;br /&gt;
  margin: 1.5px 0; /* keeps list tidy but adds breathing space */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  padding: 4px 6px;         /* increases hit area */&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  border-radius: 6px;       /* optional: helps focus visibility */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If portlets use &amp;lt;span&amp;gt; inside links, ensure span doesn&#039;t shrink hitbox */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a &amp;gt; span,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a &amp;gt; span{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   TOC: improve touch target spacing &amp;amp; readability&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #toc li,&lt;br /&gt;
body.skin-vector #toc li,&lt;br /&gt;
body.skin-timeless .toc li,&lt;br /&gt;
body.skin-vector .toc li{&lt;br /&gt;
  margin: 1.5px 0;   /* mirror sidebar list spacing */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #toc li &amp;gt; a,&lt;br /&gt;
body.skin-vector #toc li &amp;gt; a,&lt;br /&gt;
body.skin-timeless .toc li &amp;gt; a,&lt;br /&gt;
body.skin-vector .toc li &amp;gt; a{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  padding: 4px 6px;  /* matches sidebar hit area */&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  border-radius: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #toc a:focus-visible,&lt;br /&gt;
body.skin-vector #toc a:focus-visible{&lt;br /&gt;
  outline: 2px solid currentColor;&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (authoritative)&lt;br /&gt;
   In contrast modes, ALL links should match the contrast text colour.&lt;br /&gt;
   This must win against Timeless/Vector skin link rules (logged in/out).&lt;br /&gt;
   Keep at VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:visited,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:active{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hover/focus: slightly stronger underline (no colour change) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Any wrapped spans inside links must inherit the link colour (Timeless uses &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;…) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra belt-and-braces for Timeless logged-in personal tools + portlets */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless .mw-portlet-body a{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1631</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1631"/>
		<updated>2026-01-29T12:51:05Z</updated>

		<summary type="html">&lt;p&gt;Steve: Addedd bettr links spacing for touch screen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Accessibility Gadget CSS — quick navigation&lt;br /&gt;
   (No rules reordered; section tags added for readability)&lt;br /&gt;
   Search for: [A11Y-SECTION: ...]&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
/*  01. BHC Accessibility Gadget – MediaWiki / Timeless  →  [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/*  02. Variables  →  [A11Y-SECTION:variables] */&lt;br /&gt;
/*  03. Skip links (appear when focused)  →  [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/*  04. Floating accessibility toggle  →  [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/*  05. Panel  →  [A11Y-SECTION:panel] */&lt;br /&gt;
/*  06. Feature classes  →  [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/*  07. High contrast (black/yellow/blue)  →  [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/*  08. High contrast presets  →  [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/*  09. HIGH CONTRAST: Links must be visually distinct  →  [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/*  10. Underline links  →  [A11Y-SECTION:underline-links] */&lt;br /&gt;
/*  11. Text spacing  →  [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/*  12. Large cursors (wiki-hosted)  →  [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/*  13. Reading ruler  →  [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/*  14. MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)  →  [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/*  15. HIGH CONTRAST: Footer (Vector + Timeless)  →  [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/*  16. Underline links: ensure TOC wins  →  [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/*  17. HIGH CONTRAST: Header + search + user tools  →  [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/*  18. HIGH CONTRAST: Personal tools (reduce border clutter)  →  [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:variables] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:panel] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ===== Tap target improvements (WCAG 2.2 2.5.8 Target Size) ===== */&lt;br /&gt;
&lt;br /&gt;
/* Make sidebar/portlet links easier to tap without changing font size */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li,&lt;br /&gt;
body.skin-vector .mw-portlet-body li{&lt;br /&gt;
  margin: 1.5px 0; /* keeps list tidy but adds breathing space */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  padding: 4px 6px;         /* increases hit area */&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  border-radius: 6px;       /* optional: helps focus visibility */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If portlets use &amp;lt;span&amp;gt; inside links, ensure span doesn&#039;t shrink hitbox */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a &amp;gt; span,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a &amp;gt; span{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (authoritative)&lt;br /&gt;
   In contrast modes, ALL links should match the contrast text colour.&lt;br /&gt;
   This must win against Timeless/Vector skin link rules (logged in/out).&lt;br /&gt;
   Keep at VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:visited,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:active{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hover/focus: slightly stronger underline (no colour change) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Any wrapped spans inside links must inherit the link colour (Timeless uses &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;…) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra belt-and-braces for Timeless logged-in personal tools + portlets */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless .mw-portlet-body a{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1630</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1630"/>
		<updated>2026-01-29T12:46:02Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Accessibility Gadget CSS — quick navigation&lt;br /&gt;
   (No rules reordered; section tags added for readability)&lt;br /&gt;
   Search for: [A11Y-SECTION: ...]&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
/*  01. BHC Accessibility Gadget – MediaWiki / Timeless  →  [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/*  02. Variables  →  [A11Y-SECTION:variables] */&lt;br /&gt;
/*  03. Skip links (appear when focused)  →  [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/*  04. Floating accessibility toggle  →  [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/*  05. Panel  →  [A11Y-SECTION:panel] */&lt;br /&gt;
/*  06. Feature classes  →  [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/*  07. High contrast (black/yellow/blue)  →  [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/*  08. High contrast presets  →  [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/*  09. HIGH CONTRAST: Links must be visually distinct  →  [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/*  10. Underline links  →  [A11Y-SECTION:underline-links] */&lt;br /&gt;
/*  11. Text spacing  →  [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/*  12. Large cursors (wiki-hosted)  →  [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/*  13. Reading ruler  →  [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/*  14. MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)  →  [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/*  15. HIGH CONTRAST: Footer (Vector + Timeless)  →  [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/*  16. Underline links: ensure TOC wins  →  [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/*  17. HIGH CONTRAST: Header + search + user tools  →  [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/*  18. HIGH CONTRAST: Personal tools (reduce border clutter)  →  [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:variables] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:panel] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ===== Tap target improvements (WCAG 2.2 2.5.8 Target Size) ===== */&lt;br /&gt;
&lt;br /&gt;
/* Make sidebar/portlet links easier to tap without changing font size */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li,&lt;br /&gt;
body.skin-vector .mw-portlet-body li{&lt;br /&gt;
  margin: 2px 0; /* keeps list tidy but adds breathing space */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  padding: 6px 8px;         /* increases hit area */&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  border-radius: 6px;       /* optional: helps focus visibility */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If portlets use &amp;lt;span&amp;gt; inside links, ensure span doesn&#039;t shrink hitbox */&lt;br /&gt;
body.skin-timeless .mw-portlet-body li &amp;gt; a &amp;gt; span,&lt;br /&gt;
body.skin-vector .mw-portlet-body li &amp;gt; a &amp;gt; span{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (authoritative)&lt;br /&gt;
   In contrast modes, ALL links should match the contrast text colour.&lt;br /&gt;
   This must win against Timeless/Vector skin link rules (logged in/out).&lt;br /&gt;
   Keep at VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:visited,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:active{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hover/focus: slightly stronger underline (no colour change) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Any wrapped spans inside links must inherit the link colour (Timeless uses &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;…) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra belt-and-braces for Timeless logged-in personal tools + portlets */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless .mw-portlet-body a{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1629</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1629"/>
		<updated>2026-01-29T12:02:52Z</updated>

		<summary type="html">&lt;p&gt;Steve: Re-organised structure with no rule loss. For the benefit of clarity and later edits.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Accessibility Gadget CSS — quick navigation&lt;br /&gt;
   (No rules reordered; section tags added for readability)&lt;br /&gt;
   Search for: [A11Y-SECTION: ...]&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
/*  01. BHC Accessibility Gadget – MediaWiki / Timeless  →  [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/*  02. Variables  →  [A11Y-SECTION:variables] */&lt;br /&gt;
/*  03. Skip links (appear when focused)  →  [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/*  04. Floating accessibility toggle  →  [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/*  05. Panel  →  [A11Y-SECTION:panel] */&lt;br /&gt;
/*  06. Feature classes  →  [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/*  07. High contrast (black/yellow/blue)  →  [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/*  08. High contrast presets  →  [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/*  09. HIGH CONTRAST: Links must be visually distinct  →  [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/*  10. Underline links  →  [A11Y-SECTION:underline-links] */&lt;br /&gt;
/*  11. Text spacing  →  [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/*  12. Large cursors (wiki-hosted)  →  [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/*  13. Reading ruler  →  [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/*  14. MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)  →  [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/*  15. HIGH CONTRAST: Footer (Vector + Timeless)  →  [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/*  16. Underline links: ensure TOC wins  →  [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/*  17. HIGH CONTRAST: Header + search + user tools  →  [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/*  18. HIGH CONTRAST: Personal tools (reduce border clutter)  →  [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:bhc-accessibility-gadget-mediawiki-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:variables] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:skip-links-appear-when-focused] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:floating-accessibility-toggle] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:panel] */&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:feature-classes] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-black-yellow-blue] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-presets] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-links-must-be-visually-distinct] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:text-spacing] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:large-cursors-wiki-hosted] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:reading-ruler] */&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:mediawiki-extra-high-contrast-coverage-timeless-vector] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-footer-vector-timeless] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:underline-links-ensure-toc-wins] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-header-search-user-tools] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* [A11Y-SECTION:high-contrast-personal-tools-reduce-border-clutter] */&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (authoritative)&lt;br /&gt;
   In contrast modes, ALL links should match the contrast text colour.&lt;br /&gt;
   This must win against Timeless/Vector skin link rules (logged in/out).&lt;br /&gt;
   Keep at VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:visited,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:active{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hover/focus: slightly stronger underline (no colour change) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Any wrapped spans inside links must inherit the link colour (Timeless uses &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;…) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra belt-and-braces for Timeless logged-in personal tools + portlets */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless .mw-portlet-body a{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1628</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1628"/>
		<updated>2026-01-29T11:54:25Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme. Links are t he same colour as the text but underlined for visibility.&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast modes, links are underlined and use the same colour as surrounding text. This approach avoids reliance on colour perception alone and follows established high-contrast accessibility patterns used by operating systems and assistive technologies. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
    The &#039;&#039;&#039;accessibility gadget&#039;&#039;&#039; is designed to work across skins, but the high-contrast mode requires skin-specific overrides for the site chrome. Since Timeless will be the default skin, we will prioritise full support for Timeless and ensure Vector remains functional as a fallback.&lt;br /&gt;
&lt;br /&gt;
If you report any issues to us will will endeavour to fix them. Thank you.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
&lt;br /&gt;
Settings are saved locally. Some browsers, e.g. Firefox, may cache interface styles aggressively; a refresh may be required after updates.&lt;br /&gt;
&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1627</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1627"/>
		<updated>2026-01-29T11:52:01Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme. Links are t he same colour as the text but underlined for visibility.&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast modes, links are underlined and use the same colour as surrounding text. This approach avoids reliance on colour perception alone and follows established high-contrast accessibility patterns used by operating systems and assistive technologies. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
&lt;br /&gt;
Settings are saved locally. Some browsers, e.g. Firefox, may cache interface styles aggressively; a refresh may be required after updates.&lt;br /&gt;
&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
&lt;br /&gt;
The accessibility gadget is designed to work across skins, but the high-contrast mode requires skin-specific overrides for the site chrome. Since Timeless will be the default skin, we will prioritise full support for Timeless and ensure Vector remains functional as a fallback.&lt;br /&gt;
&lt;br /&gt;
If you report any issues to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1626</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1626"/>
		<updated>2026-01-29T11:38:06Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme. Links are t he same colour as the text but underlined for visibility.&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast modes, links are underlined and use the same colour as surrounding text. This approach avoids reliance on colour perception alone and follows established high-contrast accessibility patterns used by operating systems and assistive technologies. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
&lt;br /&gt;
Settings are saved locally. Some browsers, e.g. Firefox, may cache interface styles aggressively; a refresh may be required after updates.&lt;br /&gt;
&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1625</id>
		<title>MediaWiki:Timeless.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1625"/>
		<updated>2026-01-29T11:22:50Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Bellingham Heritage Centre – Timeless skin branding (CSS-only)&lt;br /&gt;
   Applies ONLY when the Timeless skin is in use.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;amp;family=Roboto+Condensed:wght@400;700&amp;amp;family=Satisfy&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless{&lt;br /&gt;
  /* Palette */&lt;br /&gt;
  --bhc-teal: rgb(130,156,149);&lt;br /&gt;
  --bhc-olive: rgb(165,174,121);&lt;br /&gt;
  --bhc-sand: rgb(228,186,149);&lt;br /&gt;
&lt;br /&gt;
  /* Site colours */&lt;br /&gt;
  --bhc-maroon: rgb(93, 8, 58);      /* main burgundy */&lt;br /&gt;
  --bhc-gold: rgb(228, 186, 123);    /* site gold/yellow */&lt;br /&gt;
&lt;br /&gt;
  --bhc-link: #005DB3;&lt;br /&gt;
  --bhc-text: #202020;&lt;br /&gt;
&lt;br /&gt;
  /* Header is WHITE */&lt;br /&gt;
  --bhc-header-bg: #ffffff;&lt;br /&gt;
  --bhc-header-text: #202020;&lt;br /&gt;
&lt;br /&gt;
  /* Bars */&lt;br /&gt;
  --bhc-topbar-olive: rgb(165, 174, 121);&lt;br /&gt;
  --bhc-topbar-teal: rgb(130, 156, 149);&lt;br /&gt;
  --bhc-bottombar-sand: rgb(228, 186, 123);&lt;br /&gt;
  --bhc-bottombar-maroon: rgb(95, 8, 58);&lt;br /&gt;
&lt;br /&gt;
  /* Fonts */&lt;br /&gt;
  --bhc-body-font: &amp;quot;Roboto&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;&lt;br /&gt;
  --bhc-heading-font: &amp;quot;Roboto Condensed&amp;quot;, &amp;quot;Roboto&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;&lt;br /&gt;
  --bhc-accent-font: &amp;quot;Satisfy&amp;quot;, cursive;&lt;br /&gt;
&lt;br /&gt;
  /* Readability */&lt;br /&gt;
  font-size: 112.5%;&lt;br /&gt;
  line-height: 1.65;&lt;br /&gt;
&lt;br /&gt;
  overflow-x: hidden;&lt;br /&gt;
  background: #eaecf0; /* page background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless{ font-size: 16.5px; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Global typography (content)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless,&lt;br /&gt;
body.skin-timeless .mw-body,&lt;br /&gt;
body.skin-timeless .mw-parser-output{&lt;br /&gt;
  font-family: var(--bhc-body-font);&lt;br /&gt;
  color: var(--bhc-text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless a,&lt;br /&gt;
body.skin-timeless a:visited{&lt;br /&gt;
  color: var(--bhc-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless a:hover{&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h1,&lt;br /&gt;
body.skin-timeless .mw-parser-output h2,&lt;br /&gt;
body.skin-timeless .mw-parser-output h3{&lt;br /&gt;
  font-family: var(--bhc-heading-font);&lt;br /&gt;
  letter-spacing: .02em;&lt;br /&gt;
  color: var(--bhc-maroon);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h1{&lt;br /&gt;
  font-size: 2.05rem;&lt;br /&gt;
  line-height: 1.15;&lt;br /&gt;
  margin: 0.25rem 0 0.75rem;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h2{&lt;br /&gt;
  font-size: 1.55rem;&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 1.6rem 0 0.6rem;&lt;br /&gt;
  border-bottom: 3px solid var(--bhc-sand);&lt;br /&gt;
  padding-bottom: .25rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h3{&lt;br /&gt;
  font-size: 1.25rem;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 1.2rem 0 0.45rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h4{&lt;br /&gt;
  font-size: 1.1rem;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output p{ margin: 0.75rem 0; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output ul,&lt;br /&gt;
body.skin-timeless .mw-parser-output ol{ margin: 0.6rem 0 0.9rem 1.25rem; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output li{ margin: 0.2rem 0; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #toc,&lt;br /&gt;
body.skin-timeless .toc,&lt;br /&gt;
body.skin-timeless .mw-normal-catlinks,&lt;br /&gt;
body.skin-timeless .catlinks,&lt;br /&gt;
body.skin-timeless .mw-editsection,&lt;br /&gt;
body.skin-timeless .mw-editsection a,&lt;br /&gt;
body.skin-timeless .mw-changeslist,&lt;br /&gt;
body.skin-timeless .mw-footer{&lt;br /&gt;
  font-size: 0.95rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Optional accent class you can use in wiki content */&lt;br /&gt;
body.skin-timeless .bhc-script{ font-family: var(--bhc-accent-font); }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HEADER: white background + top/bottom bars (20px each)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Hide Timeless fixed decorative bars that can “float” during scroll */&lt;br /&gt;
body.skin-timeless #mw-header-hack,&lt;br /&gt;
body.skin-timeless #mw-header-nav-hack,&lt;br /&gt;
body.skin-timeless .color-bar{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Header container – ensure no clipping */&lt;br /&gt;
body.skin-timeless #mw-header-container{&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
  background: var(--bhc-header-bg) !important; /* white */&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  overflow: visible !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Top bar (olive then teal) */&lt;br /&gt;
body.skin-timeless #mw-header-container::before{&lt;br /&gt;
  content: &amp;quot;&amp;quot;;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  height: 20px;&lt;br /&gt;
  z-index: 5;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--bhc-topbar-olive) 0 25%,&lt;br /&gt;
    var(--bhc-topbar-teal) 25% 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Bottom bar (gold then maroon) */&lt;br /&gt;
body.skin-timeless #mw-header-container::after{&lt;br /&gt;
  content: &amp;quot;&amp;quot;;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  bottom: 0;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  height: 20px;&lt;br /&gt;
  z-index: 5;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--bhc-bottombar-sand) 0 33%,&lt;br /&gt;
    var(--bhc-bottombar-maroon) 33% 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make header text dark by default */&lt;br /&gt;
body.skin-timeless #mw-header,&lt;br /&gt;
body.skin-timeless #mw-header a{&lt;br /&gt;
  color: var(--bhc-header-text) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HEADER LAYOUT: stack title/strapline, then search, then user-tools&lt;br /&gt;
   (prevents large-screen collisions)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-header{&lt;br /&gt;
  position: relative;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  align-items: flex-start;&lt;br /&gt;
  gap: 1.25rem;&lt;br /&gt;
&lt;br /&gt;
  /* leave room for the bars */&lt;br /&gt;
  padding-top: calc(14px + 20px);&lt;br /&gt;
  padding-bottom: calc(12px + 20px);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 1: Title block is always full width */&lt;br /&gt;
body.skin-timeless #mw-header #p-logo-text{&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  order: 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 2: Search sits on its own row, right aligned, constrained */&lt;br /&gt;
body.skin-timeless #mw-header #p-search{&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  max-width: none;&lt;br /&gt;
  margin-left: 0;&lt;br /&gt;
  order: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Constrain the inner search box and right-align it */&lt;br /&gt;
body.skin-timeless #mw-header #p-search form#searchform,&lt;br /&gt;
body.skin-timeless #mw-header #p-search #simpleSearch{&lt;br /&gt;
  max-width: 520px;&lt;br /&gt;
  margin-left: auto; /* right align */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 3: User tools on its own row, right aligned */&lt;br /&gt;
body.skin-timeless #mw-header #user-tools{&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  max-width: none;&lt;br /&gt;
  margin-left: 0;&lt;br /&gt;
  order: 3;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-header #user-tools #personal{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Optional: open dropdown from right edge */&lt;br /&gt;
body.skin-timeless #mw-header #user-tools #personal-inner.dropdown{&lt;br /&gt;
  right: 0 !important;&lt;br /&gt;
  left: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Small widths: keep things simple */&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless #mw-header #p-search form#searchform,&lt;br /&gt;
  body.skin-timeless #mw-header #p-search #simpleSearch{&lt;br /&gt;
    max-width: none;&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   SITE TITLE + LOGO (left)&lt;br /&gt;
   Timeless uses: #p-logo-text a#p-banner&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* KEY FIX:&lt;br /&gt;
   Put the logo + reserved height on #p-logo-text, not on #p-banner,&lt;br /&gt;
   so strapline can sit close under the title without “dead air”. */&lt;br /&gt;
body.skin-timeless #p-logo-text{&lt;br /&gt;
  position: relative;&lt;br /&gt;
&lt;br /&gt;
  background-image: url(/resources/assets/BHClogo.jpg);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  background-position: left top;&lt;br /&gt;
  background-size: 96px 96px;&lt;br /&gt;
&lt;br /&gt;
  min-height: 96px;      /* reserves logo height */&lt;br /&gt;
  padding-left: 118px;   /* reserves logo width + gap */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title link should not carry logo spacing */&lt;br /&gt;
body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
  display: block;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  font-family: var(--bhc-heading-font) !important;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
  font-size: 40px;&lt;br /&gt;
  letter-spacing: .01em;&lt;br /&gt;
  color: var(--bhc-maroon) !important;&lt;br /&gt;
&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  min-height: 0 !important;&lt;br /&gt;
  padding-left: 0 !important;&lt;br /&gt;
&lt;br /&gt;
  line-height: 1.05;&lt;br /&gt;
  white-space: normal;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline injected (LocalSettings-driven). Expect element id=&amp;quot;bhc-strapline&amp;quot; or class=&amp;quot;bhc-strapline&amp;quot;.&lt;br /&gt;
   We style BOTH for safety. */&lt;br /&gt;
body.skin-timeless #bhc-strapline,&lt;br /&gt;
body.skin-timeless .bhc-strapline{&lt;br /&gt;
  margin-top: 0.15rem;&lt;br /&gt;
  font-family: var(--bhc-accent-font);&lt;br /&gt;
  color: var(--bhc-teal);&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.12;&lt;br /&gt;
  font-weight: 400;&lt;br /&gt;
  white-space: normal;&lt;br /&gt;
  max-width: 52rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 1024px){&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    font-size: 16px;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove any old pseudo-element strapline rules (belt &amp;amp; braces) */&lt;br /&gt;
body.skin-timeless #p-logo-text #p-banner::after{&lt;br /&gt;
  content: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Small widths: reduce left indent + logo size (logo is on #p-logo-text now) */&lt;br /&gt;
@media (max-width: 768px){&lt;br /&gt;
  body.skin-timeless #p-logo-text{&lt;br /&gt;
    background-size: 72px 72px !important;&lt;br /&gt;
    padding-left: 92px !important; /* 72 + ~20 gap */&lt;br /&gt;
    min-height: 72px !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    line-height: 1.05 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide Timeless sidebar logo to avoid double branding */&lt;br /&gt;
body.skin-timeless #mw-site-navigation #p-logo{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   SEARCH: icon OUTSIDE input (right side)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search #simpleSearch{&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Input */&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.skin-timeless #p-search #searchInput{&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
&lt;br /&gt;
  padding: .45rem .8rem;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
&lt;br /&gt;
  background: #fff !important;&lt;br /&gt;
  color: #202020 !important;&lt;br /&gt;
  caret-color: #202020 !important;&lt;br /&gt;
&lt;br /&gt;
  border: 1px solid rgba(0,0,0,.18) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
&lt;br /&gt;
  -webkit-appearance: none;&lt;br /&gt;
  appearance: none;&lt;br /&gt;
&lt;br /&gt;
  /* room for icon */&lt;br /&gt;
  padding-right: 3.1rem !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::placeholder,&lt;br /&gt;
body.skin-timeless #p-search #searchInput::placeholder{&lt;br /&gt;
  color: rgba(0,0,0,.55) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide WebKit search decorations */&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-decoration,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-cancel-button,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-results-button,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-results-decoration{&lt;br /&gt;
  -webkit-appearance: none;&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE icon button (Search), hide Go */&lt;br /&gt;
body.skin-timeless #p-search input#mw-searchButton,&lt;br /&gt;
body.skin-timeless #p-search input#searchButton{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top: 50%;&lt;br /&gt;
  right: 6px;&lt;br /&gt;
  transform: translateY(-50%);&lt;br /&gt;
&lt;br /&gt;
  width: 38px;&lt;br /&gt;
  height: 38px;&lt;br /&gt;
&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
  border: 1px solid rgba(0,0,0,.18);&lt;br /&gt;
  background: #fff;&lt;br /&gt;
&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
&lt;br /&gt;
  text-indent: -9999px;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
&lt;br /&gt;
  background-image: url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; width=&#039;20&#039; height=&#039;20&#039; viewBox=&#039;0 0 24 24&#039;%3E%3Cpath fill=&#039;%23666&#039; d=&#039;M10 18a8 8 0 1 1 5.293-14.293A8 8 0 0 1 10 18m0-2a6 6 0 1 0-6-6a6 6 0 0 0 6 6m9.707 6.293l-5.1-5.1l1.414-1.414l5.1 5.1z&#039;/%3E%3C/svg%3E&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  background-position: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search input#searchButton{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Label styling */&lt;br /&gt;
body.skin-timeless #p-search label{&lt;br /&gt;
  color: rgba(32,32,32,.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Personal dropdown: ensure text is dark (header is white)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #personal,&lt;br /&gt;
body.skin-timeless #personal a,&lt;br /&gt;
body.skin-timeless #personal h2,&lt;br /&gt;
body.skin-timeless #personal h3,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet *{&lt;br /&gt;
  color: #202020 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #personal .dropdown,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet-body{&lt;br /&gt;
  background: #fff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   CONTENT WRAPPER FIXES&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #eaecf0 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-bottom: 0 !important;&lt;br /&gt;
  padding-top: 1rem !important; /* breathing space under header bar */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce Timeless default top gap below header */&lt;br /&gt;
@media screen and (min-width: 851px) {&lt;br /&gt;
  body.skin-timeless #mw-content-container{&lt;br /&gt;
    margin-top: 0.5rem !important;&lt;br /&gt;
    padding-bottom: 1em !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FOOTER: match site (burgundy, white text, gold links) + top border&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-footer-container{&lt;br /&gt;
  background: var(--bhc-maroon) !important;&lt;br /&gt;
  border-top: 10px solid var(--bhc-gold) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Full-bleed footer: remove Timeless .ts-inner side padding ONLY in footer */&lt;br /&gt;
body.skin-timeless #mw-footer-container .ts-inner{&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  padding-left: 0 !important;&lt;br /&gt;
  padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-footer{&lt;br /&gt;
  font-family: var(--bhc-body-font);&lt;br /&gt;
  color: #fff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer links */&lt;br /&gt;
body.skin-timeless #mw-footer a,&lt;br /&gt;
body.skin-timeless #mw-footer a:visited{&lt;br /&gt;
  color: var(--bhc-gold) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer padding */&lt;br /&gt;
body.skin-timeless #footer-list {padding-left:20px; padding-bottom: 20px;}&lt;br /&gt;
body.skin-timeless #footer-icons {padding-right: 20px;}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Hide empty &amp;quot;Wiki Tools&amp;quot; (site-tools) portlet on smaller screens&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
@media (max-width: 1100px){&lt;br /&gt;
  body.skin-timeless #site-tools{&lt;br /&gt;
    display: none !important;&lt;br /&gt;
    height: 0 !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Remove Timeless default borders on MediaWiki heading wrappers and TOC title&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.skin-timeless .toctitle,&lt;br /&gt;
body.skin-timeless .mw-heading2,&lt;br /&gt;
body.skin-timeless .mw-heading3,&lt;br /&gt;
body.skin-timeless .mw-heading4,&lt;br /&gt;
body.skin-timeless .mw-heading5 {&lt;br /&gt;
  border-bottom: none !important;&lt;br /&gt;
  padding-bottom: 0 !important;&lt;br /&gt;
  margin-bottom: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Header: use available width on large screens (reduce height)&lt;br /&gt;
   - Keep wrap on smaller screens&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Make sure the logo/title portlet is not shrink-wrapped by skin rules */&lt;br /&gt;
body.skin-timeless #p-logo-text{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  float: none !important;&lt;br /&gt;
  width: 100% !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wide screens: keep title + strapline on single lines */&lt;br /&gt;
@media (min-width: 1100px){&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    font-size: 52px !important;      /* tweak 48–56 if you want */&lt;br /&gt;
    line-height: 1.02 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    max-width: none !important;&lt;br /&gt;
    margin-top: 0.05rem !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Medium screens: allow title to wrap but keep it tighter */&lt;br /&gt;
@media (max-width: 1099px){&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    line-height: 1.05 !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    margin-top: 0.12rem !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1624</id>
		<title>MediaWiki:Timeless.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1624"/>
		<updated>2026-01-29T11:08:44Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Bellingham Heritage Centre – Timeless skin branding (CSS-only)&lt;br /&gt;
   Applies ONLY when the Timeless skin is in use.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;amp;family=Roboto+Condensed:wght@400;700&amp;amp;family=Satisfy&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless{&lt;br /&gt;
  /* Palette */&lt;br /&gt;
  --bhc-teal: rgb(130,156,149);&lt;br /&gt;
  --bhc-olive: rgb(165,174,121);&lt;br /&gt;
  --bhc-sand: rgb(228,186,149);&lt;br /&gt;
&lt;br /&gt;
  /* Site colours */&lt;br /&gt;
  --bhc-maroon: rgb(93, 8, 58);      /* main burgundy */&lt;br /&gt;
  --bhc-gold: rgb(228, 186, 123);    /* site gold/yellow */&lt;br /&gt;
&lt;br /&gt;
  --bhc-link: #005DB3;&lt;br /&gt;
  --bhc-text: #202020;&lt;br /&gt;
&lt;br /&gt;
  /* Header is WHITE */&lt;br /&gt;
  --bhc-header-bg: #ffffff;&lt;br /&gt;
  --bhc-header-text: #202020;&lt;br /&gt;
&lt;br /&gt;
  /* Bars */&lt;br /&gt;
  --bhc-topbar-olive: rgb(165, 174, 121);&lt;br /&gt;
  --bhc-topbar-teal: rgb(130, 156, 149);&lt;br /&gt;
  --bhc-bottombar-sand: rgb(228, 186, 123);&lt;br /&gt;
  --bhc-bottombar-maroon: rgb(95, 8, 58);&lt;br /&gt;
&lt;br /&gt;
  /* Fonts */&lt;br /&gt;
  --bhc-body-font: &amp;quot;Roboto&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;&lt;br /&gt;
  --bhc-heading-font: &amp;quot;Roboto Condensed&amp;quot;, &amp;quot;Roboto&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;&lt;br /&gt;
  --bhc-accent-font: &amp;quot;Satisfy&amp;quot;, cursive;&lt;br /&gt;
&lt;br /&gt;
  /* Readability */&lt;br /&gt;
  font-size: 112.5%;&lt;br /&gt;
  line-height: 1.65;&lt;br /&gt;
&lt;br /&gt;
  overflow-x: hidden;&lt;br /&gt;
  background: #eaecf0; /* page background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless{ font-size: 16.5px; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Global typography (content)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless,&lt;br /&gt;
body.skin-timeless .mw-body,&lt;br /&gt;
body.skin-timeless .mw-parser-output{&lt;br /&gt;
  font-family: var(--bhc-body-font);&lt;br /&gt;
  color: var(--bhc-text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless a{ color: var(--bhc-link); }&lt;br /&gt;
body.skin-timeless a:hover{ text-decoration: underline; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h1,&lt;br /&gt;
body.skin-timeless .mw-parser-output h2,&lt;br /&gt;
body.skin-timeless .mw-parser-output h3{&lt;br /&gt;
  font-family: var(--bhc-heading-font);&lt;br /&gt;
  letter-spacing: .02em;&lt;br /&gt;
  color: var(--bhc-maroon);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h1{&lt;br /&gt;
  font-size: 2.05rem;&lt;br /&gt;
  line-height: 1.15;&lt;br /&gt;
  margin: 0.25rem 0 0.75rem;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h2{&lt;br /&gt;
  font-size: 1.55rem;&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 1.6rem 0 0.6rem;&lt;br /&gt;
  border-bottom: 3px solid var(--bhc-sand);&lt;br /&gt;
  padding-bottom: .25rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h3{&lt;br /&gt;
  font-size: 1.25rem;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 1.2rem 0 0.45rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output h4{&lt;br /&gt;
  font-size: 1.1rem;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output p{ margin: 0.75rem 0; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output ul,&lt;br /&gt;
body.skin-timeless .mw-parser-output ol{ margin: 0.6rem 0 0.9rem 1.25rem; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .mw-parser-output li{ margin: 0.2rem 0; }&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #toc,&lt;br /&gt;
body.skin-timeless .toc,&lt;br /&gt;
body.skin-timeless .mw-normal-catlinks,&lt;br /&gt;
body.skin-timeless .catlinks,&lt;br /&gt;
body.skin-timeless .mw-editsection,&lt;br /&gt;
body.skin-timeless .mw-editsection a,&lt;br /&gt;
body.skin-timeless .mw-changeslist,&lt;br /&gt;
body.skin-timeless .mw-footer{&lt;br /&gt;
  font-size: 0.95rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Optional accent class you can use in wiki content */&lt;br /&gt;
body.skin-timeless .bhc-script{ font-family: var(--bhc-accent-font); }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HEADER: white background + top/bottom bars (20px each)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Hide Timeless fixed decorative bars that can “float” during scroll */&lt;br /&gt;
body.skin-timeless #mw-header-hack,&lt;br /&gt;
body.skin-timeless #mw-header-nav-hack,&lt;br /&gt;
body.skin-timeless .color-bar{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Header container – ensure no clipping */&lt;br /&gt;
body.skin-timeless #mw-header-container{&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
  background: var(--bhc-header-bg) !important; /* white */&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  overflow: visible !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Top bar (olive then teal) */&lt;br /&gt;
body.skin-timeless #mw-header-container::before{&lt;br /&gt;
  content: &amp;quot;&amp;quot;;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  height: 20px;&lt;br /&gt;
  z-index: 5;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--bhc-topbar-olive) 0 25%,&lt;br /&gt;
    var(--bhc-topbar-teal) 25% 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Bottom bar (gold then maroon) */&lt;br /&gt;
body.skin-timeless #mw-header-container::after{&lt;br /&gt;
  content: &amp;quot;&amp;quot;;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  bottom: 0;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  height: 20px;&lt;br /&gt;
  z-index: 5;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--bhc-bottombar-sand) 0 33%,&lt;br /&gt;
    var(--bhc-bottombar-maroon) 33% 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make header text dark by default */&lt;br /&gt;
body.skin-timeless #mw-header,&lt;br /&gt;
body.skin-timeless #mw-header a{&lt;br /&gt;
  color: var(--bhc-header-text) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HEADER LAYOUT: stack title/strapline, then search, then user-tools&lt;br /&gt;
   (prevents large-screen collisions)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-header{&lt;br /&gt;
  position: relative;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  align-items: flex-start;&lt;br /&gt;
  gap: 1.25rem;&lt;br /&gt;
&lt;br /&gt;
  /* leave room for the bars */&lt;br /&gt;
  padding-top: calc(14px + 20px);&lt;br /&gt;
  padding-bottom: calc(12px + 20px);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 1: Title block is always full width */&lt;br /&gt;
body.skin-timeless #mw-header #p-logo-text{&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  order: 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 2: Search sits on its own row, right aligned, constrained */&lt;br /&gt;
body.skin-timeless #mw-header #p-search{&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  max-width: none;&lt;br /&gt;
  margin-left: 0;&lt;br /&gt;
  order: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Constrain the inner search box and right-align it */&lt;br /&gt;
body.skin-timeless #mw-header #p-search form#searchform,&lt;br /&gt;
body.skin-timeless #mw-header #p-search #simpleSearch{&lt;br /&gt;
  max-width: 520px;&lt;br /&gt;
  margin-left: auto; /* right align */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Row 3: User tools on its own row, right aligned */&lt;br /&gt;
body.skin-timeless #mw-header #user-tools{&lt;br /&gt;
  flex: 1 1 100%;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  max-width: none;&lt;br /&gt;
  margin-left: 0;&lt;br /&gt;
  order: 3;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-header #user-tools #personal{&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Optional: open dropdown from right edge */&lt;br /&gt;
body.skin-timeless #mw-header #user-tools #personal-inner.dropdown{&lt;br /&gt;
  right: 0 !important;&lt;br /&gt;
  left: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Small widths: keep things simple */&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless #mw-header #p-search form#searchform,&lt;br /&gt;
  body.skin-timeless #mw-header #p-search #simpleSearch{&lt;br /&gt;
    max-width: none;&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   SITE TITLE + LOGO (left)&lt;br /&gt;
   Timeless uses: #p-logo-text a#p-banner&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* KEY FIX:&lt;br /&gt;
   Put the logo + reserved height on #p-logo-text, not on #p-banner,&lt;br /&gt;
   so strapline can sit close under the title without “dead air”. */&lt;br /&gt;
body.skin-timeless #p-logo-text{&lt;br /&gt;
  position: relative;&lt;br /&gt;
&lt;br /&gt;
  background-image: url(/resources/assets/BHClogo.jpg);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  background-position: left top;&lt;br /&gt;
  background-size: 96px 96px;&lt;br /&gt;
&lt;br /&gt;
  min-height: 96px;      /* reserves logo height */&lt;br /&gt;
  padding-left: 118px;   /* reserves logo width + gap */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title link should not carry logo spacing */&lt;br /&gt;
body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
  display: block;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  font-family: var(--bhc-heading-font) !important;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
  font-size: 40px;&lt;br /&gt;
  letter-spacing: .01em;&lt;br /&gt;
  color: var(--bhc-maroon) !important;&lt;br /&gt;
&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  min-height: 0 !important;&lt;br /&gt;
  padding-left: 0 !important;&lt;br /&gt;
&lt;br /&gt;
  line-height: 1.05;&lt;br /&gt;
  white-space: normal;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline injected (LocalSettings-driven). Expect element id=&amp;quot;bhc-strapline&amp;quot; or class=&amp;quot;bhc-strapline&amp;quot;.&lt;br /&gt;
   We style BOTH for safety. */&lt;br /&gt;
body.skin-timeless #bhc-strapline,&lt;br /&gt;
body.skin-timeless .bhc-strapline{&lt;br /&gt;
  margin-top: 0.15rem;&lt;br /&gt;
  font-family: var(--bhc-accent-font);&lt;br /&gt;
  color: var(--bhc-teal);&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.12;&lt;br /&gt;
  font-weight: 400;&lt;br /&gt;
  white-space: normal;&lt;br /&gt;
  max-width: 52rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 1024px){&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px){&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    font-size: 16px;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove any old pseudo-element strapline rules (belt &amp;amp; braces) */&lt;br /&gt;
body.skin-timeless #p-logo-text #p-banner::after{&lt;br /&gt;
  content: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Small widths: reduce left indent + logo size (logo is on #p-logo-text now) */&lt;br /&gt;
@media (max-width: 768px){&lt;br /&gt;
  body.skin-timeless #p-logo-text{&lt;br /&gt;
    background-size: 72px 72px !important;&lt;br /&gt;
    padding-left: 92px !important; /* 72 + ~20 gap */&lt;br /&gt;
    min-height: 72px !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    line-height: 1.05 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide Timeless sidebar logo to avoid double branding */&lt;br /&gt;
body.skin-timeless #mw-site-navigation #p-logo{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   SEARCH: icon OUTSIDE input (right side)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search #simpleSearch{&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Input */&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.skin-timeless #p-search #searchInput{&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
&lt;br /&gt;
  padding: .45rem .8rem;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
&lt;br /&gt;
  background: #fff !important;&lt;br /&gt;
  color: #202020 !important;&lt;br /&gt;
  caret-color: #202020 !important;&lt;br /&gt;
&lt;br /&gt;
  border: 1px solid rgba(0,0,0,.18) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
&lt;br /&gt;
  -webkit-appearance: none;&lt;br /&gt;
  appearance: none;&lt;br /&gt;
&lt;br /&gt;
  /* room for icon */&lt;br /&gt;
  padding-right: 3.1rem !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::placeholder,&lt;br /&gt;
body.skin-timeless #p-search #searchInput::placeholder{&lt;br /&gt;
  color: rgba(0,0,0,.55) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide WebKit search decorations */&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-decoration,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-cancel-button,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-results-button,&lt;br /&gt;
body.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;]::-webkit-search-results-decoration{&lt;br /&gt;
  -webkit-appearance: none;&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE icon button (Search), hide Go */&lt;br /&gt;
body.skin-timeless #p-search input#mw-searchButton,&lt;br /&gt;
body.skin-timeless #p-search input#searchButton{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top: 50%;&lt;br /&gt;
  right: 6px;&lt;br /&gt;
  transform: translateY(-50%);&lt;br /&gt;
&lt;br /&gt;
  width: 38px;&lt;br /&gt;
  height: 38px;&lt;br /&gt;
&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
  border: 1px solid rgba(0,0,0,.18);&lt;br /&gt;
  background: #fff;&lt;br /&gt;
&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
&lt;br /&gt;
  text-indent: -9999px;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
&lt;br /&gt;
  background-image: url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; width=&#039;20&#039; height=&#039;20&#039; viewBox=&#039;0 0 24 24&#039;%3E%3Cpath fill=&#039;%23666&#039; d=&#039;M10 18a8 8 0 1 1 5.293-14.293A8 8 0 0 1 10 18m0-2a6 6 0 1 0-6-6a6 6 0 0 0 6 6m9.707 6.293l-5.1-5.1l1.414-1.414l5.1 5.1z&#039;/%3E%3C/svg%3E&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  background-position: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #p-search input#searchButton{&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Label styling */&lt;br /&gt;
body.skin-timeless #p-search label{&lt;br /&gt;
  color: rgba(32,32,32,.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Personal dropdown: ensure text is dark (header is white)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #personal,&lt;br /&gt;
body.skin-timeless #personal a,&lt;br /&gt;
body.skin-timeless #personal h2,&lt;br /&gt;
body.skin-timeless #personal h3,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet *{&lt;br /&gt;
  color: #202020 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #personal .dropdown,&lt;br /&gt;
body.skin-timeless #personal .mw-portlet-body{&lt;br /&gt;
  background: #fff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   CONTENT WRAPPER FIXES&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #eaecf0 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-bottom: 0 !important;&lt;br /&gt;
  padding-top: 1rem !important; /* breathing space under header bar */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce Timeless default top gap below header */&lt;br /&gt;
@media screen and (min-width: 851px) {&lt;br /&gt;
  body.skin-timeless #mw-content-container{&lt;br /&gt;
    margin-top: 0.5rem !important;&lt;br /&gt;
    padding-bottom: 1em !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FOOTER: match site (burgundy, white text, gold links) + top border&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-footer-container{&lt;br /&gt;
  background: var(--bhc-maroon) !important;&lt;br /&gt;
  border-top: 10px solid var(--bhc-gold) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Full-bleed footer: remove Timeless .ts-inner side padding ONLY in footer */&lt;br /&gt;
body.skin-timeless #mw-footer-container .ts-inner{&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  padding-left: 0 !important;&lt;br /&gt;
  padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless #mw-footer{&lt;br /&gt;
  font-family: var(--bhc-body-font);&lt;br /&gt;
  color: #fff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer links */&lt;br /&gt;
body.skin-timeless #mw-footer a,&lt;br /&gt;
body.skin-timeless #mw-footer a:visited{&lt;br /&gt;
  color: var(--bhc-gold) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer padding */&lt;br /&gt;
body.skin-timeless #footer-list {padding-left:20px; padding-bottom: 20px;}&lt;br /&gt;
body.skin-timeless #footer-icons {padding-right: 20px;}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Hide empty &amp;quot;Wiki Tools&amp;quot; (site-tools) portlet on smaller screens&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
@media (max-width: 1100px){&lt;br /&gt;
  body.skin-timeless #site-tools{&lt;br /&gt;
    display: none !important;&lt;br /&gt;
    height: 0 !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Remove Timeless default borders on MediaWiki heading wrappers and TOC title&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.skin-timeless .toctitle,&lt;br /&gt;
body.skin-timeless .mw-heading2,&lt;br /&gt;
body.skin-timeless .mw-heading3,&lt;br /&gt;
body.skin-timeless .mw-heading4,&lt;br /&gt;
body.skin-timeless .mw-heading5 {&lt;br /&gt;
  border-bottom: none !important;&lt;br /&gt;
  padding-bottom: 0 !important;&lt;br /&gt;
  margin-bottom: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Header: use available width on large screens (reduce height)&lt;br /&gt;
   - Keep wrap on smaller screens&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Make sure the logo/title portlet is not shrink-wrapped by skin rules */&lt;br /&gt;
body.skin-timeless #p-logo-text{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  float: none !important;&lt;br /&gt;
  width: 100% !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wide screens: keep title + strapline on single lines */&lt;br /&gt;
@media (min-width: 1100px){&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    font-size: 52px !important;      /* tweak 48–56 if you want */&lt;br /&gt;
    line-height: 1.02 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    max-width: none !important;&lt;br /&gt;
    margin-top: 0.05rem !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Medium screens: allow title to wrap but keep it tighter */&lt;br /&gt;
@media (max-width: 1099px){&lt;br /&gt;
  body.skin-timeless #p-logo-text #p-banner{&lt;br /&gt;
    line-height: 1.05 !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.skin-timeless #bhc-strapline,&lt;br /&gt;
  body.skin-timeless .bhc-strapline{&lt;br /&gt;
    margin-top: 0.12rem !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1623</id>
		<title>MediaWiki:Timeless.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1623"/>
		<updated>2026-01-29T10:55:14Z</updated>

		<summary type="html">&lt;p&gt;Steve: Replaced content with &amp;quot;/* =========================================================    Timeless (BHC) — site skin customisations ONLY    ---------------------------------------------------------    This file intentionally contains:    - Branding / layout / readability tweaks for Timeless    - NO accessibility gadget rules    - NO high-contrast / a11y feature classes (those live in the gadget CSS)     If you previously pasted the Accessibility Gadget CSS into a Timeless page,    move it t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =========================================================&lt;br /&gt;
   Timeless (BHC) — site skin customisations ONLY&lt;br /&gt;
   ---------------------------------------------------------&lt;br /&gt;
   This file intentionally contains:&lt;br /&gt;
   - Branding / layout / readability tweaks for Timeless&lt;br /&gt;
   - NO accessibility gadget rules&lt;br /&gt;
   - NO high-contrast / a11y feature classes (those live in the gadget CSS)&lt;br /&gt;
&lt;br /&gt;
   If you previously pasted the Accessibility Gadget CSS into a Timeless page,&lt;br /&gt;
   move it to the gadget stylesheet (e.g. MediaWiki:Gadget-accessibility.css)&lt;br /&gt;
   and keep this file as the clean Timeless baseline.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Optional: if you use BHC design tokens, keep them here */&lt;br /&gt;
:root{&lt;br /&gt;
  /* Example placeholders — keep / adjust only if you really use them elsewhere */&lt;br /&gt;
  /* --bhc-text: #111827; */&lt;br /&gt;
  /* --bhc-link: #005DB3; */&lt;br /&gt;
  /* --bhc-header-text: #111827; */&lt;br /&gt;
  /* --bhc-gold: #E4BA7B; */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* -----------------------------------------------------------------&lt;br /&gt;
   Timeless baseline tweaks (safe, non-a11y)&lt;br /&gt;
   ----------------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
/* Keep images responsive (if not already handled elsewhere) */&lt;br /&gt;
.res-img, .res-img img, img{&lt;br /&gt;
  max-width: 100%;&lt;br /&gt;
  height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* -----------------------------------------------------------------&lt;br /&gt;
   Add any Timeless-only cosmetic tweaks BELOW&lt;br /&gt;
   (typography, spacing, portlet headings, etc.)&lt;br /&gt;
   ----------------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
/* Example (optional):&lt;br /&gt;
body.skin-timeless .mw-portlet h3{&lt;br /&gt;
  letter-spacing: 0.01em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* End of Timeless baseline */&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1622</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1622"/>
		<updated>2026-01-29T10:02:00Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (authoritative)&lt;br /&gt;
   In contrast modes, ALL links should match the contrast text colour.&lt;br /&gt;
   This must win against Timeless/Vector skin link rules (logged in/out).&lt;br /&gt;
   Keep at VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:visited,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:active{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hover/focus: slightly stronger underline (no colour change) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Any wrapped spans inside links must inherit the link colour (Timeless uses &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;…) */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra belt-and-braces for Timeless logged-in personal tools + portlets */&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast, .a11y-contrast-yellow, .a11y-contrast-white).skin-timeless .mw-portlet-body a{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1621</id>
		<title>MediaWiki:Timeless.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Timeless.css&amp;diff=1621"/>
		<updated>2026-01-29T09:33:24Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid currentColor;&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-contrast-link) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: var(--a11y-contrast-link) !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-link) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1620</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1620"/>
		<updated>2026-01-29T09:17:14Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: var(--a11y-contrast-fg); /* same as text */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Link colour = text colour everywhere&lt;br /&gt;
   Rationale: avoids blue-on-yellow/white concerns; underline carries affordance.&lt;br /&gt;
   This block is intentionally near the end to beat skin rules.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure link text wrapped in spans inherits */&lt;br /&gt;
body.a11y-contrast a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Explicitly beat Timeless footer + portlet colours */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE: Links inherit text colour everywhere&lt;br /&gt;
   (beats Timeless sidebars, portlets, footer, toolbars)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--a11y-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Kill span-level overrides inside links */&lt;br /&gt;
body.a11y-contrast a *,&lt;br /&gt;
body.a11y-contrast a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (LOGGED IN + TIMELESS):&lt;br /&gt;
   Force links to inherit the current contrast text colour.&lt;br /&gt;
   Put this at the VERY END of the gadget CSS.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless a,&lt;br /&gt;
body.a11y-contrast.skin-timeless a:visited,&lt;br /&gt;
body.a11y-contrast.mw-userloggedin a,&lt;br /&gt;
body.a11y-contrast.mw-userloggedin a:visited{&lt;br /&gt;
  color: var(--a11y-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless often wraps link labels in &amp;lt;span&amp;gt; etc. */&lt;br /&gt;
body.a11y-contrast.skin-timeless a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless a:visited *,&lt;br /&gt;
body.a11y-contrast.mw-userloggedin a *,&lt;br /&gt;
body.a11y-contrast.mw-userloggedin a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1619</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1619"/>
		<updated>2026-01-29T09:05:02Z</updated>

		<summary type="html">&lt;p&gt;Steve: Final change to using variables.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: var(--a11y-contrast-fg); /* same as text */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Link colour = text colour everywhere&lt;br /&gt;
   Rationale: avoids blue-on-yellow/white concerns; underline carries affordance.&lt;br /&gt;
   This block is intentionally near the end to beat skin rules.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure link text wrapped in spans inherits */&lt;br /&gt;
body.a11y-contrast a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Explicitly beat Timeless footer + portlet colours */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE: Links inherit text colour everywhere&lt;br /&gt;
   (beats Timeless sidebars, portlets, footer, toolbars)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--a11y-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Kill span-level overrides inside links */&lt;br /&gt;
body.a11y-contrast a *,&lt;br /&gt;
body.a11y-contrast a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1618</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1618"/>
		<updated>2026-01-29T09:02:14Z</updated>

		<summary type="html">&lt;p&gt;Steve: Full css for both contrast colour schemes plus the css is variable driven.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: var(--a11y-contrast-fg); /* same as text */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Link colour = text colour everywhere&lt;br /&gt;
   Rationale: avoids blue-on-yellow/white concerns; underline carries affordance.&lt;br /&gt;
   This block is intentionally near the end to beat skin rules.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure link text wrapped in spans inherits */&lt;br /&gt;
body.a11y-contrast a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Explicitly beat Timeless footer + portlet colours */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1617</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1617"/>
		<updated>2026-01-29T09:00:30Z</updated>

		<summary type="html">&lt;p&gt;Steve: Incorporates all recent changes to colour schems and tools plus a clear accessibility statement and reference to WAG guidance and testing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme. Links are t he same colour as the text but underlined for visibility.&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast modes, links are underlined and use the same colour as surrounding text. This approach avoids reliance on colour perception alone and follows established high-contrast accessibility patterns used by operating systems and assistive technologies. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1616</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1616"/>
		<updated>2026-01-29T08:41:34Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1615</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1615"/>
		<updated>2026-01-29T08:40:24Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display in two choices of colour scheme&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor in two choices of colour&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
We are working with the base MediaWiki site build, which in itself may have some accessibility challenges. We have not worked to remedy these if they exist or are aware of them. Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast mode, links are distinguished using both colour and underlining, ensuring that links are visually identifiable without relying on colour alone. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability or black background with white text depending on the user&#039;s choice. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* High Contrast Yellow, High Contrast White and Contrast Reset&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* (Large) Cursor Yellow or Cursor White selected or Cursor reset&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast provides options for standard and high-contrast modes. Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.js&amp;diff=1614</id>
		<title>MediaWiki:Gadget-bhc-accessibility.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.js&amp;diff=1614"/>
		<updated>2026-01-29T08:33:23Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
(() =&amp;gt; {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Storage policy:&lt;br /&gt;
  // - localStorage first&lt;br /&gt;
  // - cookie fallback only if localStorage unavailable&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  const LS_KEY = &amp;quot;bhc_a11y_state_v2&amp;quot;; // bumped because state model changed&lt;br /&gt;
  const COOKIE_PREFIX = &amp;quot;a11y_&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  function canUseLocalStorage() {&lt;br /&gt;
    try {&lt;br /&gt;
      const k = &amp;quot;__a11y_test__&amp;quot;;&lt;br /&gt;
      window.localStorage.setItem(k, &amp;quot;1&amp;quot;);&lt;br /&gt;
      window.localStorage.removeItem(k);&lt;br /&gt;
      return true;&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  const HAS_LS = canUseLocalStorage();&lt;br /&gt;
&lt;br /&gt;
  // Cookie helpers (fallback)&lt;br /&gt;
  function setCookie(name, value, days = 365) {&lt;br /&gt;
    const exp = new Date();&lt;br /&gt;
    exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);&lt;br /&gt;
    document.cookie =&lt;br /&gt;
      `${encodeURIComponent(COOKIE_PREFIX + name)}=${encodeURIComponent(String(value))}; ` +&lt;br /&gt;
      `expires=${exp.toUTCString()}; path=/; SameSite=Lax`;&lt;br /&gt;
  }&lt;br /&gt;
  function getCookie(name, fallback = &amp;quot;&amp;quot;) {&lt;br /&gt;
    const key = encodeURIComponent(COOKIE_PREFIX + name) + &amp;quot;=&amp;quot;;&lt;br /&gt;
    const parts = document.cookie.split(&amp;quot;;&amp;quot;).map(s =&amp;gt; s.trim());&lt;br /&gt;
    for (const p of parts) {&lt;br /&gt;
      if (p.startsWith(key)) return decodeURIComponent(p.substring(key.length));&lt;br /&gt;
    }&lt;br /&gt;
    return fallback;&lt;br /&gt;
  }&lt;br /&gt;
  function delCookie(name) {&lt;br /&gt;
    document.cookie =&lt;br /&gt;
      `${encodeURIComponent(COOKIE_PREFIX + name)}=; ` +&lt;br /&gt;
      `expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; SameSite=Lax`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Unified read/write&lt;br /&gt;
  function saveStateToStorage(stateObj) {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try {&lt;br /&gt;
        window.localStorage.setItem(LS_KEY, JSON.stringify(stateObj));&lt;br /&gt;
        return;&lt;br /&gt;
      } catch (e) {&lt;br /&gt;
        // fall through to cookies&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // cookie fallback (per-key)&lt;br /&gt;
    setCookie(&amp;quot;contrastMode&amp;quot;, stateObj.contrastMode); // off|yellow|white&lt;br /&gt;
    setCookie(&amp;quot;underline&amp;quot;, stateObj.underline ? &amp;quot;1&amp;quot; : &amp;quot;0&amp;quot;);&lt;br /&gt;
    setCookie(&amp;quot;spacing&amp;quot;, stateObj.spacing);&lt;br /&gt;
    setCookie(&amp;quot;cursor&amp;quot;, stateObj.cursor);            // off|white|yellow&lt;br /&gt;
    setCookie(&amp;quot;ruler&amp;quot;, stateObj.ruler ? &amp;quot;1&amp;quot; : &amp;quot;0&amp;quot;);&lt;br /&gt;
    setCookie(&amp;quot;fontPct&amp;quot;, String(stateObj.fontPct));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function loadStateFromStorage() {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try {&lt;br /&gt;
        const raw = window.localStorage.getItem(LS_KEY);&lt;br /&gt;
        if (!raw) return null;&lt;br /&gt;
        const obj = JSON.parse(raw);&lt;br /&gt;
        return (obj &amp;amp;&amp;amp; typeof obj === &amp;quot;object&amp;quot;) ? obj : null;&lt;br /&gt;
      } catch (e) {&lt;br /&gt;
        // fall through to cookies&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // cookie fallback (legacy / no-LS)&lt;br /&gt;
    return {&lt;br /&gt;
      contrastMode: getCookie(&amp;quot;contrastMode&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      underline: getCookie(&amp;quot;underline&amp;quot;, &amp;quot;0&amp;quot;) === &amp;quot;1&amp;quot;,&lt;br /&gt;
      spacing: getCookie(&amp;quot;spacing&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      cursor: getCookie(&amp;quot;cursor&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      ruler: getCookie(&amp;quot;ruler&amp;quot;, &amp;quot;0&amp;quot;) === &amp;quot;1&amp;quot;,&lt;br /&gt;
      fontPct: parseInt(getCookie(&amp;quot;fontPct&amp;quot;, &amp;quot;100&amp;quot;), 10)&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function clearStoredState() {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try { window.localStorage.removeItem(LS_KEY); } catch (e) {}&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    [&amp;quot;contrastMode&amp;quot;,&amp;quot;underline&amp;quot;,&amp;quot;spacing&amp;quot;,&amp;quot;cursor&amp;quot;,&amp;quot;ruler&amp;quot;,&amp;quot;fontPct&amp;quot;].forEach(delCookie);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // State + announcements&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  const STATE = {&lt;br /&gt;
    contrastMode: &amp;quot;off&amp;quot;,      // off | yellow | white&lt;br /&gt;
    underline: false,&lt;br /&gt;
    spacing: &amp;quot;off&amp;quot;,           // off | plus | minus&lt;br /&gt;
    cursor: &amp;quot;off&amp;quot;,            // off | white | yellow&lt;br /&gt;
    ruler: false,&lt;br /&gt;
    fontPct: 100              // 90..175&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  const FONT_STEPS = [90, 102, 114, 126, 138, 150, 162, 175];&lt;br /&gt;
&lt;br /&gt;
  let liveEl = null;&lt;br /&gt;
  let statusEl = null;&lt;br /&gt;
  let rulerEl = null;&lt;br /&gt;
  let rulerY = 0;&lt;br /&gt;
&lt;br /&gt;
  function announce(msg) {&lt;br /&gt;
    if (!liveEl) return;&lt;br /&gt;
    liveEl.textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
    setTimeout(() =&amp;gt; { liveEl.textContent = msg; }, 10);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function clamp(n, min, max) { return Math.max(min, Math.min(max, n)); }&lt;br /&gt;
&lt;br /&gt;
  function nextFontPct(current, dir) {&lt;br /&gt;
    const cur = clamp(current, FONT_STEPS[0], FONT_STEPS[FONT_STEPS.length - 1]);&lt;br /&gt;
    let idx = 0;&lt;br /&gt;
    for (let i = 0; i &amp;lt; FONT_STEPS.length; i++) {&lt;br /&gt;
      if (FONT_STEPS[i] &amp;gt;= cur) { idx = i; break; }&lt;br /&gt;
    }&lt;br /&gt;
    if (dir &amp;gt; 0) return FONT_STEPS[Math.min(FONT_STEPS.length - 1, idx + 1)];&lt;br /&gt;
    if (FONT_STEPS[idx] === cur) return FONT_STEPS[Math.max(0, idx - 1)];&lt;br /&gt;
    return FONT_STEPS[Math.max(0, idx - 1)];&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Status line (display-only)&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function updateStatusLine() {&lt;br /&gt;
    if (!statusEl) return;&lt;br /&gt;
&lt;br /&gt;
    const contrast =&lt;br /&gt;
      STATE.contrastMode === &amp;quot;yellow&amp;quot; ? &amp;quot;Contrast: Yellow/Black&amp;quot; :&lt;br /&gt;
      STATE.contrastMode === &amp;quot;white&amp;quot; ? &amp;quot;Contrast: White/Black&amp;quot; :&lt;br /&gt;
      &amp;quot;Contrast: Off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const text = `Text ${STATE.fontPct}%`;&lt;br /&gt;
    const underline = STATE.underline ? &amp;quot;Links: Underlined&amp;quot; : &amp;quot;Links: Normal&amp;quot;;&lt;br /&gt;
    const spacing =&lt;br /&gt;
      STATE.spacing === &amp;quot;plus&amp;quot; ? &amp;quot;Spacing +&amp;quot; :&lt;br /&gt;
      STATE.spacing === &amp;quot;minus&amp;quot; ? &amp;quot;Spacing −&amp;quot; :&lt;br /&gt;
      &amp;quot;Spacing: Normal&amp;quot;;&lt;br /&gt;
    const cursor =&lt;br /&gt;
      STATE.cursor === &amp;quot;yellow&amp;quot; ? &amp;quot;Cursor: Yellow&amp;quot; :&lt;br /&gt;
      STATE.cursor === &amp;quot;white&amp;quot; ? &amp;quot;Cursor: White&amp;quot; :&lt;br /&gt;
      &amp;quot;Cursor: Off&amp;quot;;&lt;br /&gt;
    const ruler = STATE.ruler ? &amp;quot;Ruler: On&amp;quot; : &amp;quot;Ruler: Off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    statusEl.textContent = `Status: ${contrast} · ${text} · ${underline} · ${spacing} · ${cursor} · ${ruler}`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Apply state to DOM&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function applyState() {&lt;br /&gt;
    // Contrast scheme classes&lt;br /&gt;
    const contrastOn = STATE.contrastMode !== &amp;quot;off&amp;quot;;&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast&amp;quot;, contrastOn);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast-yellow&amp;quot;, STATE.contrastMode === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast-white&amp;quot;, STATE.contrastMode === &amp;quot;white&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Other features&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-underline-links&amp;quot;, !!STATE.underline);&lt;br /&gt;
&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-spacing-plus&amp;quot;, STATE.spacing === &amp;quot;plus&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-spacing-minus&amp;quot;, STATE.spacing === &amp;quot;minus&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-cursor-white&amp;quot;, STATE.cursor === &amp;quot;white&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-cursor-yellow&amp;quot;, STATE.cursor === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    document.documentElement.style.fontSize = `${STATE.fontPct}%`;&lt;br /&gt;
&lt;br /&gt;
    ensureRuler();&lt;br /&gt;
    if (STATE.ruler) {&lt;br /&gt;
      rulerEl.hidden = false;&lt;br /&gt;
      setRulerY(rulerY || Math.floor(window.innerHeight / 2));&lt;br /&gt;
      enableRulerListeners();&lt;br /&gt;
    } else {&lt;br /&gt;
      if (rulerEl) rulerEl.hidden = true;&lt;br /&gt;
      disableRulerListeners();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    updateUiButtons();&lt;br /&gt;
    updateStatusLine();&lt;br /&gt;
    saveStateToStorage(STATE);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Ruler support&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function ensureRuler() {&lt;br /&gt;
    if (rulerEl) return;&lt;br /&gt;
    rulerEl = document.getElementById(&amp;quot;a11y-ruler&amp;quot;);&lt;br /&gt;
    if (!rulerEl) {&lt;br /&gt;
      rulerEl = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
      rulerEl.id = &amp;quot;a11y-ruler&amp;quot;;&lt;br /&gt;
      rulerEl.hidden = true;&lt;br /&gt;
      document.body.appendChild(rulerEl);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function setRulerY(y) {&lt;br /&gt;
    rulerY = clamp(y, 0, Math.max(0, window.innerHeight - 1));&lt;br /&gt;
    if (rulerEl) rulerEl.style.transform = `translateY(${rulerY}px)`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function onMouseMove(e) {&lt;br /&gt;
    if (!STATE.ruler) return;&lt;br /&gt;
    setRulerY(e.clientY - 11);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function onKeyDown(e) {&lt;br /&gt;
    if (!STATE.ruler) return;&lt;br /&gt;
&lt;br /&gt;
    if (e.key === &amp;quot;ArrowDown&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      setRulerY(rulerY + 10);&lt;br /&gt;
      announce(&amp;quot;Reading ruler moved down&amp;quot;);&lt;br /&gt;
    } else if (e.key === &amp;quot;ArrowUp&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      setRulerY(rulerY - 10);&lt;br /&gt;
      announce(&amp;quot;Reading ruler moved up&amp;quot;);&lt;br /&gt;
    } else if (e.key === &amp;quot;Escape&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      STATE.ruler = false;&lt;br /&gt;
      applyState();&lt;br /&gt;
      announce(&amp;quot;Reading ruler off&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Named resize handler so we can remove it cleanly (prevents handler buildup)&lt;br /&gt;
  function onResize() {&lt;br /&gt;
    setRulerY(rulerY);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  let rulerListenersOn = false;&lt;br /&gt;
  function enableRulerListeners() {&lt;br /&gt;
    if (rulerListenersOn) return;&lt;br /&gt;
    rulerListenersOn = true;&lt;br /&gt;
    window.addEventListener(&amp;quot;mousemove&amp;quot;, onMouseMove, { passive: true });&lt;br /&gt;
    window.addEventListener(&amp;quot;keydown&amp;quot;, onKeyDown);&lt;br /&gt;
    window.addEventListener(&amp;quot;resize&amp;quot;, onResize, { passive: true });&lt;br /&gt;
  }&lt;br /&gt;
  function disableRulerListeners() {&lt;br /&gt;
    if (!rulerListenersOn) return;&lt;br /&gt;
    rulerListenersOn = false;&lt;br /&gt;
    window.removeEventListener(&amp;quot;mousemove&amp;quot;, onMouseMove);&lt;br /&gt;
    window.removeEventListener(&amp;quot;keydown&amp;quot;, onKeyDown);&lt;br /&gt;
    window.removeEventListener(&amp;quot;resize&amp;quot;, onResize);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function getFocusableInside(container) {&lt;br /&gt;
    if (!container) return [];&lt;br /&gt;
    const selectors = [&lt;br /&gt;
      &#039;a[href]&#039;,&lt;br /&gt;
      &#039;button:not([disabled])&#039;,&lt;br /&gt;
      &#039;input:not([disabled])&#039;,&lt;br /&gt;
      &#039;select:not([disabled])&#039;,&lt;br /&gt;
      &#039;textarea:not([disabled])&#039;,&lt;br /&gt;
      &#039;[tabindex]:not([tabindex=&amp;quot;-1&amp;quot;])&#039;&lt;br /&gt;
    ].join(&#039;,&#039;);&lt;br /&gt;
&lt;br /&gt;
    return Array.from(container.querySelectorAll(selectors)).filter(el =&amp;gt; {&lt;br /&gt;
      if (el.hidden) return false;&lt;br /&gt;
      const style = window.getComputedStyle(el);&lt;br /&gt;
      return style.display !== &amp;quot;none&amp;quot; &amp;amp;&amp;amp; style.visibility !== &amp;quot;hidden&amp;quot;;&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // UI creation&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function ensureUi() {&lt;br /&gt;
    if (document.getElementById(&amp;quot;a11y-toggle&amp;quot;)) return;&lt;br /&gt;
&lt;br /&gt;
    const helpHref = (window.mw &amp;amp;&amp;amp; mw.util &amp;amp;&amp;amp; mw.util.getUrl)&lt;br /&gt;
      ? mw.util.getUrl(&amp;quot;Accessibility&amp;quot;)&lt;br /&gt;
      : &amp;quot;/index.php/Accessibility&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const toggle = document.createElement(&amp;quot;button&amp;quot;);&lt;br /&gt;
    toggle.type = &amp;quot;button&amp;quot;;&lt;br /&gt;
    toggle.id = &amp;quot;a11y-toggle&amp;quot;;&lt;br /&gt;
    toggle.className = &amp;quot;a11y-toggle&amp;quot;;&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Accessibility options&amp;quot;);&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-haspopup&amp;quot;, &amp;quot;dialog&amp;quot;);&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;false&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    toggle.innerHTML = `&lt;br /&gt;
      &amp;lt;svg viewBox=&amp;quot;0 0 24 24&amp;quot; aria-hidden=&amp;quot;true&amp;quot; focusable=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;path d=&amp;quot;M12 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 12 2zm9 7h-6.5c-.7 0-1.3.4-1.6 1L12 12l-.9-2c-.3-.6-.9-1-1.6-1H3a1 1 0 0 0 0 2h5.3l1.3 2.9-1.7 6.2a1 1 0 0 0 1.9.6l1.2-4.3 1.2 4.3a1 1 0 0 0 1.9-.6l-1.7-6.2 1.3-2.9H21a1 1 0 0 0 0-2z&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/svg&amp;gt;&lt;br /&gt;
    `;&lt;br /&gt;
    document.body.appendChild(toggle);&lt;br /&gt;
&lt;br /&gt;
    const panel = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
    panel.id = &amp;quot;a11y-panel&amp;quot;;&lt;br /&gt;
    panel.className = &amp;quot;a11y-panel&amp;quot;;&lt;br /&gt;
    panel.setAttribute(&amp;quot;role&amp;quot;, &amp;quot;dialog&amp;quot;);&lt;br /&gt;
    panel.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Accessibility options&amp;quot;);&lt;br /&gt;
    panel.hidden = true;&lt;br /&gt;
&lt;br /&gt;
    // Layout per your request&lt;br /&gt;
    panel.innerHTML = `&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-head&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Accessibility&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;a class=&amp;quot;a11y-help&amp;quot; href=&amp;quot;${helpHref}&amp;quot; aria-label=&amp;quot;Accessibility help&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Text size&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-minus&amp;quot; aria-label=&amp;quot;Decrease text size&amp;quot;&amp;gt;A−&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-plus&amp;quot; aria-label=&amp;quot;Increase text size&amp;quot;&amp;gt;A+&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-reset&amp;quot; aria-label=&amp;quot;Reset text size&amp;quot;&amp;gt;Reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Text spacing&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-minus&amp;quot;&amp;gt;Spacing−&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-plus&amp;quot;&amp;gt;Spacing+&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-reset&amp;quot;&amp;gt;Spacing reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;High contrast&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-yellow&amp;quot;&amp;gt;High contrast (yellow)&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-white&amp;quot;&amp;gt;High contrast (white)&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-reset&amp;quot;&amp;gt;Contrast reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Large cursor&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-yellow&amp;quot;&amp;gt;Cursor yellow&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-white&amp;quot;&amp;gt;Cursor white&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-reset&amp;quot;&amp;gt;Cursor reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Links and reading aid&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;underline&amp;quot;&amp;gt;Underline links&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;ruler&amp;quot;&amp;gt;Reading ruler&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Reset all&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;reset&amp;quot;&amp;gt;Reset all&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div id=&amp;quot;a11y-status&amp;quot; class=&amp;quot;a11y-status&amp;quot; aria-live=&amp;quot;off&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-hint&amp;quot;&amp;gt;&lt;br /&gt;
        Settings are saved on this device. When Reading ruler is on, use &amp;lt;strong&amp;gt;↑/↓&amp;lt;/strong&amp;gt; to move it and &amp;lt;strong&amp;gt;Esc&amp;lt;/strong&amp;gt; to turn it off.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div id=&amp;quot;a11y-live&amp;quot; class=&amp;quot;a11y-sr&amp;quot; aria-live=&amp;quot;polite&amp;quot; aria-atomic=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    `;&lt;br /&gt;
    document.body.appendChild(panel);&lt;br /&gt;
&lt;br /&gt;
    liveEl = panel.querySelector(&amp;quot;#a11y-live&amp;quot;);&lt;br /&gt;
    statusEl = panel.querySelector(&amp;quot;#a11y-status&amp;quot;);&lt;br /&gt;
    updateStatusLine();&lt;br /&gt;
&lt;br /&gt;
    function openPanel() {&lt;br /&gt;
      panel.hidden = false;&lt;br /&gt;
      toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;true&amp;quot;);&lt;br /&gt;
      const firstBtn = panel.querySelector(&amp;quot;button.a11y-btn&amp;quot;);&lt;br /&gt;
      if (firstBtn) firstBtn.focus();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function closePanel(opts = {}) {&lt;br /&gt;
      const { returnFocusToToggle = true } = opts;&lt;br /&gt;
      panel.hidden = true;&lt;br /&gt;
      toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;false&amp;quot;);&lt;br /&gt;
      if (returnFocusToToggle) toggle.focus();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    toggle.addEventListener(&amp;quot;click&amp;quot;, () =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) openPanel();&lt;br /&gt;
      else closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    document.addEventListener(&amp;quot;click&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (panel.contains(e.target) || toggle.contains(e.target)) return;&lt;br /&gt;
      closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    document.addEventListener(&amp;quot;keydown&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (e.key === &amp;quot;Escape&amp;quot;) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: false });&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // STRICT 1A (keyboard): close immediately when tabbing out of the panel&lt;br /&gt;
    panel.addEventListener(&amp;quot;keydown&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (e.key !== &amp;quot;Tab&amp;quot;) return;&lt;br /&gt;
&lt;br /&gt;
      const focusables = getFocusableInside(panel);&lt;br /&gt;
      if (!focusables.length) return;&lt;br /&gt;
&lt;br /&gt;
      const first = focusables[0];&lt;br /&gt;
      const last = focusables[focusables.length - 1];&lt;br /&gt;
      const active = document.activeElement;&lt;br /&gt;
&lt;br /&gt;
      if (e.shiftKey &amp;amp;&amp;amp; active === first) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: true });&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      if (!e.shiftKey &amp;amp;&amp;amp; active === last) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: false });&lt;br /&gt;
&lt;br /&gt;
        const all = Array.from(document.querySelectorAll(&lt;br /&gt;
          &#039;a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex=&amp;quot;-1&amp;quot;])&#039;&lt;br /&gt;
        )).filter(el =&amp;gt; {&lt;br /&gt;
          const style = window.getComputedStyle(el);&lt;br /&gt;
          return style.display !== &amp;quot;none&amp;quot; &amp;amp;&amp;amp; style.visibility !== &amp;quot;hidden&amp;quot;;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        let next = null;&lt;br /&gt;
        for (const el of all) {&lt;br /&gt;
          if (panel.contains(el) || toggle.contains(el)) continue;&lt;br /&gt;
          if (panel.compareDocumentPosition(el) &amp;amp; Node.DOCUMENT_POSITION_FOLLOWING) {&lt;br /&gt;
            next = el;&lt;br /&gt;
            break;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (next) next.focus();&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Close if focus moves outside (screen reader / keyboard)&lt;br /&gt;
    document.addEventListener(&amp;quot;focusin&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      const target = e.target;&lt;br /&gt;
      if (!target) return;&lt;br /&gt;
      if (panel.contains(target) || toggle.contains(target)) return;&lt;br /&gt;
      closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    panel.addEventListener(&amp;quot;click&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      const btn = e.target.closest(&amp;quot;button[data-action]&amp;quot;);&lt;br /&gt;
      if (!btn) return;&lt;br /&gt;
      const action = btn.getAttribute(&amp;quot;data-action&amp;quot;) || &amp;quot;&amp;quot;;&lt;br /&gt;
      handleAction(action);&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function updateUiButtons() {&lt;br /&gt;
    const panel = document.getElementById(&amp;quot;a11y-panel&amp;quot;);&lt;br /&gt;
    if (!panel) return;&lt;br /&gt;
&lt;br /&gt;
    const setPressed = (action, pressed) =&amp;gt; {&lt;br /&gt;
      const b = panel.querySelector(`button[data-action=&amp;quot;${action}&amp;quot;]`);&lt;br /&gt;
      if (b) b.setAttribute(&amp;quot;aria-pressed&amp;quot;, pressed ? &amp;quot;true&amp;quot; : &amp;quot;false&amp;quot;);&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // Font&lt;br /&gt;
    setPressed(&amp;quot;font-reset&amp;quot;, STATE.fontPct !== 100);&lt;br /&gt;
    setPressed(&amp;quot;font-plus&amp;quot;, false);&lt;br /&gt;
    setPressed(&amp;quot;font-minus&amp;quot;, false);&lt;br /&gt;
&lt;br /&gt;
    // Spacing&lt;br /&gt;
    setPressed(&amp;quot;spacing-plus&amp;quot;, STATE.spacing === &amp;quot;plus&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;spacing-minus&amp;quot;, STATE.spacing === &amp;quot;minus&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;spacing-reset&amp;quot;, STATE.spacing === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Contrast scheme&lt;br /&gt;
    setPressed(&amp;quot;contrast-yellow&amp;quot;, STATE.contrastMode === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;contrast-white&amp;quot;, STATE.contrastMode === &amp;quot;white&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;contrast-reset&amp;quot;, STATE.contrastMode === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Cursor scheme&lt;br /&gt;
    setPressed(&amp;quot;cursor-yellow&amp;quot;, STATE.cursor === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;cursor-white&amp;quot;, STATE.cursor === &amp;quot;white&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;cursor-reset&amp;quot;, STATE.cursor === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Toggles&lt;br /&gt;
    setPressed(&amp;quot;underline&amp;quot;, STATE.underline);&lt;br /&gt;
    setPressed(&amp;quot;ruler&amp;quot;, STATE.ruler);&lt;br /&gt;
&lt;br /&gt;
    setPressed(&amp;quot;reset&amp;quot;, false);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Actions&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function handleAction(action) {&lt;br /&gt;
    switch (action) {&lt;br /&gt;
      // Contrast schemes&lt;br /&gt;
      case &amp;quot;contrast-yellow&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = (STATE.contrastMode === &amp;quot;yellow&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;yellow&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.contrastMode === &amp;quot;yellow&amp;quot; ? &amp;quot;High contrast yellow on&amp;quot; : &amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;contrast-white&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = (STATE.contrastMode === &amp;quot;white&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;white&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.contrastMode === &amp;quot;white&amp;quot; ? &amp;quot;High contrast white on&amp;quot; : &amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;contrast-reset&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Underline + Ruler toggles&lt;br /&gt;
      case &amp;quot;underline&amp;quot;:&lt;br /&gt;
        STATE.underline = !STATE.underline;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Underline links ${STATE.underline ? &amp;quot;on&amp;quot; : &amp;quot;off&amp;quot;}`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;ruler&amp;quot;:&lt;br /&gt;
        STATE.ruler = !STATE.ruler;&lt;br /&gt;
        if (STATE.ruler &amp;amp;&amp;amp; !rulerY) rulerY = Math.floor(window.innerHeight / 2);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Reading ruler ${STATE.ruler ? &amp;quot;on&amp;quot; : &amp;quot;off&amp;quot;}`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Spacing&lt;br /&gt;
      case &amp;quot;spacing-plus&amp;quot;:&lt;br /&gt;
        STATE.spacing = (STATE.spacing === &amp;quot;plus&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;plus&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.spacing === &amp;quot;plus&amp;quot; ? &amp;quot;Text spacing increased&amp;quot; : &amp;quot;Text spacing normal&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;spacing-minus&amp;quot;:&lt;br /&gt;
        STATE.spacing = (STATE.spacing === &amp;quot;minus&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;minus&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.spacing === &amp;quot;minus&amp;quot; ? &amp;quot;Text spacing decreased&amp;quot; : &amp;quot;Text spacing normal&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;spacing-reset&amp;quot;:&lt;br /&gt;
        STATE.spacing = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Text spacing reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Cursor schemes&lt;br /&gt;
      case &amp;quot;cursor-yellow&amp;quot;:&lt;br /&gt;
        STATE.cursor = (STATE.cursor === &amp;quot;yellow&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;yellow&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.cursor === &amp;quot;yellow&amp;quot; ? &amp;quot;Large cursor yellow&amp;quot; : &amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;cursor-white&amp;quot;:&lt;br /&gt;
        STATE.cursor = (STATE.cursor === &amp;quot;white&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;white&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.cursor === &amp;quot;white&amp;quot; ? &amp;quot;Large cursor white&amp;quot; : &amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;cursor-reset&amp;quot;:&lt;br /&gt;
        STATE.cursor = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Text size&lt;br /&gt;
      case &amp;quot;font-plus&amp;quot;:&lt;br /&gt;
        STATE.fontPct = nextFontPct(STATE.fontPct, +1);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Text size ${STATE.fontPct}%`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;font-minus&amp;quot;:&lt;br /&gt;
        STATE.fontPct = nextFontPct(STATE.fontPct, -1);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Text size ${STATE.fontPct}%`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;font-reset&amp;quot;:&lt;br /&gt;
        STATE.fontPct = 100;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Text size reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Reset all&lt;br /&gt;
      case &amp;quot;reset&amp;quot;:&lt;br /&gt;
        clearStoredState();&lt;br /&gt;
        STATE.contrastMode = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.underline = false;&lt;br /&gt;
        STATE.spacing = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.cursor = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.ruler = false;&lt;br /&gt;
        STATE.fontPct = 100;&lt;br /&gt;
        rulerY = 0;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Accessibility settings reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Load saved settings&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function loadState() {&lt;br /&gt;
    const saved = loadStateFromStorage();&lt;br /&gt;
    if (!saved) return;&lt;br /&gt;
&lt;br /&gt;
    const cm = saved.contrastMode;&lt;br /&gt;
    STATE.contrastMode = (cm === &amp;quot;yellow&amp;quot; || cm === &amp;quot;white&amp;quot;) ? cm : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    STATE.underline = !!saved.underline;&lt;br /&gt;
&lt;br /&gt;
    const spacing = saved.spacing;&lt;br /&gt;
    STATE.spacing = (spacing === &amp;quot;plus&amp;quot; || spacing === &amp;quot;minus&amp;quot;) ? spacing : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const cursor = saved.cursor;&lt;br /&gt;
    STATE.cursor = (cursor === &amp;quot;white&amp;quot; || cursor === &amp;quot;yellow&amp;quot;) ? cursor : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    STATE.ruler = !!saved.ruler;&lt;br /&gt;
&lt;br /&gt;
    const fp = parseInt(saved.fontPct, 10);&lt;br /&gt;
    STATE.fontPct = isNaN(fp) ? 100 : clamp(fp, FONT_STEPS[0], FONT_STEPS[FONT_STEPS.length - 1]);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Init&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function init() {&lt;br /&gt;
    ensureUi();&lt;br /&gt;
    loadState();&lt;br /&gt;
    applyState();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (document.readyState === &amp;quot;loading&amp;quot;) {&lt;br /&gt;
    document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, init);&lt;br /&gt;
  } else {&lt;br /&gt;
    init();&lt;br /&gt;
  }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1613</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1613"/>
		<updated>2026-01-29T08:26:15Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast presets&lt;br /&gt;
   - Use ONE of these on &amp;lt;body&amp;gt;:&lt;br /&gt;
     - a11y-contrast-yellow  (yellow on black)&lt;br /&gt;
     - a11y-contrast-white   (white on black)&lt;br /&gt;
   - Back-compat: a11y-contrast behaves as yellow on black&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast-yellow{&lt;br /&gt;
  --a11y-contrast-fg: #FFD400;&lt;br /&gt;
  --a11y-contrast-fg-hover: #FFE066;&lt;br /&gt;
  --a11y-contrast-link: #36C; /* MediaWiki blue */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,212,0,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,212,0,.85);&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast-white{&lt;br /&gt;
  --a11y-contrast-fg: #FFFFFF;&lt;br /&gt;
  --a11y-contrast-fg-hover: #E6E6E6;&lt;br /&gt;
  --a11y-contrast-link: #9ECBFF; /* lighter link blue on black */&lt;br /&gt;
  --a11y-contrast-border-70: rgba(255,255,255,.7);&lt;br /&gt;
  --a11y-contrast-border-75: rgba(255,255,255,.75);&lt;br /&gt;
  --a11y-contrast-border-85: rgba(255,255,255,.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white){&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
&lt;br /&gt;
  /* Gadget UI variables in contrast mode */&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: var(--a11y-contrast-border-70);&lt;br /&gt;
  --a11y-fg: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-focus: var(--a11y-contrast-fg);&lt;br /&gt;
  --a11y-link-underline: var(--a11y-contrast-link);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h4,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h5,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) h6{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-wrapper,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-navigation,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #site-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #page-tools,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-70) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body{&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-panel,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border:2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    var(--a11y-contrast-fg) 0%,&lt;br /&gt;
    var(--a11y-contrast-fg) 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 60%,&lt;br /&gt;
    var(--a11y-contrast-fg) 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc * ,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-normal-catlinks *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikitable th,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) figure *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-center *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumb *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbinner *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) pre *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-list *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-footer hr{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #toc a,&lt;br /&gt;
body.a11y-underline-links:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .ts-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #bhc-strapline,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .bhc-strapline{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search #searchInput,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #searchInput::placeholder,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#mw-searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) input#searchButton,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-results,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-special,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:visited{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions-result-current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h2,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal h3,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal .mw-portlet-body *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-content{&lt;br /&gt;
  border-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  caret-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::placeholder{&lt;br /&gt;
  color: var(--a11y-contrast-border-75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions input:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions select:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-contrast-fg) !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--block,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  border: 2px solid var(--a11y-contrast-border-85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message__icon *{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  fill: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .cdx-message strong{&lt;br /&gt;
  color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: var(--a11y-contrast-border-85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: var(--a11y-contrast-fg) !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white),&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white)::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white). */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: var(--a11y-contrast-fg-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html{&lt;br /&gt;
  scrollbar-color: var(--a11y-contrast-fg) #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: var(--a11y-contrast-fg);&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white) a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a *,&lt;br /&gt;
body:is(.a11y-contrast,.a11y-contrast-yellow,.a11y-contrast-white).skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.js&amp;diff=1612</id>
		<title>MediaWiki:Gadget-bhc-accessibility.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.js&amp;diff=1612"/>
		<updated>2026-01-29T08:14:01Z</updated>

		<summary type="html">&lt;p&gt;Steve: Move to both a contrast yellow and contrast white scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
(() =&amp;gt; {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Storage policy:&lt;br /&gt;
  // - localStorage first&lt;br /&gt;
  // - cookie fallback only if localStorage unavailable&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  const LS_KEY = &amp;quot;bhc_a11y_state_v2&amp;quot;; // bumped because state model changed&lt;br /&gt;
  const COOKIE_PREFIX = &amp;quot;a11y_&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  function canUseLocalStorage() {&lt;br /&gt;
    try {&lt;br /&gt;
      const k = &amp;quot;__a11y_test__&amp;quot;;&lt;br /&gt;
      window.localStorage.setItem(k, &amp;quot;1&amp;quot;);&lt;br /&gt;
      window.localStorage.removeItem(k);&lt;br /&gt;
      return true;&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  const HAS_LS = canUseLocalStorage();&lt;br /&gt;
&lt;br /&gt;
  // Cookie helpers (fallback)&lt;br /&gt;
  function setCookie(name, value, days = 365) {&lt;br /&gt;
    const exp = new Date();&lt;br /&gt;
    exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);&lt;br /&gt;
    document.cookie =&lt;br /&gt;
      `${encodeURIComponent(COOKIE_PREFIX + name)}=${encodeURIComponent(String(value))}; ` +&lt;br /&gt;
      `expires=${exp.toUTCString()}; path=/; SameSite=Lax`;&lt;br /&gt;
  }&lt;br /&gt;
  function getCookie(name, fallback = &amp;quot;&amp;quot;) {&lt;br /&gt;
    const key = encodeURIComponent(COOKIE_PREFIX + name) + &amp;quot;=&amp;quot;;&lt;br /&gt;
    const parts = document.cookie.split(&amp;quot;;&amp;quot;).map(s =&amp;gt; s.trim());&lt;br /&gt;
    for (const p of parts) {&lt;br /&gt;
      if (p.startsWith(key)) return decodeURIComponent(p.substring(key.length));&lt;br /&gt;
    }&lt;br /&gt;
    return fallback;&lt;br /&gt;
  }&lt;br /&gt;
  function delCookie(name) {&lt;br /&gt;
    document.cookie =&lt;br /&gt;
      `${encodeURIComponent(COOKIE_PREFIX + name)}=; ` +&lt;br /&gt;
      `expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; SameSite=Lax`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Unified read/write&lt;br /&gt;
  function saveStateToStorage(stateObj) {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try {&lt;br /&gt;
        window.localStorage.setItem(LS_KEY, JSON.stringify(stateObj));&lt;br /&gt;
        return;&lt;br /&gt;
      } catch (e) {&lt;br /&gt;
        // fall through to cookies&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // cookie fallback (per-key)&lt;br /&gt;
    setCookie(&amp;quot;contrastMode&amp;quot;, stateObj.contrastMode); // off|yellow|white&lt;br /&gt;
    setCookie(&amp;quot;underline&amp;quot;, stateObj.underline ? &amp;quot;1&amp;quot; : &amp;quot;0&amp;quot;);&lt;br /&gt;
    setCookie(&amp;quot;spacing&amp;quot;, stateObj.spacing);&lt;br /&gt;
    setCookie(&amp;quot;cursor&amp;quot;, stateObj.cursor);            // off|white|yellow&lt;br /&gt;
    setCookie(&amp;quot;ruler&amp;quot;, stateObj.ruler ? &amp;quot;1&amp;quot; : &amp;quot;0&amp;quot;);&lt;br /&gt;
    setCookie(&amp;quot;fontPct&amp;quot;, String(stateObj.fontPct));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function loadStateFromStorage() {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try {&lt;br /&gt;
        const raw = window.localStorage.getItem(LS_KEY);&lt;br /&gt;
        if (!raw) return null;&lt;br /&gt;
        const obj = JSON.parse(raw);&lt;br /&gt;
        return (obj &amp;amp;&amp;amp; typeof obj === &amp;quot;object&amp;quot;) ? obj : null;&lt;br /&gt;
      } catch (e) {&lt;br /&gt;
        // fall through to cookies&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // cookie fallback (legacy / no-LS)&lt;br /&gt;
    return {&lt;br /&gt;
      contrastMode: getCookie(&amp;quot;contrastMode&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      underline: getCookie(&amp;quot;underline&amp;quot;, &amp;quot;0&amp;quot;) === &amp;quot;1&amp;quot;,&lt;br /&gt;
      spacing: getCookie(&amp;quot;spacing&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      cursor: getCookie(&amp;quot;cursor&amp;quot;, &amp;quot;off&amp;quot;),&lt;br /&gt;
      ruler: getCookie(&amp;quot;ruler&amp;quot;, &amp;quot;0&amp;quot;) === &amp;quot;1&amp;quot;,&lt;br /&gt;
      fontPct: parseInt(getCookie(&amp;quot;fontPct&amp;quot;, &amp;quot;100&amp;quot;), 10)&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function clearStoredState() {&lt;br /&gt;
    if (HAS_LS) {&lt;br /&gt;
      try { window.localStorage.removeItem(LS_KEY); } catch (e) {}&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    [&amp;quot;contrastMode&amp;quot;,&amp;quot;underline&amp;quot;,&amp;quot;spacing&amp;quot;,&amp;quot;cursor&amp;quot;,&amp;quot;ruler&amp;quot;,&amp;quot;fontPct&amp;quot;].forEach(delCookie);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // State + announcements&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  const STATE = {&lt;br /&gt;
    contrastMode: &amp;quot;off&amp;quot;,      // off | yellow | white&lt;br /&gt;
    underline: false,&lt;br /&gt;
    spacing: &amp;quot;off&amp;quot;,           // off | plus | minus&lt;br /&gt;
    cursor: &amp;quot;off&amp;quot;,            // off | white | yellow&lt;br /&gt;
    ruler: false,&lt;br /&gt;
    fontPct: 100              // 90..175&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  const FONT_STEPS = [90, 102, 114, 126, 138, 150, 162, 175];&lt;br /&gt;
&lt;br /&gt;
  let liveEl = null;&lt;br /&gt;
  let statusEl = null;&lt;br /&gt;
  let rulerEl = null;&lt;br /&gt;
  let rulerY = 0;&lt;br /&gt;
&lt;br /&gt;
  function announce(msg) {&lt;br /&gt;
    if (!liveEl) return;&lt;br /&gt;
    liveEl.textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
    setTimeout(() =&amp;gt; { liveEl.textContent = msg; }, 10);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function clamp(n, min, max) { return Math.max(min, Math.min(max, n)); }&lt;br /&gt;
&lt;br /&gt;
  function nextFontPct(current, dir) {&lt;br /&gt;
    const cur = clamp(current, FONT_STEPS[0], FONT_STEPS[FONT_STEPS.length - 1]);&lt;br /&gt;
    let idx = 0;&lt;br /&gt;
    for (let i = 0; i &amp;lt; FONT_STEPS.length; i++) {&lt;br /&gt;
      if (FONT_STEPS[i] &amp;gt;= cur) { idx = i; break; }&lt;br /&gt;
    }&lt;br /&gt;
    if (dir &amp;gt; 0) return FONT_STEPS[Math.min(FONT_STEPS.length - 1, idx + 1)];&lt;br /&gt;
    if (FONT_STEPS[idx] === cur) return FONT_STEPS[Math.max(0, idx - 1)];&lt;br /&gt;
    return FONT_STEPS[Math.max(0, idx - 1)];&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Status line (display-only)&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function updateStatusLine() {&lt;br /&gt;
    if (!statusEl) return;&lt;br /&gt;
&lt;br /&gt;
    const contrast =&lt;br /&gt;
      STATE.contrastMode === &amp;quot;yellow&amp;quot; ? &amp;quot;Contrast: Yellow/Black&amp;quot; :&lt;br /&gt;
      STATE.contrastMode === &amp;quot;white&amp;quot; ? &amp;quot;Contrast: White/Black&amp;quot; :&lt;br /&gt;
      &amp;quot;Contrast: Off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const text = `Text ${STATE.fontPct}%`;&lt;br /&gt;
    const underline = STATE.underline ? &amp;quot;Links: Underlined&amp;quot; : &amp;quot;Links: Normal&amp;quot;;&lt;br /&gt;
    const spacing =&lt;br /&gt;
      STATE.spacing === &amp;quot;plus&amp;quot; ? &amp;quot;Spacing +&amp;quot; :&lt;br /&gt;
      STATE.spacing === &amp;quot;minus&amp;quot; ? &amp;quot;Spacing −&amp;quot; :&lt;br /&gt;
      &amp;quot;Spacing: Normal&amp;quot;;&lt;br /&gt;
    const cursor =&lt;br /&gt;
      STATE.cursor === &amp;quot;yellow&amp;quot; ? &amp;quot;Cursor: Yellow&amp;quot; :&lt;br /&gt;
      STATE.cursor === &amp;quot;white&amp;quot; ? &amp;quot;Cursor: White&amp;quot; :&lt;br /&gt;
      &amp;quot;Cursor: Off&amp;quot;;&lt;br /&gt;
    const ruler = STATE.ruler ? &amp;quot;Ruler: On&amp;quot; : &amp;quot;Ruler: Off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    statusEl.textContent = `Status: ${contrast} · ${text} · ${underline} · ${spacing} · ${cursor} · ${ruler}`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Apply state to DOM&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function applyState() {&lt;br /&gt;
    // Contrast scheme classes&lt;br /&gt;
    const contrastOn = STATE.contrastMode !== &amp;quot;off&amp;quot;;&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast&amp;quot;, contrastOn);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast-yellow&amp;quot;, STATE.contrastMode === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-contrast-white&amp;quot;, STATE.contrastMode === &amp;quot;white&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Other features&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-underline-links&amp;quot;, !!STATE.underline);&lt;br /&gt;
&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-spacing-plus&amp;quot;, STATE.spacing === &amp;quot;plus&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-spacing-minus&amp;quot;, STATE.spacing === &amp;quot;minus&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-cursor-white&amp;quot;, STATE.cursor === &amp;quot;white&amp;quot;);&lt;br /&gt;
    document.body.classList.toggle(&amp;quot;a11y-cursor-yellow&amp;quot;, STATE.cursor === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    document.documentElement.style.fontSize = `${STATE.fontPct}%`;&lt;br /&gt;
&lt;br /&gt;
    ensureRuler();&lt;br /&gt;
    if (STATE.ruler) {&lt;br /&gt;
      rulerEl.hidden = false;&lt;br /&gt;
      setRulerY(rulerY || Math.floor(window.innerHeight / 2));&lt;br /&gt;
      enableRulerListeners();&lt;br /&gt;
    } else {&lt;br /&gt;
      if (rulerEl) rulerEl.hidden = true;&lt;br /&gt;
      disableRulerListeners();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    updateUiButtons();&lt;br /&gt;
    updateStatusLine();&lt;br /&gt;
    saveStateToStorage(STATE);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Ruler support&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function ensureRuler() {&lt;br /&gt;
    if (rulerEl) return;&lt;br /&gt;
    rulerEl = document.getElementById(&amp;quot;a11y-ruler&amp;quot;);&lt;br /&gt;
    if (!rulerEl) {&lt;br /&gt;
      rulerEl = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
      rulerEl.id = &amp;quot;a11y-ruler&amp;quot;;&lt;br /&gt;
      rulerEl.hidden = true;&lt;br /&gt;
      document.body.appendChild(rulerEl);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function setRulerY(y) {&lt;br /&gt;
    rulerY = clamp(y, 0, Math.max(0, window.innerHeight - 1));&lt;br /&gt;
    if (rulerEl) rulerEl.style.transform = `translateY(${rulerY}px)`;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function onMouseMove(e) {&lt;br /&gt;
    if (!STATE.ruler) return;&lt;br /&gt;
    setRulerY(e.clientY - 11);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function onKeyDown(e) {&lt;br /&gt;
    if (!STATE.ruler) return;&lt;br /&gt;
&lt;br /&gt;
    if (e.key === &amp;quot;ArrowDown&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      setRulerY(rulerY + 10);&lt;br /&gt;
      announce(&amp;quot;Reading ruler moved down&amp;quot;);&lt;br /&gt;
    } else if (e.key === &amp;quot;ArrowUp&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      setRulerY(rulerY - 10);&lt;br /&gt;
      announce(&amp;quot;Reading ruler moved up&amp;quot;);&lt;br /&gt;
    } else if (e.key === &amp;quot;Escape&amp;quot;) {&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      STATE.ruler = false;&lt;br /&gt;
      applyState();&lt;br /&gt;
      announce(&amp;quot;Reading ruler off&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  let rulerListenersOn = false;&lt;br /&gt;
  function enableRulerListeners() {&lt;br /&gt;
    if (rulerListenersOn) return;&lt;br /&gt;
    rulerListenersOn = true;&lt;br /&gt;
    window.addEventListener(&amp;quot;mousemove&amp;quot;, onMouseMove, { passive: true });&lt;br /&gt;
    window.addEventListener(&amp;quot;keydown&amp;quot;, onKeyDown);&lt;br /&gt;
    window.addEventListener(&amp;quot;resize&amp;quot;, () =&amp;gt; setRulerY(rulerY), { passive: true });&lt;br /&gt;
  }&lt;br /&gt;
  function disableRulerListeners() {&lt;br /&gt;
    if (!rulerListenersOn) return;&lt;br /&gt;
    rulerListenersOn = false;&lt;br /&gt;
    window.removeEventListener(&amp;quot;mousemove&amp;quot;, onMouseMove);&lt;br /&gt;
    window.removeEventListener(&amp;quot;keydown&amp;quot;, onKeyDown);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function getFocusableInside(container) {&lt;br /&gt;
    if (!container) return [];&lt;br /&gt;
    const selectors = [&lt;br /&gt;
      &#039;a[href]&#039;,&lt;br /&gt;
      &#039;button:not([disabled])&#039;,&lt;br /&gt;
      &#039;input:not([disabled])&#039;,&lt;br /&gt;
      &#039;select:not([disabled])&#039;,&lt;br /&gt;
      &#039;textarea:not([disabled])&#039;,&lt;br /&gt;
      &#039;[tabindex]:not([tabindex=&amp;quot;-1&amp;quot;])&#039;&lt;br /&gt;
    ].join(&#039;,&#039;);&lt;br /&gt;
&lt;br /&gt;
    return Array.from(container.querySelectorAll(selectors)).filter(el =&amp;gt; {&lt;br /&gt;
      if (el.hidden) return false;&lt;br /&gt;
      const style = window.getComputedStyle(el);&lt;br /&gt;
      return style.display !== &amp;quot;none&amp;quot; &amp;amp;&amp;amp; style.visibility !== &amp;quot;hidden&amp;quot;;&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // UI creation&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function ensureUi() {&lt;br /&gt;
    if (document.getElementById(&amp;quot;a11y-toggle&amp;quot;)) return;&lt;br /&gt;
&lt;br /&gt;
    const helpHref = (window.mw &amp;amp;&amp;amp; mw.util &amp;amp;&amp;amp; mw.util.getUrl)&lt;br /&gt;
      ? mw.util.getUrl(&amp;quot;Accessibility&amp;quot;)&lt;br /&gt;
      : &amp;quot;/index.php/Accessibility&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const toggle = document.createElement(&amp;quot;button&amp;quot;);&lt;br /&gt;
    toggle.type = &amp;quot;button&amp;quot;;&lt;br /&gt;
    toggle.id = &amp;quot;a11y-toggle&amp;quot;;&lt;br /&gt;
    toggle.className = &amp;quot;a11y-toggle&amp;quot;;&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Accessibility options&amp;quot;);&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-haspopup&amp;quot;, &amp;quot;dialog&amp;quot;);&lt;br /&gt;
    toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;false&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    toggle.innerHTML = `&lt;br /&gt;
      &amp;lt;svg viewBox=&amp;quot;0 0 24 24&amp;quot; aria-hidden=&amp;quot;true&amp;quot; focusable=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;path d=&amp;quot;M12 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 12 2zm9 7h-6.5c-.7 0-1.3.4-1.6 1L12 12l-.9-2c-.3-.6-.9-1-1.6-1H3a1 1 0 0 0 0 2h5.3l1.3 2.9-1.7 6.2a1 1 0 0 0 1.9.6l1.2-4.3 1.2 4.3a1 1 0 0 0 1.9-.6l-1.7-6.2 1.3-2.9H21a1 1 0 0 0 0-2z&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/svg&amp;gt;&lt;br /&gt;
    `;&lt;br /&gt;
    document.body.appendChild(toggle);&lt;br /&gt;
&lt;br /&gt;
    const panel = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
    panel.id = &amp;quot;a11y-panel&amp;quot;;&lt;br /&gt;
    panel.className = &amp;quot;a11y-panel&amp;quot;;&lt;br /&gt;
    panel.setAttribute(&amp;quot;role&amp;quot;, &amp;quot;dialog&amp;quot;);&lt;br /&gt;
    panel.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Accessibility options&amp;quot;);&lt;br /&gt;
    panel.hidden = true;&lt;br /&gt;
&lt;br /&gt;
    // Layout per your request&lt;br /&gt;
    panel.innerHTML = `&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-head&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Accessibility&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;a class=&amp;quot;a11y-help&amp;quot; href=&amp;quot;${helpHref}&amp;quot; aria-label=&amp;quot;Accessibility help&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Text size&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-minus&amp;quot; aria-label=&amp;quot;Decrease text size&amp;quot;&amp;gt;A−&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-plus&amp;quot; aria-label=&amp;quot;Increase text size&amp;quot;&amp;gt;A+&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;font-reset&amp;quot; aria-label=&amp;quot;Reset text size&amp;quot;&amp;gt;Reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Text spacing&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-minus&amp;quot;&amp;gt;Spacing−&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-plus&amp;quot;&amp;gt;Spacing+&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;spacing-reset&amp;quot;&amp;gt;Spacing reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;High contrast&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-yellow&amp;quot;&amp;gt;High contrast (yellow)&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-white&amp;quot;&amp;gt;High contrast (white)&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;contrast-reset&amp;quot;&amp;gt;Contrast reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Large cursor&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-yellow&amp;quot;&amp;gt;Cursor yellow&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-white&amp;quot;&amp;gt;Cursor white&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;cursor-reset&amp;quot;&amp;gt;Cursor reset&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Links and reading aid&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;underline&amp;quot;&amp;gt;Underline links&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;ruler&amp;quot;&amp;gt;Reading ruler&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-row&amp;quot; role=&amp;quot;group&amp;quot; aria-label=&amp;quot;Reset all&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;a11y-btn&amp;quot; data-action=&amp;quot;reset&amp;quot;&amp;gt;Reset all&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div id=&amp;quot;a11y-status&amp;quot; class=&amp;quot;a11y-status&amp;quot; aria-live=&amp;quot;off&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div class=&amp;quot;a11y-hint&amp;quot;&amp;gt;&lt;br /&gt;
        Settings are saved on this device. When Reading ruler is on, use &amp;lt;strong&amp;gt;↑/↓&amp;lt;/strong&amp;gt; to move it and &amp;lt;strong&amp;gt;Esc&amp;lt;/strong&amp;gt; to turn it off.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;div id=&amp;quot;a11y-live&amp;quot; class=&amp;quot;a11y-sr&amp;quot; aria-live=&amp;quot;polite&amp;quot; aria-atomic=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    `;&lt;br /&gt;
    document.body.appendChild(panel);&lt;br /&gt;
&lt;br /&gt;
    liveEl = panel.querySelector(&amp;quot;#a11y-live&amp;quot;);&lt;br /&gt;
    statusEl = panel.querySelector(&amp;quot;#a11y-status&amp;quot;);&lt;br /&gt;
    updateStatusLine();&lt;br /&gt;
&lt;br /&gt;
    function openPanel() {&lt;br /&gt;
      panel.hidden = false;&lt;br /&gt;
      toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;true&amp;quot;);&lt;br /&gt;
      const firstBtn = panel.querySelector(&amp;quot;button.a11y-btn&amp;quot;);&lt;br /&gt;
      if (firstBtn) firstBtn.focus();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function closePanel(opts = {}) {&lt;br /&gt;
      const { returnFocusToToggle = true } = opts;&lt;br /&gt;
      panel.hidden = true;&lt;br /&gt;
      toggle.setAttribute(&amp;quot;aria-expanded&amp;quot;, &amp;quot;false&amp;quot;);&lt;br /&gt;
      if (returnFocusToToggle) toggle.focus();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    toggle.addEventListener(&amp;quot;click&amp;quot;, () =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) openPanel();&lt;br /&gt;
      else closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    document.addEventListener(&amp;quot;click&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (panel.contains(e.target) || toggle.contains(e.target)) return;&lt;br /&gt;
      closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    document.addEventListener(&amp;quot;keydown&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (e.key === &amp;quot;Escape&amp;quot;) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: false });&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // STRICT 1A (keyboard): close immediately when tabbing out of the panel&lt;br /&gt;
    panel.addEventListener(&amp;quot;keydown&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      if (e.key !== &amp;quot;Tab&amp;quot;) return;&lt;br /&gt;
&lt;br /&gt;
      const focusables = getFocusableInside(panel);&lt;br /&gt;
      if (!focusables.length) return;&lt;br /&gt;
&lt;br /&gt;
      const first = focusables[0];&lt;br /&gt;
      const last = focusables[focusables.length - 1];&lt;br /&gt;
      const active = document.activeElement;&lt;br /&gt;
&lt;br /&gt;
      if (e.shiftKey &amp;amp;&amp;amp; active === first) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: true });&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      if (!e.shiftKey &amp;amp;&amp;amp; active === last) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        closePanel({ returnFocusToToggle: false });&lt;br /&gt;
&lt;br /&gt;
        const all = Array.from(document.querySelectorAll(&lt;br /&gt;
          &#039;a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex=&amp;quot;-1&amp;quot;])&#039;&lt;br /&gt;
        )).filter(el =&amp;gt; {&lt;br /&gt;
          const style = window.getComputedStyle(el);&lt;br /&gt;
          return style.display !== &amp;quot;none&amp;quot; &amp;amp;&amp;amp; style.visibility !== &amp;quot;hidden&amp;quot;;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        let next = null;&lt;br /&gt;
        for (const el of all) {&lt;br /&gt;
          if (panel.contains(el) || toggle.contains(el)) continue;&lt;br /&gt;
          if (panel.compareDocumentPosition(el) &amp;amp; Node.DOCUMENT_POSITION_FOLLOWING) {&lt;br /&gt;
            next = el;&lt;br /&gt;
            break;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (next) next.focus();&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Close if focus moves outside (screen reader / keyboard)&lt;br /&gt;
    document.addEventListener(&amp;quot;focusin&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      if (panel.hidden) return;&lt;br /&gt;
      const target = e.target;&lt;br /&gt;
      if (!target) return;&lt;br /&gt;
      if (panel.contains(target) || toggle.contains(target)) return;&lt;br /&gt;
      closePanel({ returnFocusToToggle: false });&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    panel.addEventListener(&amp;quot;click&amp;quot;, (e) =&amp;gt; {&lt;br /&gt;
      const btn = e.target.closest(&amp;quot;button[data-action]&amp;quot;);&lt;br /&gt;
      if (!btn) return;&lt;br /&gt;
      const action = btn.getAttribute(&amp;quot;data-action&amp;quot;) || &amp;quot;&amp;quot;;&lt;br /&gt;
      handleAction(action);&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function updateUiButtons() {&lt;br /&gt;
    const panel = document.getElementById(&amp;quot;a11y-panel&amp;quot;);&lt;br /&gt;
    if (!panel) return;&lt;br /&gt;
&lt;br /&gt;
    const setPressed = (action, pressed) =&amp;gt; {&lt;br /&gt;
      const b = panel.querySelector(`button[data-action=&amp;quot;${action}&amp;quot;]`);&lt;br /&gt;
      if (b) b.setAttribute(&amp;quot;aria-pressed&amp;quot;, pressed ? &amp;quot;true&amp;quot; : &amp;quot;false&amp;quot;);&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // Font&lt;br /&gt;
    setPressed(&amp;quot;font-reset&amp;quot;, STATE.fontPct !== 100);&lt;br /&gt;
    setPressed(&amp;quot;font-plus&amp;quot;, false);&lt;br /&gt;
    setPressed(&amp;quot;font-minus&amp;quot;, false);&lt;br /&gt;
&lt;br /&gt;
    // Spacing&lt;br /&gt;
    setPressed(&amp;quot;spacing-plus&amp;quot;, STATE.spacing === &amp;quot;plus&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;spacing-minus&amp;quot;, STATE.spacing === &amp;quot;minus&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;spacing-reset&amp;quot;, STATE.spacing === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Contrast scheme&lt;br /&gt;
    setPressed(&amp;quot;contrast-yellow&amp;quot;, STATE.contrastMode === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;contrast-white&amp;quot;, STATE.contrastMode === &amp;quot;white&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;contrast-reset&amp;quot;, STATE.contrastMode === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Cursor scheme&lt;br /&gt;
    setPressed(&amp;quot;cursor-yellow&amp;quot;, STATE.cursor === &amp;quot;yellow&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;cursor-white&amp;quot;, STATE.cursor === &amp;quot;white&amp;quot;);&lt;br /&gt;
    setPressed(&amp;quot;cursor-reset&amp;quot;, STATE.cursor === &amp;quot;off&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Toggles&lt;br /&gt;
    setPressed(&amp;quot;underline&amp;quot;, STATE.underline);&lt;br /&gt;
    setPressed(&amp;quot;ruler&amp;quot;, STATE.ruler);&lt;br /&gt;
&lt;br /&gt;
    setPressed(&amp;quot;reset&amp;quot;, false);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Actions&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function handleAction(action) {&lt;br /&gt;
    switch (action) {&lt;br /&gt;
      // Contrast schemes&lt;br /&gt;
      case &amp;quot;contrast-yellow&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = (STATE.contrastMode === &amp;quot;yellow&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;yellow&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.contrastMode === &amp;quot;yellow&amp;quot; ? &amp;quot;High contrast yellow on&amp;quot; : &amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;contrast-white&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = (STATE.contrastMode === &amp;quot;white&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;white&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.contrastMode === &amp;quot;white&amp;quot; ? &amp;quot;High contrast white on&amp;quot; : &amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;contrast-reset&amp;quot;:&lt;br /&gt;
        STATE.contrastMode = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;High contrast off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Underline + Ruler toggles&lt;br /&gt;
      case &amp;quot;underline&amp;quot;:&lt;br /&gt;
        STATE.underline = !STATE.underline;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Underline links ${STATE.underline ? &amp;quot;on&amp;quot; : &amp;quot;off&amp;quot;}`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;ruler&amp;quot;:&lt;br /&gt;
        STATE.ruler = !STATE.ruler;&lt;br /&gt;
        if (STATE.ruler &amp;amp;&amp;amp; !rulerY) rulerY = Math.floor(window.innerHeight / 2);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Reading ruler ${STATE.ruler ? &amp;quot;on&amp;quot; : &amp;quot;off&amp;quot;}`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Spacing&lt;br /&gt;
      case &amp;quot;spacing-plus&amp;quot;:&lt;br /&gt;
        STATE.spacing = (STATE.spacing === &amp;quot;plus&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;plus&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.spacing === &amp;quot;plus&amp;quot; ? &amp;quot;Text spacing increased&amp;quot; : &amp;quot;Text spacing normal&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;spacing-minus&amp;quot;:&lt;br /&gt;
        STATE.spacing = (STATE.spacing === &amp;quot;minus&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;minus&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.spacing === &amp;quot;minus&amp;quot; ? &amp;quot;Text spacing decreased&amp;quot; : &amp;quot;Text spacing normal&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;spacing-reset&amp;quot;:&lt;br /&gt;
        STATE.spacing = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Text spacing reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Cursor schemes&lt;br /&gt;
      case &amp;quot;cursor-yellow&amp;quot;:&lt;br /&gt;
        STATE.cursor = (STATE.cursor === &amp;quot;yellow&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;yellow&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.cursor === &amp;quot;yellow&amp;quot; ? &amp;quot;Large cursor yellow&amp;quot; : &amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;cursor-white&amp;quot;:&lt;br /&gt;
        STATE.cursor = (STATE.cursor === &amp;quot;white&amp;quot;) ? &amp;quot;off&amp;quot; : &amp;quot;white&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(STATE.cursor === &amp;quot;white&amp;quot; ? &amp;quot;Large cursor white&amp;quot; : &amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;cursor-reset&amp;quot;:&lt;br /&gt;
        STATE.cursor = &amp;quot;off&amp;quot;;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Large cursor off&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Text size&lt;br /&gt;
      case &amp;quot;font-plus&amp;quot;:&lt;br /&gt;
        STATE.fontPct = nextFontPct(STATE.fontPct, +1);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Text size ${STATE.fontPct}%`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;font-minus&amp;quot;:&lt;br /&gt;
        STATE.fontPct = nextFontPct(STATE.fontPct, -1);&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(`Text size ${STATE.fontPct}%`);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      case &amp;quot;font-reset&amp;quot;:&lt;br /&gt;
        STATE.fontPct = 100;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Text size reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      // Reset all&lt;br /&gt;
      case &amp;quot;reset&amp;quot;:&lt;br /&gt;
        clearStoredState();&lt;br /&gt;
        STATE.contrastMode = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.underline = false;&lt;br /&gt;
        STATE.spacing = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.cursor = &amp;quot;off&amp;quot;;&lt;br /&gt;
        STATE.ruler = false;&lt;br /&gt;
        STATE.fontPct = 100;&lt;br /&gt;
        rulerY = 0;&lt;br /&gt;
        applyState();&lt;br /&gt;
        announce(&amp;quot;Accessibility settings reset&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Load saved settings&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function loadState() {&lt;br /&gt;
    const saved = loadStateFromStorage();&lt;br /&gt;
    if (!saved) return;&lt;br /&gt;
&lt;br /&gt;
    const cm = saved.contrastMode;&lt;br /&gt;
    STATE.contrastMode = (cm === &amp;quot;yellow&amp;quot; || cm === &amp;quot;white&amp;quot;) ? cm : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    STATE.underline = !!saved.underline;&lt;br /&gt;
&lt;br /&gt;
    const spacing = saved.spacing;&lt;br /&gt;
    STATE.spacing = (spacing === &amp;quot;plus&amp;quot; || spacing === &amp;quot;minus&amp;quot;) ? spacing : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    const cursor = saved.cursor;&lt;br /&gt;
    STATE.cursor = (cursor === &amp;quot;white&amp;quot; || cursor === &amp;quot;yellow&amp;quot;) ? cursor : &amp;quot;off&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    STATE.ruler = !!saved.ruler;&lt;br /&gt;
&lt;br /&gt;
    const fp = parseInt(saved.fontPct, 10);&lt;br /&gt;
    STATE.fontPct = isNaN(fp) ? 100 : clamp(fp, FONT_STEPS[0], FONT_STEPS[FONT_STEPS.length - 1]);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  // Init&lt;br /&gt;
  // =========================================================&lt;br /&gt;
  function init() {&lt;br /&gt;
    ensureUi();&lt;br /&gt;
    loadState();&lt;br /&gt;
    applyState();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (document.readyState === &amp;quot;loading&amp;quot;) {&lt;br /&gt;
    document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, init);&lt;br /&gt;
  } else {&lt;br /&gt;
    init();&lt;br /&gt;
  }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1611</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1611"/>
		<updated>2026-01-28T20:03:56Z</updated>

		<summary type="html">&lt;p&gt;Steve: change of dark to lighter blue fo links for better contrast&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #3366CC; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #3366CC;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast #mw-footer a *,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a *,&lt;br /&gt;
body.a11y-contrast #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #3366CC !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #3366CC !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast. */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body.a11y-contrast a *,&lt;br /&gt;
body.a11y-contrast a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a:visited{&lt;br /&gt;
  color: #3366CC !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1610</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1610"/>
		<updated>2026-01-28T19:53:18Z</updated>

		<summary type="html">&lt;p&gt;Steve: Incorporating the accessibility statements.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessibility =&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki aims to be accessible to as wide an audience as possible, regardless of technology or ability. We recognise that users access the site in many different ways and may have different visual, motor, cognitive, or situational needs.&lt;br /&gt;
&lt;br /&gt;
This page explains the accessibility features available on the site, how we test accessibility, and how to provide feedback.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Accessibility statement ==&lt;br /&gt;
&lt;br /&gt;
The Bellingham Heritage Centre Wiki **aims to conform to WCAG 2.2 AA accessibility standards**.&lt;br /&gt;
&lt;br /&gt;
We are committed to improving accessibility and usability and strive to follow recognised best practice and relevant accessibility guidelines appropriate to a community-run heritage website.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Measures to support accessibility ==&lt;br /&gt;
&lt;br /&gt;
To support accessibility, this site includes a built-in **Accessibility Toolbar**, available on every page.&lt;br /&gt;
&lt;br /&gt;
Using this toolbar, users can:&lt;br /&gt;
&lt;br /&gt;
* Enable a high-contrast display&lt;br /&gt;
* Increase or decrease text size&lt;br /&gt;
* Adjust text spacing&lt;br /&gt;
* Underline links&lt;br /&gt;
* Enable a reading ruler&lt;br /&gt;
* Use a high-visibility cursor&lt;br /&gt;
&lt;br /&gt;
These tools are designed to work independently or in combination, depending on individual needs.&lt;br /&gt;
&lt;br /&gt;
Accessibility preferences are saved locally in your browser so that chosen settings persist between visits on the same device.&lt;br /&gt;
&lt;br /&gt;
The site also includes:&lt;br /&gt;
&lt;br /&gt;
* Keyboard-accessible navigation throughout&lt;br /&gt;
* Visible focus indicators for keyboard users&lt;br /&gt;
* Skip links to allow users to bypass repeated navigation&lt;br /&gt;
* Screen-reader-friendly markup and ARIA attributes where appropriate&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Testing and evaluation ==&lt;br /&gt;
&lt;br /&gt;
Accessibility has been evaluated using a combination of:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manual testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Keyboard-only navigation&lt;br /&gt;
** Visual inspection of focus visibility, contrast, and readability&lt;br /&gt;
** Screen-reader testing using macOS VoiceOver&lt;br /&gt;
* &#039;&#039;&#039;Automated testing&#039;&#039;&#039;, including:&lt;br /&gt;
** Chrome Lighthouse accessibility audits&lt;br /&gt;
&lt;br /&gt;
Recent Lighthouse audits score the site highly for accessibility, both with accessibility tools enabled and with the default presentation.&lt;br /&gt;
&lt;br /&gt;
Testing has been carried out in current versions of major browsers, including Chrome, Safari, Firefox, and Opera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Known limitations and design choices ==&lt;br /&gt;
&lt;br /&gt;
Some automated accessibility tools may report warnings that do not represent barriers for users.&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Navigation and tool lists are ordered logically rather than alphabetically.&#039;&#039;&#039;  &lt;br /&gt;
  Lists are structured to reflect editorial or task-based priorities rather than alphabetical order. WCAG does not require alphabetical ordering, only that content is presented in a logical and meaningful sequence.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Link colour contrast warnings may appear in automated tests.&#039;&#039;&#039;  &lt;br /&gt;
  In high-contrast mode, links are distinguished using both colour and underlining, ensuring that links are visually identifiable without relying on colour alone. Manual testing confirms that links are clear and usable for both sighted users and screen-reader users.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor toolbar in high-contrast mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability. The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode. In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures: * editor controls remain visible and functional * keyboard and screen-reader access is unaffected * the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;br /&gt;
These design choices are intentional and are reviewed periodically.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Browser and assistive technology support ==&lt;br /&gt;
&lt;br /&gt;
The site is designed to work with modern web browsers and commonly used assistive technologies, including screen readers and keyboard navigation.&lt;br /&gt;
&lt;br /&gt;
While the site should function in other environments, explicit testing has focused on current desktop browsers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback and contact ==&lt;br /&gt;
&lt;br /&gt;
If you encounter any accessibility barriers or have suggestions for improvement, please contact us via the site’s contact page or speak to a member of the Heritage Centre team.&lt;br /&gt;
&lt;br /&gt;
Feedback is welcomed and helps guide future improvements to the site.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This accessibility statement is reviewed periodically and updated as the site evolves.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* Contrast on/off&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* Cursor type selected&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast toggles between standard and high-contrast (black/yellow). Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1609</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1609"/>
		<updated>2026-01-28T19:11:20Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast #mw-footer a *,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a *,&lt;br /&gt;
body.a11y-contrast #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast. */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body.a11y-contrast a *,&lt;br /&gt;
body.a11y-contrast a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL FIX: #personal (user tools) links&lt;br /&gt;
   The portlet-body * rule forces yellow.&lt;br /&gt;
   Override ONLY for links and their contents.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1608</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1608"/>
		<updated>2026-01-28T19:06:01Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast #mw-footer a *,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a *,&lt;br /&gt;
body.a11y-contrast #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast. */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (brute force):&lt;br /&gt;
   High-contrast links must be blue + underlined everywhere,&lt;br /&gt;
   including link text wrapped in spans inside portlets/footer.&lt;br /&gt;
   PUT THIS AT THE VERY END OF THE FILE.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 0.15em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Critical: if link text is wrapped (e.g. &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;Text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;),&lt;br /&gt;
   force ALL children inside links to inherit the link colour. */&lt;br /&gt;
body.a11y-contrast a *,&lt;br /&gt;
body.a11y-contrast a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Extra specificity for the problem zones (beats Timeless + portlet-body * rules) */&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer-container a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body a:visited *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a *,&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-footer a:visited *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1607</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1607"/>
		<updated>2026-01-28T18:13:58Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
  transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet text stays yellow (titles, non-links) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: portlet links should be blue + underlined */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* CRITICAL FIX: many MW links are &amp;lt;a&amp;gt;&amp;lt;span&amp;gt;text&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   The span was inheriting/being forced yellow.&lt;br /&gt;
   Make link contents inherit the link colour. */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a *,&lt;br /&gt;
body.a11y-contrast #mw-footer a *,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a *,&lt;br /&gt;
body.a11y-contrast #footer-list a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: footer links should be blue (not yellow) */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but if it’s a LINK (or inside a link), keep it blue */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* …but links stay blue */&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a:visited,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a:visited{&lt;br /&gt;
    color: #36C !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk a *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk a *{&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast. */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: WikiEditor toolbar tabs readability in high-contrast mode */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1606</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1606"/>
		<updated>2026-01-28T17:55:16Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body {&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* EXCEPTION: links inside portlets should use contrast link styling (blue) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars + footer can have stronger yellow rules, so repeat */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: Sidebar/footer link text is wrapped in &amp;lt;span&amp;gt;.&lt;br /&gt;
   Our .mw-portlet-body * rule forces spans yellow.&lt;br /&gt;
   Make link contents inherit the link colour.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #site-navigation a *,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a *,&lt;br /&gt;
body.a11y-contrast #mw-footer a *{&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1605</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1605"/>
		<updated>2026-01-28T17:49:11Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body {&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* EXCEPTION: links inside portlets should use contrast link styling (blue) */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars + footer can have stronger yellow rules, so repeat */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1604</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1604"/>
		<updated>2026-01-28T17:38:37Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars + footer can have stronger yellow rules, so repeat */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1603</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1603"/>
		<updated>2026-01-28T17:37:53Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1602</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1602"/>
		<updated>2026-01-28T17:23:30Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   High-contrast links: blue + underlined everywhere&lt;br /&gt;
   (safe: affects links only)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars + footer can have stronger yellow rules, so repeat */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1601</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1601"/>
		<updated>2026-01-28T17:22:04Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (put at VERY END):&lt;br /&gt;
   High-contrast links must be distinct everywhere&lt;br /&gt;
   - content&lt;br /&gt;
   - sidebars&lt;br /&gt;
   - footer&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Global default */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (MUST be last):&lt;br /&gt;
   High-contrast links: blue + underline everywhere,&lt;br /&gt;
   including navigation/tool sidebars and footer.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / portlets */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet a,&lt;br /&gt;
body.a11y-contrast .mw-portlet a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a:visited,&lt;br /&gt;
body.a11y-contrast #footer-list a,&lt;br /&gt;
body.a11y-contrast #footer-list a:visited,&lt;br /&gt;
body.a11y-contrast #footer-icons a,&lt;br /&gt;
body.a11y-contrast #footer-icons a:visited{&lt;br /&gt;
  color: #36C !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1600</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1600"/>
		<updated>2026-01-28T17:16:30Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (put at VERY END):&lt;br /&gt;
   High-contrast links must be distinct everywhere&lt;br /&gt;
   - content&lt;br /&gt;
   - sidebars&lt;br /&gt;
   - footer&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Global default */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / navigation / portlets (Timeless &amp;amp; Vector patterns) */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet a,&lt;br /&gt;
body.a11y-contrast .mw-portlet a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited{&lt;br /&gt;
  color: var(--a11y-link-underline, #36C) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer links */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a:visited,&lt;br /&gt;
body.a11y-contrast #footer-list a,&lt;br /&gt;
body.a11y-contrast #footer-list a:visited,&lt;br /&gt;
body.a11y-contrast #footer-icons a,&lt;br /&gt;
body.a11y-contrast #footer-icons a:visited{&lt;br /&gt;
  color: var(--a11y-link-underline, #36C) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1599</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1599"/>
		<updated>2026-01-28T17:13:22Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FINAL OVERRIDE (put at VERY END):&lt;br /&gt;
   High-contrast links must be distinct everywhere&lt;br /&gt;
   - content&lt;br /&gt;
   - sidebars&lt;br /&gt;
   - footer&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Global default */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / navigation / portlets (Timeless &amp;amp; Vector patterns) */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-navigation a:visited,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #site-tools a:visited,&lt;br /&gt;
body.a11y-contrast #page-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet a,&lt;br /&gt;
body.a11y-contrast .mw-portlet a:visited,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body a:visited,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a,&lt;br /&gt;
body.a11y-contrast #mw-related-navigation a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer links */&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a,&lt;br /&gt;
body.a11y-contrast #mw-footer-container a:visited,&lt;br /&gt;
body.a11y-contrast #footer-list a,&lt;br /&gt;
body.a11y-contrast #footer-list a:visited,&lt;br /&gt;
body.a11y-contrast #footer-icons a,&lt;br /&gt;
body.a11y-contrast #footer-icons a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1598</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1598"/>
		<updated>2026-01-28T17:12:38Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* Contrast on/off&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* Cursor type selected&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast toggles between standard and high-contrast (black/yellow). Links are shown in blue and underlined to ensure they are clearly distinguishable from body text.&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;br /&gt;
&lt;br /&gt;
==Note on limitations: Editor toolbar in high-contrast mode==&lt;br /&gt;
&lt;br /&gt;
When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability.&lt;br /&gt;
&lt;br /&gt;
The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode.&lt;br /&gt;
&lt;br /&gt;
In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures:&lt;br /&gt;
&lt;br /&gt;
editor controls remain visible and functional&lt;br /&gt;
&lt;br /&gt;
keyboard and screen-reader access is unaffected&lt;br /&gt;
&lt;br /&gt;
the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1597</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1597"/>
		<updated>2026-01-28T17:09:33Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a:hover,&lt;br /&gt;
body.a11y-contrast a:focus-visible{&lt;br /&gt;
  text-decoration-thickness: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1596</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1596"/>
		<updated>2026-01-28T17:08:18Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Links must be visually distinct&lt;br /&gt;
   Blue + underline to meet WCAG 1.4.1&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color: var(--bhc-link, #005DB3) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-thickness: 2px;&lt;br /&gt;
  text-underline-offset: 0.15em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1595</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1595"/>
		<updated>2026-01-28T16:57:04Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor tool-select dropdown text becomes unreadable&lt;br /&gt;
   because it inherits yellow from body.a11y-contrast.&lt;br /&gt;
   Scope ONLY to the WikiEditor &amp;quot;tool-select&amp;quot; UI.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tool.tool-select *{&lt;br /&gt;
  color: #222 !important; /* readable on the tool-select&#039;s light background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1594</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1594"/>
		<updated>2026-01-28T16:51:52Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   FIX: WikiEditor toolbar tabs readability in high-contrast mode&lt;br /&gt;
   (override global yellow-link rule ONLY inside the tabs bar)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs a:visited{&lt;br /&gt;
  color: #0645ad !important;   /* MediaWiki blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active tab: keep it dark for readability on light background */&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{&lt;br /&gt;
  color: #222 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1593</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1593"/>
		<updated>2026-01-28T15:42:18Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1592</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1592"/>
		<updated>2026-01-28T15:34:18Z</updated>

		<summary type="html">&lt;p&gt;Steve: CSS Rebuild prior to editor toolbar issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless (STABLE BASELINE)&lt;br /&gt;
   - Includes: gadget UI, skip links, site-wide contrast coverage&lt;br /&gt;
   - Excludes: editor toolbar / WikiEditor / OOUI / Codex / editOptions / scrollbars&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Timeless: stop skin CSS shrinking the accessibility icon&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (focus-only)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: -9999px;               /* hidden until focus */&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack skip links only while focused */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (site-wide)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Global link colour in contrast mode */&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (Timeless is forceful, so be explicit) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / portlets */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless sidebar chunks (1100–1339px) */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc *,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1591</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1591"/>
		<updated>2026-01-28T15:30:08Z</updated>

		<summary type="html">&lt;p&gt;Steve: Undo revision 1590 by Steve (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1590</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1590"/>
		<updated>2026-01-28T15:27:17Z</updated>

		<summary type="html">&lt;p&gt;Steve: Undo revision 1589 by Steve (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1589</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1589"/>
		<updated>2026-01-28T15:14:52Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1588</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1588"/>
		<updated>2026-01-28T15:04:19Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1587</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1587"/>
		<updated>2026-01-28T15:03:31Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor toolbar tabs: preserve readable tab text in contrast mode */&lt;br /&gt;
body.a11y-contrast .tabs a,&lt;br /&gt;
body.a11y-contrast .tabs a:visited {&lt;br /&gt;
  color: #202020 !important;   /* or MediaWiki default blue if preferred */&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1586</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=Accessibility&amp;diff=1586"/>
		<updated>2026-01-28T15:00:06Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessibility help ==&lt;br /&gt;
&lt;br /&gt;
This wiki includes simple accessibility options from the menu screen.&lt;br /&gt;
&lt;br /&gt;
Screen readers: The toolbar is keyboard navigable and labelled for screen readers.&lt;br /&gt;
&lt;br /&gt;
== What’s remembered? ==&lt;br /&gt;
&lt;br /&gt;
The following settings are &#039;remembered&#039; on your device  - these are stored in local storage and not cookies.&lt;br /&gt;
&lt;br /&gt;
* Contrast on/off&lt;br /&gt;
* Underline of links on/off&lt;br /&gt;
* Text spacing setting&lt;br /&gt;
* Cursor type selected&lt;br /&gt;
* Reading ruler on/off&lt;br /&gt;
* Text size&lt;br /&gt;
== Keyboard use: ==&lt;br /&gt;
&lt;br /&gt;
* Esc closes the accessibility panel&lt;br /&gt;
* Tab / Shift+Tab to move between controls&lt;br /&gt;
* Enter to activate a button&lt;br /&gt;
* Reveal navigation: use on-screen arrows (or ←/→ if enabled)&lt;br /&gt;
&lt;br /&gt;
Skip links: appear at the top when you Tab (Content / Navigation / Search / Accessibility).&lt;br /&gt;
== Known limits ==&lt;br /&gt;
Some pages/skins may have rare elements not fully themed. If you report them to us will will endeavour to fix them. Thank you.&lt;br /&gt;
== Accessibility options ==&lt;br /&gt;
&lt;br /&gt;
* Text size and spacing controls change readability on the menu and overlays.&lt;br /&gt;
* Contrast toggles between standard and high-contrast (black/yellow).&lt;br /&gt;
* Two different large cursors options (white or yellow) can make the pointer easier to see.&lt;br /&gt;
* Horizontal reading ruler to guide the user on the screen.&lt;br /&gt;
* Underline links for clarity.&lt;br /&gt;
&lt;br /&gt;
Selected controls are retained between pages and site visits for the individual user.&lt;br /&gt;
=== Reset ===&lt;br /&gt;
The reset button in the accessibility gadget clears all current settings back to their default states.&lt;br /&gt;
== Access Keys ==&lt;br /&gt;
&lt;br /&gt;
The Timeless skin for MediaWiki uses the standard MediaWiki access key system, which allows for fast keyboard navigation across desktop, mobile, and tablet layouts&lt;br /&gt;
&lt;br /&gt;
The modifier key (usually Alt+Shift on Windows/Linux or Ctrl+Option on macOS) must be used in combination with the characters listed below.&lt;br /&gt;
=== Page Action &amp;amp; View Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* e - Edit the current page (or view source)&lt;br /&gt;
* t - View the talk/discussion page&lt;br /&gt;
* h - View page history&lt;br /&gt;
* c - View the main content page (if in a talk namespace)&lt;br /&gt;
* + - Add a new section/comment to a talk page&lt;br /&gt;
* m - Move (rename) the current page&lt;br /&gt;
* d - Delete the current page&lt;br /&gt;
* w - Watch or unwatch the current page&lt;br /&gt;
* p - View the printable version of the page&lt;br /&gt;
* k - View pages that link here (&amp;quot;What links here&amp;quot;) &lt;br /&gt;
=== Navigation &amp;amp; Search Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* f - Jump to the search box&lt;br /&gt;
* z - Go to the main page&lt;br /&gt;
* r - Go to Recent Changes&lt;br /&gt;
* x - Go to a random page&lt;br /&gt;
* q - Go to the special pages index &lt;br /&gt;
=== Personal &amp;amp; User Tools ===&lt;br /&gt;
&lt;br /&gt;
* . - Go to your user page&lt;br /&gt;
* y - Go to your contributions&lt;br /&gt;
* l - Go to your watchlist&lt;br /&gt;
* o - Log in&lt;br /&gt;
* o - Log out &lt;br /&gt;
=== Editing Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
* s - Save/Publish the changes you are editing&lt;br /&gt;
* p - Preview your edit&lt;br /&gt;
* v - Show changes (diff)&lt;br /&gt;
* b - Jump to the edit summary box&lt;br /&gt;
* i - Toggle the &amp;quot;minor edit&amp;quot; checkmark &lt;br /&gt;
=== How to use them ===&lt;br /&gt;
  &lt;br /&gt;
* Windows/Linux (Firefox/Chrome/Edge): Alt + Shift + [Key]&lt;br /&gt;
* macOS (Safari/Chrome/Firefox): Ctrl + Option + [Key] &lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;Note:&#039;&#039;&#039; Some browsers might require just the Alt key, or a combination of Alt and Shift.&lt;br /&gt;
&lt;br /&gt;
==Note on limitations: Editor toolbar in high-contrast mode==&lt;br /&gt;
&lt;br /&gt;
When high-contrast mode is enabled, most of the site switches to a black background with yellow text for maximum readability.&lt;br /&gt;
&lt;br /&gt;
The page editor toolbar (for example, Bold, Italic, Link, Image and related controls) uses a mixture of icons and system styling provided by MediaWiki. To avoid disrupting the editor’s behaviour or hiding important controls, these toolbar icons are not recoloured in high-contrast mode.&lt;br /&gt;
&lt;br /&gt;
In this area, text labels and tabs may retain their original colours to preserve legibility and usability. This ensures:&lt;br /&gt;
&lt;br /&gt;
editor controls remain visible and functional&lt;br /&gt;
&lt;br /&gt;
keyboard and screen-reader access is unaffected&lt;br /&gt;
&lt;br /&gt;
the editor behaves consistently across browsers&lt;br /&gt;
&lt;br /&gt;
Screen readers announce all editor controls correctly, and full keyboard access is supported.&lt;br /&gt;
&lt;br /&gt;
This approach prioritises reliability and accessibility over visual uniformity.&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1585</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1585"/>
		<updated>2026-01-28T14:39:43Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Try to target root scrolling element where supported */&lt;br /&gt;
body.a11y-contrast html{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast html::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
	<entry>
		<id>https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1584</id>
		<title>MediaWiki:Gadget-bhc-accessibility.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.bellingham-heritage.org.uk:443/index.php?title=MediaWiki:Gadget-bhc-accessibility.css&amp;diff=1584"/>
		<updated>2026-01-28T14:08:20Z</updated>

		<summary type="html">&lt;p&gt;Steve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
⚠️ Do not reorder rules below this line — contrast overrides depend on cascade order.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   BHC Accessibility Gadget – MediaWiki / Timeless&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Variables&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
:root{&lt;br /&gt;
  --a11y-bg: #111827;&lt;br /&gt;
  --a11y-border: #374151;&lt;br /&gt;
  --a11y-fg: #ffffff;&lt;br /&gt;
  --a11y-focus: #FFBF47;&lt;br /&gt;
  --a11y-link-underline: #36C; /* MediaWiki link blue */&lt;br /&gt;
  --a11y-menu-width: 340px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless: stop skin CSS shrinking the accessibility icon */&lt;br /&gt;
body.skin-timeless .a11y-toggle{&lt;br /&gt;
  font-size: 16px !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
body.skin-timeless .a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 36px !important;&lt;br /&gt;
  height: 36px !important;&lt;br /&gt;
  min-width: 36px !important;&lt;br /&gt;
  min-height: 36px !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  max-height: none !important;&lt;br /&gt;
&lt;br /&gt;
  /* If the glyph still looks small, keep this: */&lt;br /&gt;
  transform: scale(1.15) !important;&lt;br /&gt;
  transform-origin: 50% 50% !important;&lt;br /&gt;
}&lt;br /&gt;
/* Make sure fill isn’t being altered by skin rules */&lt;br /&gt;
body.skin-timeless .a11y-toggle svg path{&lt;br /&gt;
  fill: currentColor !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Skip links (appear when focused)&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.skip-link{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: 12px;&lt;br /&gt;
  top: 12px;&lt;br /&gt;
  z-index: 11000;&lt;br /&gt;
&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
&lt;br /&gt;
  background: #111827;&lt;br /&gt;
  color: #fff;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
&lt;br /&gt;
top: -9999px;               /* hidden off-screen by default */&lt;br /&gt;
transition: none;           /* no animation needed when hidden */&lt;br /&gt;
&lt;br /&gt;
  border: 2px solid var(--a11y-focus);&lt;br /&gt;
}&lt;br /&gt;
.skip-link:focus,&lt;br /&gt;
.skip-link:focus-visible{&lt;br /&gt;
  top: 12px;                /* bring into view when focused */&lt;br /&gt;
  outline: none;&lt;br /&gt;
  z-index: 11001;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast .skip-link{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stack multiple skip links neatly when tabbing through them */&lt;br /&gt;
#a11y-skip-content:focus,&lt;br /&gt;
#a11y-skip-content:focus-visible{ top: 56px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-nav:focus,&lt;br /&gt;
#a11y-skip-nav:focus-visible{ top: 100px; }&lt;br /&gt;
&lt;br /&gt;
#a11y-skip-search:focus,&lt;br /&gt;
#a11y-skip-search:focus-visible{ top: 144px; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Floating accessibility toggle&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
.a11y-toggle{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 16px;&lt;br /&gt;
  bottom: 16px;&lt;br /&gt;
  z-index: 10001;&lt;br /&gt;
&lt;br /&gt;
  width: 56px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
&lt;br /&gt;
  background: #005FCC;&lt;br /&gt;
  border: 2px solid #ffffff;&lt;br /&gt;
  color: #ffffff;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle:hover{ background:#0047A6; }&lt;br /&gt;
.a11y-toggle:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 3px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-toggle svg{&lt;br /&gt;
  width: 44px;&lt;br /&gt;
  height: 44px;&lt;br /&gt;
  fill: currentColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------------------------------------------------------&lt;br /&gt;
   Panel&lt;br /&gt;
   --------------------------------------------------------- */&lt;br /&gt;
/* Compact current-settings line (display-only) */&lt;br /&gt;
.a11y-status{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 6px 0 8px;&lt;br /&gt;
  opacity: 0.95;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-panel{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 14px;&lt;br /&gt;
  bottom: 76px;&lt;br /&gt;
  z-index: 10000;&lt;br /&gt;
&lt;br /&gt;
  width: var(--a11y-menu-width);&lt;br /&gt;
  max-width: calc(100vw - 28px);&lt;br /&gt;
&lt;br /&gt;
  background: var(--a11y-bg);&lt;br /&gt;
  border: 1px solid var(--a11y-border);&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  border-radius: 16px;&lt;br /&gt;
  padding: 12px;&lt;br /&gt;
&lt;br /&gt;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);&lt;br /&gt;
}&lt;br /&gt;
.a11y-panel[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Header */&lt;br /&gt;
.a11y-head{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-head h2{&lt;br /&gt;
  font-size: 16px;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help{&lt;br /&gt;
  width: 28px;&lt;br /&gt;
  height: 28px;&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #111827;&lt;br /&gt;
  font-weight: 900;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  display:flex;&lt;br /&gt;
  align-items:center;&lt;br /&gt;
  justify-content:center;&lt;br /&gt;
}&lt;br /&gt;
.a11y-help:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
.a11y-row{&lt;br /&gt;
  display:flex;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn{&lt;br /&gt;
  border: 1px solid #D1D5DB;&lt;br /&gt;
  background:#fff;&lt;br /&gt;
  color:#111827;&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 999px;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  font-weight: 800;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn[aria-pressed=&amp;quot;true&amp;quot;]{&lt;br /&gt;
  background:#111827;&lt;br /&gt;
  color:#fff;&lt;br /&gt;
}&lt;br /&gt;
.a11y-btn:focus-visible{&lt;br /&gt;
  outline: 3px solid var(--a11y-focus);&lt;br /&gt;
  outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.a11y-hint{&lt;br /&gt;
  font-size: 13px;&lt;br /&gt;
  color: var(--a11y-fg);&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Screen reader only */&lt;br /&gt;
.a11y-sr{&lt;br /&gt;
  position:absolute;&lt;br /&gt;
  width:1px;&lt;br /&gt;
  height:1px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
  clip:rect(0,0,0,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Feature classes&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   High contrast (black/yellow/blue)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-contrast{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
&lt;br /&gt;
  --a11y-bg: #000;&lt;br /&gt;
  --a11y-border: rgba(255,212,0,.7);&lt;br /&gt;
  --a11y-fg: #FFD400;&lt;br /&gt;
  --a11y-focus: #FFD400;&lt;br /&gt;
  --a11y-link-underline: #36C;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast a,&lt;br /&gt;
body.a11y-contrast a:visited{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings */&lt;br /&gt;
body.a11y-contrast h1,&lt;br /&gt;
body.a11y-contrast h2,&lt;br /&gt;
body.a11y-contrast h3,&lt;br /&gt;
body.a11y-contrast h4,&lt;br /&gt;
body.a11y-contrast h5,&lt;br /&gt;
body.a11y-contrast h6{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main containers (Timeless needs explicit coverage) */&lt;br /&gt;
body.a11y-contrast #mw-wrapper,&lt;br /&gt;
body.a11y-contrast #mw-content-container,&lt;br /&gt;
body.a11y-contrast #mw-content,&lt;br /&gt;
body.a11y-contrast .mw-body,&lt;br /&gt;
body.a11y-contrast .mw-parser-output{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebars / tools */&lt;br /&gt;
body.a11y-contrast #site-navigation,&lt;br /&gt;
body.a11y-contrast #site-tools,&lt;br /&gt;
body.a11y-contrast #page-tools,&lt;br /&gt;
body.a11y-contrast .mw-portlet,&lt;br /&gt;
body.a11y-contrast .mw-portlet-body{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: ensure descendants don’t stay black on black */&lt;br /&gt;
body.a11y-contrast .mw-portlet-body *{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure links inside toolboxes */&lt;br /&gt;
body.a11y-contrast #site-navigation a,&lt;br /&gt;
body.a11y-contrast #site-tools a,&lt;br /&gt;
body.a11y-contrast #page-tools a{&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* A11y UI in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-panel,&lt;br /&gt;
body.a11y-contrast .a11y-toggle{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .a11y-btn{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: “?” help button in contrast */&lt;br /&gt;
body.a11y-contrast .a11y-help{&lt;br /&gt;
  background:#000 !important;&lt;br /&gt;
  color:#FFD400 !important;&lt;br /&gt;
  border:2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Underline links&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-underline-links a{&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--a11y-link-underline);&lt;br /&gt;
  padding-bottom: 0.05em;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Text spacing&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-spacing-plus{&lt;br /&gt;
  line-height: 1.8 !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  word-spacing: 0.16em !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-spacing-minus{&lt;br /&gt;
  line-height: 1.45 !important;&lt;br /&gt;
  letter-spacing: 0.01em !important;&lt;br /&gt;
  word-spacing: 0.02em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Large cursors (wiki-hosted)&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
body.a11y-cursor-white,&lt;br /&gt;
body.a11y-cursor-white *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-white-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-cursor-yellow,&lt;br /&gt;
body.a11y-cursor-yellow *{&lt;br /&gt;
  cursor: url(&amp;quot;/index.php/Special:FilePath/large-arrow-yellow-64.png&amp;quot;) 8 8, auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------&lt;br /&gt;
   Reading ruler&lt;br /&gt;
   ------------------------------ */&lt;br /&gt;
#a11y-ruler{&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  height: 22px;&lt;br /&gt;
  width: 100vw;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    to bottom,&lt;br /&gt;
    #FFD400 0%,&lt;br /&gt;
    #FFD400 40%,&lt;br /&gt;
    #000000 40%,&lt;br /&gt;
    #000000 60%,&lt;br /&gt;
    #FFD400 60%,&lt;br /&gt;
    #FFD400 100%&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
#a11y-ruler[hidden]{ display:none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   MediaWiki: extra HIGH CONTRAST coverage (Timeless + Vector)&lt;br /&gt;
   Add at END of Gadget CSS so it wins.&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* TOC */&lt;br /&gt;
body.a11y-contrast #toc,&lt;br /&gt;
body.a11y-contrast .toc,&lt;br /&gt;
body.a11y-contrast #toc * ,&lt;br /&gt;
body.a11y-contrast .toc *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category links area */&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks,&lt;br /&gt;
body.a11y-contrast .mw-normal-catlinks *,&lt;br /&gt;
body.a11y-contrast .catlinks,&lt;br /&gt;
body.a11y-contrast .catlinks *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Wikitables */&lt;br /&gt;
body.a11y-contrast table,&lt;br /&gt;
body.a11y-contrast table *,&lt;br /&gt;
body.a11y-contrast .wikitable,&lt;br /&gt;
body.a11y-contrast .wikitable *,&lt;br /&gt;
body.a11y-contrast .mw-datatable,&lt;br /&gt;
body.a11y-contrast .mw-datatable *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .wikitable th,&lt;br /&gt;
body.a11y-contrast table th{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Figures/captions */&lt;br /&gt;
body.a11y-contrast figure,&lt;br /&gt;
body.a11y-contrast figure *,&lt;br /&gt;
body.a11y-contrast .mw-halign-center,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre,&lt;br /&gt;
body.a11y-contrast .mw-halign-center *,&lt;br /&gt;
body.a11y-contrast .mw-halign-centre *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Thumb frames / image captions */&lt;br /&gt;
body.a11y-contrast .thumb,&lt;br /&gt;
body.a11y-contrast .thumb *,&lt;br /&gt;
body.a11y-contrast .thumbinner,&lt;br /&gt;
body.a11y-contrast .thumbinner *,&lt;br /&gt;
body.a11y-contrast .thumbcaption,&lt;br /&gt;
body.a11y-contrast .thumbcaption *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code-like blocks */&lt;br /&gt;
body.a11y-contrast pre,&lt;br /&gt;
body.a11y-contrast pre *,&lt;br /&gt;
body.a11y-contrast code,&lt;br /&gt;
body.a11y-contrast code *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Safety: ensure visited links don’t revert */&lt;br /&gt;
body.a11y-contrast a:visited,&lt;br /&gt;
body.a11y-contrast .mw-parser-output a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Footer (Vector + Timeless)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast #mw-footer,&lt;br /&gt;
body.a11y-contrast #mw-footer-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-top: 10px solid #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #footer-list,&lt;br /&gt;
body.a11y-contrast #footer-list *,&lt;br /&gt;
body.a11y-contrast #footer-icons,&lt;br /&gt;
body.a11y-contrast #footer-icons *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer a,&lt;br /&gt;
body.a11y-contrast #mw-footer a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  text-decoration-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-footer .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255, 212, 0, 0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #mw-footer hr{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   Underline links: ensure TOC wins&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-underline-links #toc a,&lt;br /&gt;
body.a11y-underline-links .toc a{&lt;br /&gt;
  border-bottom-color: var(--a11y-link-underline) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-underline-links.a11y-contrast #toc a,&lt;br /&gt;
body.a11y-underline-links.a11y-contrast .toc a{&lt;br /&gt;
  border-bottom-color: #36C !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Header + search + user tools&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Base header + content containers */&lt;br /&gt;
body.a11y-contrast #mw-header-container,&lt;br /&gt;
body.a11y-contrast #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header containers */&lt;br /&gt;
body.a11y-contrast #mw-header,&lt;br /&gt;
body.a11y-contrast #mw-header-container .ts-inner,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-body,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet,&lt;br /&gt;
body.a11y-contrast #mw-header-container .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text #p-banner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-banner.mw-wiki-title,&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-logo-text .mw-wiki-title{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strapline */&lt;br /&gt;
body.a11y-contrast #bhc-strapline,&lt;br /&gt;
body.a11y-contrast .bhc-strapline{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box wrappers */&lt;br /&gt;
body.a11y-contrast #p-search,&lt;br /&gt;
body.a11y-contrast #simpleSearch{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search input (generic) */&lt;br /&gt;
body.a11y-contrast #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search #searchInput,&lt;br /&gt;
body.a11y-contrast #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important; /* Safari/WebKit */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #searchInput::placeholder,&lt;br /&gt;
body.a11y-contrast #simpleSearch input[type=&amp;quot;search&amp;quot;]::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless-specific: beat background:#fff !important */&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
body.a11y-contrast.skin-timeless #p-search #searchInput{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search submit button */&lt;br /&gt;
body.a11y-contrast input#mw-searchButton,&lt;br /&gt;
body.a11y-contrast input#searchButton,&lt;br /&gt;
body.a11y-contrast #mw-searchButton{&lt;br /&gt;
  background-color: #000 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Suggestions dropdown */&lt;br /&gt;
body.a11y-contrast .suggestions,&lt;br /&gt;
body.a11y-contrast .suggestions-results,&lt;br /&gt;
body.a11y-contrast .suggestions-special,&lt;br /&gt;
body.a11y-contrast .suggestions a,&lt;br /&gt;
body.a11y-contrast .suggestions-result,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest,&lt;br /&gt;
body.a11y-contrast .mw-searchSuggest *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions a:visited{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast .suggestions-result-current,&lt;br /&gt;
body.a11y-contrast .suggestions a:hover{&lt;br /&gt;
  background: #111 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector search tabs area */&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs,&lt;br /&gt;
body.a11y-contrast #mw-search-profile-tabs *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Personal tools (reduce border clutter)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Force yellow text to beat Timeless dark text */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal a,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h2,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal h3,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet *,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless .mw-portlet-body *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Force black background to beat Timeless white dropdown */&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .dropdown,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal .mw-portlet-body,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner,&lt;br /&gt;
body.a11y-contrast.skin-timeless #personal-inner *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Keep ONE border only (container), remove nested borders */&lt;br /&gt;
body.a11y-contrast #personal .dropdown,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown,&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #personal .mw-portlet-body *,&lt;br /&gt;
body.a11y-contrast #personal-inner.dropdown *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 0 !important;&lt;br /&gt;
  outline-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Leave links to global link rules */&lt;br /&gt;
body.a11y-contrast #personal a,&lt;br /&gt;
body.a11y-contrast #personal a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Timeless containers that fight back&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Timeless forces grey content container */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-content-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless header container sometimes white at breakpoints */&lt;br /&gt;
body.a11y-contrast.skin-timeless #mw-header-container{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Timeless related-navigation sidebar chunk at ≥1340px */&lt;br /&gt;
@media screen and (min-width: 1340px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless&lt;br /&gt;
  #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mw-content border colour in high-contrast mode */&lt;br /&gt;
body.a11y-contrast #mw-content{&lt;br /&gt;
  border-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: textarea and editOptions&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* Edit textarea */&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast textarea.mw-editfont-monospace{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  caret-color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid #FFD400 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast #wpTextbox1::placeholder{&lt;br /&gt;
  color: rgba(255,212,0,0.75) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* editOptions bar */&lt;br /&gt;
body.a11y-contrast .editOptions,&lt;br /&gt;
body.a11y-contrast .editOptions *{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don’t override links here — let your global contrast link styling apply */&lt;br /&gt;
body.a11y-contrast .editOptions a,&lt;br /&gt;
body.a11y-contrast .editOptions a:visited{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border-color: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons + inputs inside editOptions */&lt;br /&gt;
body.a11y-contrast .editOptions button,&lt;br /&gt;
body.a11y-contrast .editOptions input,&lt;br /&gt;
body.a11y-contrast .editOptions select,&lt;br /&gt;
body.a11y-contrast .editOptions textarea,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  -webkit-text-fill-color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Focus visibility */&lt;br /&gt;
body.a11y-contrast .editOptions button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions input:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions select:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .mw-ui-button:focus-visible,&lt;br /&gt;
body.a11y-contrast .editOptions .oo-ui-buttonElement-button:focus-visible{&lt;br /&gt;
  outline: 3px solid #FFD400 !important;&lt;br /&gt;
  outline-offset: 2px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EDIT MODE: Codex (CDX) message banners (e.g. interface warning)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
body.a11y-contrast .cdx-message,&lt;br /&gt;
body.a11y-contrast .cdx-message--block,&lt;br /&gt;
body.a11y-contrast .cdx-message--error{&lt;br /&gt;
  background: #000 !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  border: 2px solid rgba(255,212,0,.85) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* Inner content */&lt;br /&gt;
body.a11y-contrast .cdx-message__content,&lt;br /&gt;
body.a11y-contrast .cdx-message__content *{&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Icon */&lt;br /&gt;
body.a11y-contrast .cdx-message__icon,&lt;br /&gt;
body.a11y-contrast .cdx-message__icon *{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
  fill: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
/* Emphasis */&lt;br /&gt;
body.a11y-contrast .cdx-message strong{&lt;br /&gt;
  color: #FFD400 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX: Timeless sidebar chunks stay light at 1100–1339px.&lt;br /&gt;
   Force black/yellow in high-contrast mode only. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* If any text inside is still dark, force it yellow */&lt;br /&gt;
  body.a11y-contrast #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* FIX (stronger): Timeless sidebar chunks at 1100–1339px still light.&lt;br /&gt;
   Must beat the skin rule in the same breakpoint. */&lt;br /&gt;
@media screen and (min-width: 1100px) and (max-width: 1339px){&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk{&lt;br /&gt;
    background: #000 !important;&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
    border-color: rgba(255,212,0,.85) !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-site-navigation .sidebar-chunk *,&lt;br /&gt;
  body.a11y-contrast.skin-timeless #mw-related-navigation .sidebar-chunk *{&lt;br /&gt;
    color: #FFD400 !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   EMERGENCY: ensure the accessibility toggle is visible&lt;br /&gt;
   (keep at VERY END)&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
#a11y-toggle.a11y-toggle{&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  right: 16px !important;&lt;br /&gt;
  bottom: 16px !important;&lt;br /&gt;
&lt;br /&gt;
  display: inline-flex !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
&lt;br /&gt;
  z-index: 2147483647 !important;&lt;br /&gt;
  pointer-events: auto !important;&lt;br /&gt;
&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
#a11y-toggle.a11y-toggle svg{&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  visibility: visible !important;&lt;br /&gt;
  opacity: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =========================================================&lt;br /&gt;
   HIGH CONTRAST: Scrollbars (page + editor)&lt;br /&gt;
   Supports: Chrome/Safari/Opera (WebKit) + Firefox&lt;br /&gt;
   Scope: ONLY when body.a11y-contrast is active&lt;br /&gt;
   ========================================================= */&lt;br /&gt;
&lt;br /&gt;
/* ---------- Firefox (Gecko) ---------- */&lt;br /&gt;
body.a11y-contrast,&lt;br /&gt;
body.a11y-contrast *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;     /* thumb / track */&lt;br /&gt;
  scrollbar-width: auto;            /* or &#039;thin&#039; if you prefer */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ---------- Chrome / Safari / Opera (WebKit/Blink) ---------- */&lt;br /&gt;
/* Page scrollbars */&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px; /* horizontal */&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;           /* creates separation from track */&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;              /* slightly lighter yellow on hover */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Editor + common scrollable containers (safety net) */&lt;br /&gt;
body.a11y-contrast textarea,&lt;br /&gt;
body.a11y-contrast #wpTextbox1,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui *{&lt;br /&gt;
  scrollbar-color: #FFD400 #000;    /* Firefox for these elements too */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar{&lt;br /&gt;
  width: 14px;&lt;br /&gt;
  height: 14px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-track,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-track{&lt;br /&gt;
  background: #000;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb{&lt;br /&gt;
  background: #FFD400;&lt;br /&gt;
  border: 3px solid #000;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
}&lt;br /&gt;
body.a11y-contrast textarea::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast #wpTextbox1::-webkit-scrollbar-thumb:hover,&lt;br /&gt;
body.a11y-contrast .wikiEditor-ui::-webkit-scrollbar-thumb:hover{&lt;br /&gt;
  background: #FFE066;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Steve</name></author>
	</entry>
</feed>