MediaWiki:Timeless.css
OMNIVERSE
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* =========================================================
OMNIVERSE-style Dark Theme (Timeless)
Paste into: MediaWiki:Timeless.css
========================================================= */
/* ===== Branded header ===== */
#mw-header {
background: linear-gradient(
rgba(10,14,20,0.9),
rgba(10,14,20,0.9)
),
url("/images/wiki-header-bg.jpg") center / cover no-repeat;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
/* Logo spacing */
#p-logo {
margin-right: 18px;
}
/* Content cards */
.card {
background: #1a2230;
border: 1px solid rgba(255,255,255,0.08);
border-radius: 14px;
padding: 16px 18px;
margin: 16px 0;
}
/* ---------- Theme tokens ---------- */
:root {
--bg: #0f141c; /* page background */
--panel: #1a2230; /* card background */
--panel-2: #202a3a; /* slightly brighter panels */
--border: rgba(255,255,255,0.08);
--text: rgba(255,255,255,0.88);
--muted: rgba(255,255,255,0.65);
--accent: #f2b233; /* gold accent */
--accent-2: #ffd36a; /* hover */
--shadow: 0 10px 30px rgba(0,0,0,0.35);
--radius: 14px;
}
/* ---------- Global background / text ---------- */
html, body {
background: var(--bg) !important;
color: var(--text);
}
.mw-parser-output,
.mw-body-content,
#mw-content-text {
color: var(--text);
}
/* ---------- Links (gold accent, no validator warnings) ---------- */
a {
color: var(--accent);
text-decoration: none;
}
a:hover, a:focus {
color: var(--accent-2);
text-decoration: underline;
}
/* ---------- Main content “card” ---------- */
/* Timeless usually wraps content in #content and/or .mw-body */
#content, .mw-body, #mw-content-text {
background: transparent;
}
/* This targets the primary content container and makes it a card.
If one selector doesn’t apply on your install, another usually will. */
#content {
background: var(--panel);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow);
padding: 18px 20px;
}
/* Improve paragraph readability */
.mw-parser-output {
line-height: 1.65;
font-size: 16px;
}
.mw-body-content {
max-width: 1100px; /* wider, like your forum panels */
}
/* ---------- Headings (forum-like, with gold rule) ---------- */
.mw-parser-output h1,
.mw-parser-output h2,
.mw-parser-output h3 {
color: rgba(255,255,255,0.92);
letter-spacing: 0.2px;
}
.mw-parser-output h2 {
border-bottom: 1px solid var(--border);
padding-bottom: 8px;
position: relative;
}
.mw-parser-output h2::after {
content: "";
display: block;
width: 36px;
height: 3px;
margin-top: 8px;
background: var(--accent);
border-radius: 99px;
}
/* ---------- TOC / Category boxes become cards ---------- */
#toc, .toc, .catlinks {
background: var(--panel-2);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 14px;
}
/* ---------- Tables become “forum panels” ---------- */
.wikitable {
background: var(--panel-2);
border: 1px solid var(--border);
border-radius: var(--radius);
overflow: hidden;
border-collapse: separate;
border-spacing: 0;
}
.wikitable th {
background: rgba(255,255,255,0.04);
color: rgba(255,255,255,0.90);
font-weight: 600;
}
.wikitable td {
color: rgba(255,255,255,0.82);
}
.wikitable > * > tr > th,
.wikitable > * > tr > td {
padding: 10px 12px;
border-top: 1px solid rgba(255,255,255,0.06);
}
.wikitable > * > tr:first-child > th,
.wikitable > * > tr:first-child > td {
border-top: 0;
}
/* ---------- Code blocks ---------- */
.mw-parser-output pre,
.mw-parser-output .mw-code {
background: #0c1118;
border: 1px solid rgba(255,255,255,0.10);
border-radius: 12px;
padding: 12px 14px;
overflow-x: auto;
}
.mw-parser-output code {
background: rgba(255,255,255,0.06);
border-radius: 6px;
padding: 0.12em 0.35em;
}
/* ---------- Inputs / search / buttons (make them match) ---------- */
input[type="text"],
input[type="search"],
input[type="password"],
textarea,
select {
background: #0c1118;
border: 1px solid rgba(255,255,255,0.12);
color: var(--text);
border-radius: 10px;
padding: 8px 10px;
}
input:focus, textarea:focus, select:focus {
outline: none;
border-color: rgba(242,178,51,0.65);
box-shadow: 0 0 0 3px rgba(242,178,51,0.15);
}
/* Buttons used by some MW UI elements */
button,
.mw-ui-button,
input[type="submit"],
input[type="button"] {
background: var(--accent);
border: 0;
color: #141a22;
border-radius: 10px;
padding: 8px 12px;
font-weight: 700;
}
button:hover,
.mw-ui-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
background: var(--accent-2);
}
/* ---------- Optional: simple “notice box” classes you can use in pages ---------- */
.mw-parser-output .notice {
background: var(--panel-2);
border: 1px solid var(--border);
border-left: 4px solid var(--accent);
border-radius: var(--radius);
padding: 12px 14px;
margin: 12px 0;
}
.mw-parser-output .notice-title {
font-weight: 700;
color: rgba(255,255,255,0.92);
margin-bottom: 6px;
}
/* ===== FINAL OVERRIDE: Seamless TOC wins ===== */
#toc, .toc {
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
}
/* ===== Sidebar cards (Timeless) ===== */
#mw-panel .mw-portlet,
#mw-panel .portlet,
#mw-navigation .mw-portlet,
#mw-navigation .portlet,
.sidebar .mw-portlet,
.sidebar .portlet,
#sidebar .mw-portlet,
#sidebar .portlet {
background: var(--panel);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 14px;
margin-bottom: 16px;
box-shadow: var(--shadow);
}
/* Sidebar titles */
#mw-panel .mw-portlet h3,
#mw-panel .portlet h3,
#mw-navigation .mw-portlet h3,
#mw-navigation .portlet h3,
.sidebar .mw-portlet h3,
.sidebar .portlet h3,
#sidebar .mw-portlet h3,
#sidebar .portlet h3 {
color: rgba(255,255,255,0.80);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
margin: 0 0 10px 0;
padding-bottom: 8px;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
/* Sidebar lists */
#mw-panel .mw-portlet ul,
#mw-panel .portlet ul,
#mw-navigation .mw-portlet ul,
#mw-navigation .portlet ul,
.sidebar .mw-portlet ul,
.sidebar .portlet ul,
#sidebar .mw-portlet ul,
#sidebar .portlet ul {
margin: 0;
padding: 0;
list-style: none;
}
/* Sidebar links */
#mw-panel .mw-portlet li a,
#mw-panel .portlet li a,
#mw-navigation .mw-portlet li a,
#mw-navigation .portlet li a,
.sidebar .mw-portlet li a,
.sidebar .portlet li a,
#sidebar .mw-portlet li a,
#sidebar .portlet li a {
display: block;
padding: 8px 10px;
border-radius: 8px;
color: rgba(255,255,255,0.76);
text-decoration: none;
}
#mw-panel .mw-portlet li a:hover,
#mw-panel .portlet li a:hover,
#mw-navigation .mw-portlet li a:hover,
#mw-navigation .portlet li a:hover,
.sidebar .mw-portlet li a:hover,
.sidebar .portlet li a:hover,
#sidebar .mw-portlet li a:hover,
#sidebar .portlet li a:hover {
background: rgba(255,255,255,0.06);
color: rgba(255,255,255,0.95);
}
/* =================================================
HARD TARGET: Sidebar portlets by canonical IDs
(works even if Timeless uses a different wrapper)
================================================= */
/* Common sidebar portlet IDs */
#p-navigation,
#p-tb,
#p-interaction,
#p-coll-print_export,
#p-wikibase-otherprojects,
#p-lang,
#p-personal,
#p-views,
#p-cactions,
#p-search {
background: var(--panel) !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius) !important;
padding: 12px 14px !important;
margin: 0 0 16px 0 !important;
box-shadow: var(--shadow) !important;
}
/* Portlet headings */
#p-navigation h3,
#p-tb h3,
#p-interaction h3,
#p-coll-print_export h3,
#p-wikibase-otherprojects h3,
#p-lang h3 {
color: rgba(255,255,255,0.80) !important;
font-size: 13px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 0.06em !important;
margin: 0 0 10px 0 !important;
padding-bottom: 8px !important;
border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
/* Lists */
#p-navigation ul,
#p-tb ul,
#p-interaction ul,
#p-coll-print_export ul,
#p-wikibase-otherprojects ul,
#p-lang ul {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
/* Links */
#p-navigation li a,
#p-tb li a,
#p-interaction li a,
#p-coll-print_export li a,
#p-wikibase-otherprojects li a,
#p-lang li a {
display: block !important;
padding: 8px 10px !important;
border-radius: 8px !important;
color: rgba(255,255,255,0.76) !important;
text-decoration: none !important;
}
#p-navigation li a:hover,
#p-tb li a:hover,
#p-interaction li a:hover,
#p-coll-print_export li a:hover,
#p-wikibase-otherprojects li a:hover,
#p-lang li a:hover {
background: rgba(255,255,255,0.06) !important;
color: rgba(255,255,255,0.95) !important;
}
/* =================================================
Make the sidebar column match the dark theme
================================================= */
/* The entire left column background */
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar {
background: transparent;
}
/* Timeless often uses an inner "sheet" behind the sidebar */
#mw-panel::before,
#mw-navigation::before,
#sidebar::before,
.sidebar::before {
content: none;
}
/* If the sidebar is wrapped in a light container, darken it */
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar,
#mw-panel * {
/* do NOT blanket recolor everything; keep this minimal */
}
/* Common Timeless layout wrappers that may be light */
#mw-content-wrapper,
#mw-wrapper,
#content-wrapper,
#mw-page-base,
#mw-head-base {
background: transparent;
}
/* Force the left side "gutter" to match page background */
body,
html {
background: var(--bg);
}
/* Sidebar logo area (optional) */
#p-logo {
background: transparent;
}
/* =================================================
FORCE dark “page chrome” backgrounds (Timeless)
This targets the common wrapper layers Timeless uses.
================================================= */
html, body {
background-color: var(--bg) !important;
}
/* Common Timeless / MediaWiki wrapper layers that often stay light */
#mw-wrapper,
#mw-content-wrapper,
#mw-page-base,
#mw-head-base,
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar,
.mw-page-container,
.mw-body,
.mw-body-content,
#mw-content-text,
#content {
background-color: transparent !important;
background: transparent !important;
}
/* The actual “gutter / canvas” behind side columns */
#mw-wrapper,
#mw-content-wrapper,
.mw-page-container {
background-color: var(--bg) !important;
}
/* Left & right columns (if they have their own surface color) */
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar {
background-color: var(--bg) !important;
}
/* Right “page tools” area sometimes lives in these */
#mw-content-container,
#mw-panel-wrapper,
#mw-navigation-wrapper,
#mw-sidebar,
#mw-aside {
background-color: var(--bg) !important;
background: transparent !important;
}
