Dark theme CSS override for GoalLineBlitz
// ==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);
}
})();