BotGentz — Manifest V2 build (for browsers below Chrome 120)
============================================================

WHY THIS BUILD
--------------
Your browser runs Tampermonkey *Legacy*, which is Manifest V2, and it is
below Chrome 120. The Manifest V3 build can't work there because it relies on
chrome.userScripts, an API that only exists in Chrome 120+. This build is
Manifest V2 and uses the same technique Tampermonkey Legacy does.

HOW THE CSP PROBLEM IS SOLVED HERE
----------------------------------
The earlier failure was the page's Content-Security-Policy blocking the
injected <script>. In MV2 the background page can edit response headers, so
background.js removes the Content-Security-Policy header on pages where one of
your enabled scripts matches (via chrome.webRequest). With the header gone,
injector.js injects into the page's MAIN world and the code runs — createUI()
and everything else.

FILES
-----
- manifest.json  : Manifest V2, webRequest + webRequestBlocking, browser_action.
- background.js  : strips CSP for matching pages, GM_xmlhttpRequest proxy,
                   GM_openInTab, badge, dashboard opener.
- injector.js    : GM shim + bridge relay + MAIN-world injection.
- popup.js       : uses chrome.browserAction (MV2).
- popup.html / dashboard.html / dashboard.js : unchanged.
- icons/         : placeholder icons — replace with your own if you have them.

INSTALL
-------
1. Go to your browser's extensions page and enable Developer mode.
2. "Load unpacked" and select this folder.
3. No extra toggle is needed (unlike the MV3 build).

NOTES / LIMITATIONS
-------------------
- CSP is only removed on pages where an enabled script actually matches, and
  never on sites you've excluded in the popup.
- Header stripping can't remove a CSP delivered via an in-page <meta> tag
  (rare). Tampermonkey Legacy has the same limitation.
- Scripts run in the page's MAIN world, matching Tampermonkey's @grant none
  default, so they can read the page's own variables.
- This build is for MV2 browsers. On modern Chrome (which removed MV2), use the
  Manifest V3 build instead.
