GLB Dark Mode

Dark theme CSS override for GoalLineBlitz

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         GLB Dark Mode
// @namespace    TruthHammer
// @version      1.0.3
// @description  Dark theme CSS override for GoalLineBlitz
// @match        https://glb.warriorgeneral.com/*
// @match        http://glb.warriorgeneral.com/*
// @run-at       document-end
// @grant        GM_addStyle
// @license      MIT
// ==/UserScript==

(function () {
  'use strict';

  const css = `
    :root {
      color-scheme: dark;
      --glb-bg: #0f1318;
      --glb-surface: #171d24;
      --glb-surface-2: #1d252e;
      --glb-surface-3: #26313d;
      --glb-line: #344251;
      --glb-line-soft: #283240;
      --glb-text: #d7e0ea;
      --glb-text-dim: #aeb9c6;
      --glb-accent: #e07a53;
      --glb-accent-2: #ffb28e;
      --glb-link: #8bc5ff;
      --glb-link-hover: #b3dcff;
      --glb-good-row: #182028;
      --glb-alt-row: #141b22;
      --glb-header-row: #542414;
      --glb-toolbar: #222b35;
    }

    html, body {
      background: var(--glb-bg) !important;
      color: var(--glb-text) !important;
    }

    body {
      text-shadow: none !important;
    }

    a, a:visited {
      color: var(--glb-link) !important;
    }

    a:hover {
      color: var(--glb-link-hover) !important;
    }

    h1, h2, h3, h4,
    .small_head, .medium_head, .big_head,
    .fieldheading {
      color: var(--glb-accent-2) !important;
      text-shadow: none !important;
    }

    .subhead, .cpu {
      color: var(--glb-text-dim) !important;
    }

    #body_container {
      background: #121821 !important;
      color: var(--glb-text) !important;
    }

    #body_shadow,
    #body_shadow_right {
      display: none !important;
      background-image: none !important;
    }

    #header {
      border-bottom-color: #7a3b26 !important;
    }

    #toolbar {
      color: #eef4fb !important;
    }

    #toolbar a,
    #toolbar a:visited,
    #toolbar .toolbar_item,
    #toolbar .toolbar_item:visited {
      color: #e9f1fa !important;
      text-decoration: none !important;
    }

    #toolbar a:hover,
    #toolbar .toolbar_item:hover {
      color: #ffffff !important;
      background: rgba(255,255,255,0.06) !important;
    }

    #content {
      background: #111821 !important;
      background-image: none !important;
      color: var(--glb-text) !important;
    }

    #footer div {
      color: var(--glb-text-dim) !important;
    }

    #season {
      color: #eaf2fb !important;
      text-shadow: none !important;
    }

    /* Content containers and panels */
    .content_container,
    .content_container_sub,
    .content_container_tabs_sub,
    .content_container_sp,
    .content,
    .content_header,
    .content_header *,
    .nonalternating_color,
    .nonalternating_color2,
    .alternating_color1,
    .alternating_color2,
    .sub_alternating_color1 {
      color: var(--glb-text) !important;
    }

    .content_container,
    .content_container_sub,
    .content_container_tabs_sub,
    .content_container_sp {
      background: var(--glb-surface) !important;
      background-image: none !important;
      border: 1px solid var(--glb-line-soft) !important;
      border-radius: 4px !important;
    }

    .content_header {
      background: var(--glb-surface-2) !important;
      background-image: none !important;
      border-bottom: 1px solid var(--glb-line) !important;
    }

    .subhead_link_bar {
      background: var(--glb-surface-2) !important;
      background-image: none !important;
      border-top: 1px solid var(--glb-line-soft) !important;
      border-bottom: 1px solid var(--glb-line) !important;
    }

    .subhead_link_bar a,
    .subhead_link_bar a:visited {
      background: #222c37 !important;
      background-image: none !important;
      color: #eef4fb !important;
      border: 1px solid var(--glb-line) !important;
      border-bottom-color: #425263 !important;
      text-shadow: none !important;
    }

    .subhead_link_bar a:hover {
      background: #2b3642 !important;
      color: #ffffff !important;
      border-color: #4a5c6f !important;
    }

    /* Tabs / subtabs */
    .tabs, #tabs {
      background: transparent !important;
    }

    .tab_base,
    .tab_base div {
      background: var(--glb-surface-2) !important;
      background-image: none !important;
      color: var(--glb-text) !important;
      border-color: var(--glb-line) !important;
    }

    .tab_on, .tab_off,
    .subtab_on, .subtab_off {
      background-image: none !important;
    }

    .tab_on {
      background: var(--glb-surface-3) !important;
      border-bottom: 2px solid var(--glb-accent) !important;
    }

    .tab_off {
      background: var(--glb-surface) !important;
    }

    .tab a, .tab a:visited,
    .tab_on a, .tab_on a:hover, .tab_on a:visited,
    .tab_off a, .tab_off a:visited,
    .subtab_on a, .subtab_on a:visited,
    .subtab_off a, .subtab_off a:visited {
      color: var(--glb-text) !important;
      text-shadow: none !important;
    }

    .tab_off a:hover,
    .subtab_off:hover {
      background: var(--glb-surface-2) !important;
      color: #fff !important;
    }

    /* Generic tab-button rows (e.g. day selector buttons) */
    .tabs .tab {
      background: var(--glb-surface) !important;
      background-image: none !important;
      border: 1px solid var(--glb-line) !important;
      border-radius: 4px !important;
      margin: 0 2px 2px 0 !important;
      text-align: center !important;
    }

    .tabs .tab a,
    .tabs .tab a:visited {
      display: block !important;
      width: 100% !important;
      box-sizing: border-box !important;
      background: transparent !important;
      color: var(--glb-text) !important;
      text-decoration: none !important;
      text-shadow: none !important;
      text-align: center !important;
      padding: 2px 6px !important;
    }

    .tabs .tab:hover,
    .tabs .tab a:hover {
      background: var(--glb-surface-2) !important;
      color: #ffffff !important;
    }

    .tabs .selected_tab {
      background: var(--glb-surface-3) !important;
      border-color: #d9e4ef !important;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7) !important;
    }

    .tabs .selected_tab a,
    .tabs .selected_tab a:visited,
    .tabs .selected_tab a:hover {
      color: #ffffff !important;
    }

    .subtab_on {
      background: var(--glb-surface-3) !important;
      border: 1px solid var(--glb-line) !important;
    }

    .subtab_off {
      background: var(--glb-surface) !important;
      border: 1px solid transparent !important;
    }

    /* Generic table styling */
    table {
      color: var(--glb-text) !important;
      background-color: transparent !important;
    }

    td {
      color: var(--glb-text) !important;
      border-color: var(--glb-line-soft) !important;
      background-image: none !important;
    }

    th {
      color: var(--glb-accent-2) !important;
      border-color: #6f311f !important;
      background: linear-gradient(180deg, #67301d 0%, #4c2215 100%) !important;
      text-shadow: none !important;
    }

    th a, th a:visited {
      color: #ffd2bf !important;
      background: transparent !important;
      text-decoration: none !important;
    }

    th.sortable,
    th.sortable-text,
    th.sortable-date,
    th.sortable-keep,
    th.sortable-date-dmy,
    th.sortable-numeric,
    th.sortable-currency,
    th.sortable-sortByTwelveHourTimestamp,
    th.sortable-sortIPAddress,
    th.sortable-sortEnglishLonghandDateFormat,
    th.sortable-sortScientificNotation,
    th.sortable-sortImage,
    th.sortable-sortFileSize,
    th.sortable-sortAlphaNumeric,
    th.sortable-sortEnglishDateTime,
    th.sortable-sortProgressbar {
      background: linear-gradient(180deg, #73351f 0%, #562616 100%) !important;
      background-image: none !important;
    }

    th.forwardSort,
    th.reverseSort {
      background: linear-gradient(180deg, #8a4127 0%, #6a2f1b 100%) !important;
      background-image: none !important;
    }

    table thead th.forwardSort a,
    table thead th.reverseSort a {
      color: #fff !important;
    }

    /* GLB row helper classes */
    tr.nonalternating_color td, tr.nonalternating_color th,
    .nonalternating_color {
      background: var(--glb-good-row) !important;
      background-image: none !important;
    }

    tr.nonalternating_color2 td, tr.nonalternating_color2 th,
    .nonalternating_color2 {
      background: var(--glb-surface-2) !important;
      background-image: none !important;
    }

    tr.alternating_color1 td,
    .alternating_color1,
    tr.sub_alternating_color1 td,
    .sub_alternating_color1 {
      background: var(--glb-good-row) !important;
      background-image: none !important;
    }

    tr.alternating_color2 td,
    .alternating_color2 {
      background: var(--glb-alt-row) !important;
      background-image: none !important;
    }

    table.rowstyle-alternating_color2 tbody tr:nth-child(odd) td {
      background: var(--glb-good-row) !important;
    }

    table.rowstyle-alternating_color2 tbody tr:nth-child(even) td {
      background: var(--glb-alt-row) !important;
    }

    table.rowstyle-alternating_color2 tbody tr:hover td {
      background: #1f2a35 !important;
    }

    /* Vital/profile rows */
    td.vital_head,
    .player_vital_head,
    .simple_player_vital_head {
      color: var(--glb-accent-2) !important;
      background: var(--glb-surface-2) !important;
      background-image: none !important;
      font-weight: bold !important;
    }

    td.vital_data,
    .player_vital_bar {
      color: var(--glb-text) !important;
      background: var(--glb-surface) !important;
      background-image: none !important;
    }

    /* Home page modules */
    #my_account,
    #my_note,
    #rings,
    #trophies,
    #trophies_short,
    #top_trophies,
    #trophy_left,
    #trophy_right {
      background-color: var(--glb-surface) !important;
      color: var(--glb-text) !important;
      border-color: var(--glb-line) !important;
      background-image: none !important;
    }

    #top_trophies {
      background: var(--glb-surface-2) !important;
      background-image: none !important;
    }

    #trophy_left,
    #trophy_right {
      display: none !important;
    }

    #my_note, #note_content {
      background: #11171e !important;
      color: var(--glb-text) !important;
      border-color: var(--glb-line) !important;
    }

    /* Logged-out home page hero/top bar */
    #top_bar {
      background: #111821 !important;
      background-image: none !important;
      color: var(--glb-text) !important;
      border: 1px solid var(--glb-line-soft) !important;
    }

    #top_bar h2,
    #top_bar p,
    #top_bar #p2 {
      color: var(--glb-text) !important;
      text-shadow: none !important;
    }

    #top_bar .button,
    #top_bar .button:visited {
      background: #1a232d !important;
      background-image: none !important;
      border: 1px solid var(--glb-line) !important;
      color: #eef4fb !important;
    }

    #top_bar .button span {
      color: #eef4fb !important;
      text-shadow: none !important;
    }

    /* Home page team card mode */
    .team_data {
      background: rgba(20, 27, 34, 0.9) !important;
      border: 1px solid var(--glb-line-soft) !important;
      border-radius: 4px !important;
      padding: 6px 8px !important;
      color: var(--glb-text) !important;
    }

    .team_data .team_league,
    .team_data .team_cash,
    .team_data .team_next_game,
    .team_data .team_last_game {
      color: var(--glb-text) !important;
    }

    .team_data b {
      color: var(--glb-accent-2) !important;
    }

    /* Leagues page: darken space between league cards */
    #america_map {
      background: #111821 !important;
      background-image: none !important;
    }

    #america_map .country {
      background: #111821 !important;
      background-image: none !important;
    }

    #america_map #full {
      background: #111821 !important;
      background-image: none !important;
      margin-left: 0 !important;
      padding: 0 10px !important;
      box-sizing: border-box !important;
    }

    #america_map .leagues.content_container {
      background: #1d2834 !important;
      background-image: none !important;
      border-color: var(--glb-line-soft) !important;
    }

    #america_map .leagues_content {
      background: #18222d !important;
      background-image: none !important;
    }

    /* Player page: current stats panel */
    #player_current_stats,
    #player_current_stats_table {
      background: var(--glb-surface-2) !important;
      border: 1px solid var(--glb-line) !important;
      color: var(--glb-text) !important;
    }

    #player_current_stats_table td.current_stats_head {
      background: #25303b !important;
      color: #eef4fb !important;
      border-color: var(--glb-line-soft) !important;
      text-shadow: none !important;
    }

    #player_current_stats_table td.current_stats_value,
    #player_current_stats_table td.current_stats_fame {
      background: #1a232d !important;
      color: var(--glb-text) !important;
      border-color: var(--glb-line-soft) !important;
    }

    #player_current_stats_table .current_player_value {
      color: var(--glb-text-dim) !important;
    }

    /* Forum: sticky thread rows */
    tr.sticky_thread td,
    tr.sticky_thread.thread td {
      background: #2a3746 !important;
      color: var(--glb-text) !important;
      border-color: #4a5c6f !important;
    }

    tr.sticky_thread .thread_title a,
    tr.sticky_thread .thread_title a:visited,
    tr.sticky_thread .last_post a,
    tr.sticky_thread .last_post a:visited {
      color: #d8ebff !important;
    }

    tr.sticky_thread .thread_starter,
    tr.sticky_thread .last_post_user,
    tr.sticky_thread .post_count {
      color: var(--glb-text-dim) !important;
    }

    tr.sticky_thread .sticky {
      color: #ffd2bf !important;
    }

    /* Inbox: sticky PM rows */
    #messages tr.sticky_pm td {
      background: #2a3746 !important;
      color: var(--glb-text) !important;
      border-color: #4a5c6f !important;
    }

    #messages tr.sticky_pm .from a,
    #messages tr.sticky_pm .from a:visited,
    #messages tr.sticky_pm .subject a,
    #messages tr.sticky_pm .subject a:visited {
      color: #d8ebff !important;
    }

    #messages tr.sticky_pm .date_sent {
      color: var(--glb-text-dim) !important;
    }

    /* Forum: expanded sub-forum spacer column */
    tr[id^="row_of_"] td.sub_filler {
      background: #111821 !important;
      background-image: none !important;
      border: 0 !important;
    }

    tr[id^="row_of_"] > td[colspan] {
      background: #111821 !important;
      background-image: none !important;
    }

    /* Forum editor icon buttons (B/I/U/Smiley) */
    #edit_icons .edit_icon,
    #edit_icons .edit_icon:visited {
      display: inline-block !important;
      background: #1a232d !important;
      background-image: none !important;
      color: var(--glb-text) !important;
      border: 1px solid var(--glb-line) !important;
      border-radius: 3px !important;
      text-decoration: none !important;
    }

    #edit_icons .edit_icon:hover {
      background: #25303b !important;
      color: #ffffff !important;
      border-color: #4a5c6f !important;
    }

    #edit_icons .edit_icon:active {
      background: #141c24 !important;
    }

    /* Forum post quote blocks */
    .post_content .quote,
    .post_content_inner .quote {
      display: block !important;
      background: #1a232d !important;
      border: 1px solid var(--glb-line) !important;
      border-left: 3px solid #4a5c6f !important;
      color: var(--glb-text) !important;
      padding: 6px 8px !important;
      margin: 4px 0 !important;
      text-shadow: none !important;
    }

    .post_content .quote a,
    .post_content .quote a:visited,
    .post_content_inner .quote a,
    .post_content_inner .quote a:visited {
      color: #d8ebff !important;
    }

    /* Attribute editor panels */
    .attribute_container {
      background: #1a232d !important;
      background-image: none !important;
      border: 1px solid var(--glb-line-soft) !important;
      color: var(--glb-text) !important;
    }

    .attribute_container .attribute_name,
    .attribute_container .attribute_value,
    .attribute_container .attribute_modifier {
      color: var(--glb-text) !important;
      text-shadow: none !important;
    }

    .attribute_container .attribute_name {
      background: #202a35 !important;
      background-image: none !important;
    }

    .attribute_container .attribute_value {
      color: #eef4fb !important;
    }

    .attribute_container .attribute_modifier {
      color: var(--glb-text-dim) !important;
    }

    /* Equipment page: item card content */
    #page_equipment .equipment_container,
    #all_equipment .equipment_container,
    .equipment_container {
      background: #1a232d !important;
      background-color: #1a232d !important;
      border-color: var(--glb-line-soft) !important;
    }

    #page_equipment .content_container_equipped,
    #all_equipment .content_container_equipped,
    .equipment.content_container_equipped,
    .content_container_equipped {
      background: #1a232d !important;
      background-color: #1a232d !important;
      background-image: none !important;
      border-top: 1px solid var(--glb-line-soft) !important;
      border-bottom: 1px solid var(--glb-line-soft) !important;
    }

    #page_equipment .equipment_content,
    #all_equipment .equipment_content,
    .equipment_content {
      background: #1a232d !important;
      background-color: #1a232d !important;
      background-image: none !important;
      color: var(--glb-text) !important;
    }

    /* Scouting page: formation/position tabs */
    #scouting_data .tab,
    #scout_run .tab,
    #scout_pass .tab,
    #run_template .tab,
    #pass_template .tab {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: #1a232d !important;
      background-image: none !important;
      border: 1px solid var(--glb-line) !important;
      border-radius: 3px !important;
      margin: 0 4px 4px 0 !important;
      min-height: 28px !important;
    }

    #scouting_data .tab a,
    #scouting_data .tab a:visited,
    #scout_run .tab a,
    #scout_run .tab a:visited,
    #scout_pass .tab a,
    #scout_pass .tab a:visited,
    #run_template .tab a,
    #run_template .tab a:visited,
    #pass_template .tab a,
    #pass_template .tab a:visited {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      background: transparent !important;
      background-image: none !important;
      color: var(--glb-text) !important;
      text-shadow: none !important;
      text-decoration: none !important;
      white-space: nowrap !important;
      padding: 0 6px !important;
      line-height: 1 !important;
      text-align: center !important;
    }

    #scouting_data .tab:hover,
    #scout_run .tab:hover,
    #scout_pass .tab:hover,
    #run_template .tab:hover,
    #pass_template .tab:hover,
    #scouting_data .tab a:hover,
    #scout_run .tab a:hover,
    #scout_pass .tab a:hover,
    #run_template .tab a:hover,
    #pass_template .tab a:hover {
      background: #25303b !important;
      color: #ffffff !important;
      border-color: #4a5c6f !important;
    }

    /* Player equipment page: attribute stats table */
    tr.stats_top_row td,
    tr.stats_bottom_row td {
      background: #1a232d !important;
      background-image: none !important;
      border-top: 1px solid #2f3d4c !important;
      border-bottom: 1px solid #2f3d4c !important;
    }

    td.stat_head,
    td.stat_value,
    td.stat_value_boosted {
      background: #1a232d !important;
      background-image: none !important;
      text-shadow: none !important;
      border-left: 0 !important;
      border-right: 0 !important;
      box-shadow: none !important;
      border-radius: 0 !important;
      -webkit-border-radius: 0 !important;
      -moz-border-radius: 0 !important;
      outline: 0 !important;
      text-align: left !important;
      white-space: nowrap !important;
    }

    td.stat_head {
      color: #c9d8e8 !important;
      padding-right: 2px !important;
    }

    td.stat_value {
      color: var(--glb-text) !important;
      padding-left: 2px !important;
    }

    td.stat_value_boosted {
      color: #d8ebff !important;
      padding-left: 2px !important;
    }

    td.stat_divider {
      width: 6px !important;
      min-width: 6px !important;
      padding: 0 !important;
      font-size: 0 !important;
      line-height: 0 !important;
      background: #233140 !important;
      background-image: none !important;
      border-left: 1px solid #3a4a5b !important;
      border-right: 1px solid #1b2632 !important;
      box-shadow: none !important;
      border-radius: 0 !important;
      -webkit-border-radius: 0 !important;
      -moz-border-radius: 0 !important;
    }

    .tog {
      background: #5c2a19 !important;
      color: #ffd7c6 !important;
    }

    /* Forms */
    input, select, textarea, button {
      background: #131a22 !important;
      color: var(--glb-text) !important;
      border: 1px solid var(--glb-line) !important;
      box-shadow: none !important;
    }

    input[type="submit"], input[type="button"], button {
      background: linear-gradient(180deg, #2b3642 0%, #1e2731 100%) !important;
      border-color: var(--glb-line) !important;
      color: #eef4fb !important;
    }

    input[type="submit"]:hover, input[type="button"]:hover, button:hover {
      background: linear-gradient(180deg, #344252 0%, #24303c 100%) !important;
    }

    /* Misc */
    hr {
      border-color: var(--glb-line) !important;
    }

    .open, .closed {
      background-color: transparent !important;
    }

    /* Optional: TruthHammer DLC script UI (only applies if installed) */
    #dlc_v2_controls {
      background: var(--glb-surface) !important;
      border-color: var(--glb-line) !important;
      color: var(--glb-text) !important;
    }

    #dlc_v2_controls .dlc-hint,
    #dlc_v2_controls .dlc-progress-text {
      color: var(--glb-text-dim) !important;
      opacity: 1 !important;
    }

    #dlc_v2_controls .dlc-progress-track {
      background: #10161d !important;
      border-color: var(--glb-line) !important;
    }

    #dlc_v2_controls .dlc-progress-bar {
      background: linear-gradient(90deg, #3c8a73 0%, #57b49b 100%) !important;
    }

    #dlc_output_root .dlc-summary {
      background: #16202a !important;
      border-color: var(--glb-line) !important;
      color: #eef4fb !important;
    }

    #dlc_output_root .dlc-toolbar {
      background: var(--glb-surface) !important;
      border-color: var(--glb-line) !important;
      color: var(--glb-text) !important;
    }

    #dlc_output_root .dlc-toolbar label {
      color: var(--glb-text) !important;
    }

    #dlc_output_root .dlc-tab-btn {
      background: var(--glb-surface) !important;
      border-color: var(--glb-line) !important;
      color: var(--glb-text) !important;
    }

    #dlc_output_root .dlc-tab-btn.active {
      background: var(--glb-surface-2) !important;
      border-bottom-color: var(--glb-surface-2) !important;
      color: #ffffff !important;
    }

    #dlc_output_root .dlc-tab-panel {
      background: var(--glb-surface) !important;
      border-color: var(--glb-line) !important;
      color: var(--glb-text) !important;
    }

    #dlc_output_root .dlc-forum-tools span,
    #dlc_output_root .dlc-forum-placeholder {
      color: var(--glb-text-dim) !important;
    }

    #dlc_output_root .dlc-forum-text {
      background: #10161d !important;
      color: var(--glb-text) !important;
      border: 1px solid var(--glb-line) !important;
    }

    #dlc_output_root .dlc-type-section {
      background: var(--glb-surface) !important;
      border-color: var(--glb-line) !important;
    }

    #dlc_output_root .dlc-type-header {
      background: var(--glb-surface-2) !important;
      border-bottom-color: var(--glb-line) !important;
      color: #eef4fb !important;
    }

    #dlc_output_root .dlc-empty-note {
      color: var(--glb-text-dim) !important;
    }

    #dlc_output_root .dlc-stats-table th,
    #dlc_output_root .dlc-stats-table td {
      border-color: var(--glb-line-soft) !important;
    }

    #dlc_output_root .dlc-stats-table thead th {
      background: linear-gradient(180deg, #3e2419 0%, #2f1b13 100%) !important;
      color: #ffd2bf !important;
    }

    #dlc_output_root .dlc-stats-table tbody tr:nth-child(even) {
      background: var(--glb-alt-row) !important;
    }

    #dlc_output_root .dlc-stats-table tbody tr:nth-child(odd) {
      background: var(--glb-good-row) !important;
    }

    #dlc_output_root .dlc-stats-table tbody tr:hover {
      background: #1f2a35 !important;
    }

    /* Keep avatars/icons mostly intact; only soften very bright UI images */
    img {
      filter: brightness(0.95) contrast(1.02);
    }

    #header img,
    #toolbar img,
    img[src*="helmet"],
    img[src*="logo"] {
      filter: none !important;
    }
  `;

  if (typeof GM_addStyle === 'function') {
    GM_addStyle(css);
  } else {
    const style = document.createElement('style');
    style.textContent = css;
    document.head.appendChild(style);
  }
})();