MediaWiki:Theme.css
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
:root:root {
/* Custom theme colors */
--bg-primary: #1a1410;
--bg-secondary: #241c16;
--bg-surface: #2e241c;
--bg-elevated: #3a2e24;
--text-primary: #e8dcc8;
--text-secondary: #b8a890;
--text-muted: #7a6e60;
--gold: #d4a84b;
--gold-bright: #f0c866;
--gold-dim: #a67c32;
--red: #8b2d2d;
--red-bright: #a63d3d;
--border-subtle: #3a2e24;
--border-accent: #5c4a36;
/* MediaWiki color mappings */
--color-base: var(--text-primary);
--color-base-fixed: var(--text-primary);
--color-base--hover: #f5edd8;
--color-emphasized: #f5edd8;
--color-subtle: var(--text-secondary);
--color-placeholder: var(--text-muted);
--color-disabled: #5a4e40;
--color-disabled-emphasized: var(--text-muted);
--color-inverted: var(--bg-primary);
--color-inverted-fixed: var(--bg-primary);
--color-progressive: var(--gold);
--color-progressive--hover: var(--gold-bright);
--color-progressive--active: var(--gold-dim);
--color-progressive--focus: var(--gold);
--color-visited: var(--gold-dim);
--color-visited--hover: var(--gold);
--color-visited--active: #8a6528;
--color-destructive: var(--red-bright);
--color-destructive--hover: #c04a4a;
--color-destructive--active: var(--red);
--color-destructive--focus: var(--gold);
--color-destructive--visited: var(--red);
--color-destructive--visited--hover: var(--red-bright);
--color-destructive--visited--active: #6b2222;
--color-error: var(--red-bright);
--color-error--hover: #c04a4a;
--color-error--active: var(--red);
--color-warning: var(--gold-bright);
--color-success: #7a9a5a;
--color-notice: var(--text-secondary);
--color-icon-error: var(--red-bright);
--color-icon-warning: var(--gold);
--color-icon-success: #7a9a5a;
--color-icon-notice: var(--text-muted);
--color-content-added: #7a9a5a;
--color-content-removed: var(--red-bright);
--background-color-base: var(--bg-primary);
--background-color-base-fixed: var(--bg-primary);
--background-color-neutral: var(--bg-surface);
--background-color-neutral-subtle: var(--bg-secondary);
--background-color-inverted: var(--text-primary);
--background-color-transparent: transparent;
--background-color-interactive: var(--bg-surface);
--background-color-interactive--hover: var(--bg-elevated);
--background-color-interactive--active: #4a3e32;
--background-color-interactive-subtle: var(--bg-secondary);
--background-color-interactive-subtle--hover: var(--bg-surface);
--background-color-interactive-subtle--active: var(--bg-elevated);
--background-color-disabled: var(--bg-surface);
--background-color-disabled-subtle: var(--bg-secondary);
--background-color-progressive: var(--gold-dim);
--background-color-progressive--hover: var(--gold);
--background-color-progressive--active: #8a6528;
--background-color-progressive--focus: var(--gold-dim);
--background-color-progressive-subtle: var(--bg-secondary);
--background-color-progressive-subtle--hover: var(--bg-surface);
--background-color-progressive-subtle--active: var(--bg-elevated);
--background-color-destructive: var(--red);
--background-color-destructive--hover: var(--red-bright);
--background-color-destructive--active: #6b2222;
--background-color-destructive--focus: var(--gold-dim);
--background-color-destructive-subtle: var(--bg-surface);
--background-color-destructive-subtle--hover: var(--bg-elevated);
--background-color-destructive-subtle--active: #4a3e32;
--background-color-error: var(--red);
--background-color-error--hover: var(--red-bright);
--background-color-error--active: #6b2222;
--background-color-error-subtle: var(--bg-surface);
--background-color-error-subtle--hover: var(--bg-elevated);
--background-color-error-subtle--active: #4a3e32;
--background-color-warning-subtle: var(--bg-surface);
--background-color-success-subtle: var(--bg-surface);
--background-color-notice-subtle: var(--bg-surface);
--background-color-content-added: #4a5a3a;
--background-color-content-removed: var(--red);
--background-color-input-binary--checked: var(--gold-dim);
--border-color-base: var(--border-subtle);
--border-color-emphasized: var(--border-accent);
--border-color-subtle: var(--bg-elevated);
--border-color-muted: var(--bg-surface);
--border-color-divider: var(--border-subtle);
--border-color-transparent: transparent;
--border-color-inverted: var(--text-primary);
--border-color-inverted-fixed: var(--text-primary);
--border-color-interactive: var(--border-accent);
--border-color-interactive--hover: #6c5a46;
--border-color-interactive--active: var(--text-muted);
--border-color-disabled: var(--bg-elevated);
--border-color-progressive: var(--gold);
--border-color-progressive--hover: var(--gold-bright);
--border-color-progressive--active: var(--gold-dim);
--border-color-progressive--focus: var(--gold);
--border-color-destructive: var(--red-bright);
--border-color-destructive--hover: #c04a4a;
--border-color-destructive--active: var(--red);
--border-color-destructive--focus: var(--gold);
--border-color-error: var(--red-bright);
--border-color-error--hover: #c04a4a;
--border-color-error--active: var(--red);
--border-color-warning: var(--gold);
--border-color-warning--hover: var(--gold-bright);
--border-color-warning--active: var(--gold-dim);
--border-color-success: #7a9a5a;
--border-color-notice: var(--text-muted);
--border-color-content-added: #7a9a5a;
--border-color-content-removed: var(--red-bright);
--box-shadow-color-base: var(--border-subtle);
--box-shadow-color-progressive--active: var(--gold-dim);
--box-shadow-color-progressive--focus: var(--gold);
--box-shadow-color-progressive-selected: var(--gold);
--box-shadow-color-progressive-selected--hover: var(--gold-bright);
--box-shadow-color-progressive-selected--active: var(--gold-dim);
--box-shadow-color-destructive--focus: var(--gold);
--box-shadow-color-inverted: var(--text-primary);
--box-shadow-color-transparent: transparent;
--outline-color-progressive--focus: var(--gold);
--accent-color-base: var(--gold);
--font-size-x-small: 0.75rem;
--font-size-small: 0.875rem;
--font-size-medium: 1rem;
--font-size-large: 1.125rem;
--font-size-x-large: 1.25rem;
--font-size-xx-large: 1.5rem;
--font-size-xxx-large: 1.75rem;
--line-height-xxx-small: 1.4285714rem;
--line-height-xx-small: 1.5714285rem;
--line-height-x-small: 1.25rem;
--line-height-small: 1.375rem;
--line-height-medium: 1.625rem;
--line-height-large: 1.75rem;
--line-height-x-large: 1.875rem;
--line-height-xx-large: 2.125rem;
--line-height-xxx-large: 2.375rem;
--line-height-content: 1.625;
--opacity-icon-base: 0.87;
--opacity-icon-base--hover: 0.74;
--opacity-icon-base--selected: 1;
--opacity-icon-base--disabled: 0.51;
--opacity-icon-placeholder: 0.51;
--opacity-icon-subtle: 0.67;
--filter-invert-icon: 1;
--filter-invert-primary-button-icon: 0;
--mix-blend-mode-base: normal;
--mix-blend-mode-blend: screen;
}
body {
display: flex;
flex-direction: column;
align-items: stretch;
font-family: 'Liberation Sans', 'Helvetica Neue', Arial, sans-serif;
}
body> :not(:nth-child(2)) {
flex-grow: 1;
}
* {
image-rendering: pixelated;
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
-ms-interpolation-mode: nearest-neighbor;
}
.mw-page-container {
width: 100%;
}
.mw-content-container {
height: 100%;
}
.mw-footer-container {
margin-top: auto;
opacity: 50%;
position: relative;
z-index: -1;
}
#vector-appearance-dropdown,
.vector-pinnable-header-toggle-button {
display: none !important;
}
/* Hide theme selection, there's only one theme anyway. */
#mw-prefsection-rendering>div:nth-child(2)>div:nth-child(1)>div:nth-child(1) {
display: none !important;
}
.mw-jump-link {
height: 1em !important;
max-height: 1em !important;
background-color: var(--bg-elevated);
border: 1px solid var(--border-accent);
padding: 8px 16px;
outline-offset: 2px;
}
/* Link glow effects */
.mw-parser-output a,
.vector-menu-content a,
#p-logo a {
transition: color 0.2s, text-shadow 0.2s;
}
.mw-parser-output a:hover,
.vector-menu-content a:hover {
text-shadow: var(--glow-gold);
}
/* Stronger glow for headings with links */
.mw-parser-output h1 a:hover,
.mw-parser-output h2 a:hover,
.mw-parser-output h3 a:hover {
text-shadow: var(--glow-gold-strong);
}
/* Red link glow (missing pages) */
.mw-parser-output a.new:hover {
text-shadow: var(--glow-red);
}
/* Data tables (Cargo, etc.) */
.mw-datatable,
.cargoTable {
border-collapse: collapse;
background-color: var(--bg-secondary);
}
.mw-datatable th,
.cargoTable th {
background-color: var(--bg-elevated);
color: var(--text-primary);
padding: 8px 12px;
text-align: left;
font-weight: bold;
border: 1px solid var(--border-accent);
}
.mw-datatable td,
.cargoTable td {
padding: 8px 12px;
vertical-align: middle;
border: 1px solid var(--border-subtle);
background-color: var(--bg-secondary);
}
.mw-datatable tr:nth-child(even) td,
.cargoTable tr:nth-child(even) td {
background-color: var(--bg-surface);
}
/* Wikitable row hover */
.wikitable tr:hover td {
background-color: var(--bg-elevated);
}
/* Cargo drilldown filters panel */
div.drilldown-filters-wrapper {
background-color: var(--bg-surface);
border: 1px solid var(--border-accent);
color: var(--color-base);
padding: 12px 16px;
margin-bottom: 16px;
}
/* Page Forms / jQuery UI Autocomplete dropdown */
.ui-autocomplete,
.ui-menu {
background-color: var(--bg-surface);
border: 1px solid var(--border-accent);
color: var(--text-primary);
max-height: 300px;
overflow-y: auto;
z-index: 1000;
}
.ui-menu-item {
padding: 8px 12px;
cursor: pointer;
}
.ui-menu-item:hover,
.ui-menu-item.ui-state-focus,
.ui-menu-item.ui-state-active,
.ui-state-hover,
.ui-state-focus,
.ui-state-active {
background-color: var(--bg-elevated);
color: var(--text-primary);
}
.ui-menu-item a,
.ui-menu-item .ui-menu-item-wrapper {
color: var(--text-primary);
display: block;
padding: 8px 12px;
}
.ui-menu-item a:hover,
.ui-menu-item .ui-menu-item-wrapper:hover,
.ui-menu-item a.ui-state-focus,
.ui-menu-item .ui-menu-item-wrapper.ui-state-focus {
background-color: var(--bg-elevated);
color: var(--gold);
text-decoration: none;
}
/* OOUI Autocomplete / Menu widgets */
.oo-ui-menuSelectWidget {
background-color: var(--bg-surface);
border: 1px solid var(--border-accent);
z-index: 1000;
max-height: 300px;
overflow-y: auto;
}
.oo-ui-menuOptionWidget,
.oo-ui-optionWidget {
background-color: var(--bg-surface);
color: var(--text-primary);
padding: 8px 12px;
cursor: pointer;
}
.oo-ui-menuOptionWidget:hover,
.oo-ui-optionWidget:hover,
.oo-ui-menuOptionWidget-highlighted,
.oo-ui-optionWidget-highlighted {
background-color: var(--bg-elevated);
color: var(--text-primary);
}
.oo-ui-menuOptionWidget-selected,
.oo-ui-optionWidget-selected {
background-color: var(--bg-elevated);
color: var(--gold);
}
.oo-ui-menuOptionWidget .oo-ui-labelElement-label,
.oo-ui-optionWidget .oo-ui-labelElement-label {
color: inherit;
}
/* OOUI clippable element (dropdown container) */
.oo-ui-clippableElement-clippable {
background-color: var(--bg-surface);
}
/* OOUI popup/floating menus */
.oo-ui-floatableElement-floatable,
.oo-ui-popupWidget-popup {
background-color: var(--bg-surface);
border: 1px solid var(--border-accent);
}
/* OOUI text input with menu */
.oo-ui-textInputWidget-type-text .oo-ui-menuSelectWidget {
background-color: var(--bg-surface);
}