MediaWiki:Timeless.css: Difference between revisions

OMNIVERSE
No edit summary
No edit summary
Line 1: Line 1:
/* =========================================================
/* =========================================================
   OMNIVERSE-style Dark Theme (Timeless)
   OMNIVERSE Dark Theme — MediaWiki (Skin: 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 ---------- */
/* ---------- Theme tokens ---------- */
:root {
:root {
   --bg: #0f141c;         /* page background */
   --bg: #0f141c;
   --panel: #1a2230;       /* card background */
   --panel: #1a2230;
   --panel-2: #202a3a;     /* slightly brighter panels */
   --panel-2: #202a3a;
   --border: rgba(255,255,255,0.08);
   --border: rgba(255,255,255,0.08);
   --text: rgba(255,255,255,0.88);
   --text: rgba(255,255,255,0.88);
   --muted: rgba(255,255,255,0.65);
   --muted: rgba(255,255,255,0.65);
   --accent: #f2b233;     /* gold accent */
   --accent: #f2b233;
   --accent-2: #ffd36a;   /* hover */
   --accent-2: #ffd36a;
   --shadow: 0 10px 30px rgba(0,0,0,0.35);
   --shadow: 0 12px 32px rgba(0,0,0,0.45);
   --radius: 14px;
   --radius: 14px;
}
}


/* ---------- Global background / text ---------- */
/* =========================================================
html, body {
  GLOBAL CANVAS — kill ALL light backgrounds
  ========================================================= */
html,
body,
#mw-wrapper,
#mw-content-wrapper,
#mw-page-base,
#mw-head-base,
.mw-page-container,
.mw-page-container-inner,
.mw-body,
.mw-body-content,
#mw-content-text,
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar,
#mw-aside,
#mw-related-navigation {
   background: var(--bg) !important;
   background: var(--bg) !important;
   color: var(--text);
   color: var(--text);
}
}


.mw-parser-output,
/* Ensure parser output never paints white */
.mw-body-content,
.mw-parser-output {
#mw-content-text {
  background: transparent !important;
   color: var(--text);
   color: var(--text);
  line-height: 1.65;
  font-size: 16px;
}
}


/* ---------- Links (gold accent, no validator warnings) ---------- */
/* =========================================================
a {
  HEADER
   color: var(--accent);
  ========================================================= */
   text-decoration: none;
#mw-header {
}
   background:
a:hover, a:focus {
    linear-gradient(rgba(10,14,20,0.92), rgba(10,14,20,0.92)),
  color: var(--accent-2);
    url("/images/wiki-header-bg.jpg") center / cover no-repeat;
  text-decoration: underline;
   border-bottom: 1px solid var(--border);
}
}


/* ---------- Main content “card” ---------- */
/* =========================================================
/* Timeless usually wraps content in #content and/or .mw-body */
  MAIN CONTENT CARD
#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 {
#content {
   background: var(--panel);
   background: var(--panel) !important;
   border: 1px solid var(--border);
   border: none !important;
   border-radius: var(--radius);
   border-radius: var(--radius);
   box-shadow: var(--shadow);
   box-shadow: var(--shadow);
   padding: 18px 20px;
   padding: 20px 22px;
}
}


/* Improve paragraph readability */
/* Limit width to feel like a forum */
.mw-parser-output {
  line-height: 1.65;
  font-size: 16px;
}
.mw-body-content {
.mw-body-content {
   max-width: 1100px; /* wider, like your forum panels */
   max-width: 1250px;
}
}


/* ---------- Headings (forum-like, with gold rule) ---------- */
/* =========================================================
.mw-parser-output h1,
  HEADINGS — no full-width lines, only gold accents
  ========================================================= */
.firstHeading,
.mw-parser-output h2,
.mw-parser-output h2,
.mw-parser-output h3 {
.mw-parser-output h3 {
   color: rgba(255,255,255,0.92);
   color: rgba(255,255,255,0.95);
   letter-spacing: 0.2px;
   border-bottom: none !important;
}
}


.mw-parser-output h2 {
.firstHeading::after {
   border-bottom: 1px solid var(--border);
   content: "";
   padding-bottom: 8px;
  display: block;
  position: relative;
  width: 56px;
  height: 3px;
  margin-top: 10px;
  background: var(--accent);
   border-radius: 999px;
}
}


Line 106: Line 98:
   content: "";
   content: "";
   display: block;
   display: block;
   width: 36px;
   width: 34px;
   height: 3px;
   height: 3px;
   margin-top: 8px;
   margin-top: 8px;
   background: var(--accent);
   background: var(--accent);
   border-radius: 99px;
   border-radius: 999px;
}
}


/* ---------- TOC / Category boxes become cards ---------- */
/* =========================================================
#toc, .toc, .catlinks {
  LINKS
   background: var(--panel-2);
  ========================================================= */
   border: 1px solid var(--border);
a {
  border-radius: var(--radius);
   color: var(--accent);
  padding: 12px 14px;
   text-decoration: none;
}
}
 
a:hover {
/* ---------- Tables become “forum panels” ---------- */
   color: var(--accent-2);
.wikitable {
   text-decoration: underline;
   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);
  SIDEBAR + PAGE TOOLS — dark cards
  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 .mw-portlet,
#mw-panel .portlet,
#mw-navigation .mw-portlet,
#mw-navigation .mw-portlet,
#mw-navigation .portlet,
.sidebar .mw-portlet,
.sidebar .portlet,
#sidebar .mw-portlet,
#sidebar .mw-portlet,
#sidebar .portlet {
#p-navigation,
   background: var(--panel);
#p-tb,
#p-views,
#p-cactions,
#p-personal {
   background: var(--panel) !important;
   border: 1px solid var(--border);
   border: 1px solid var(--border);
   border-radius: var(--radius);
   border-radius: var(--radius);
   padding: 12px 14px;
   padding: 14px;
   margin-bottom: 16px;
   margin-bottom: 16px;
   box-shadow: var(--shadow);
   box-shadow: var(--shadow);
}
}


/* Sidebar titles */
.mw-portlet h3 {
#mw-panel .mw-portlet h3,
   color: rgba(255,255,255,0.75);
#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-size: 13px;
   font-weight: 700;
   font-weight: 700;
   text-transform: uppercase;
   text-transform: uppercase;
   letter-spacing: 0.06em;
   letter-spacing: 0.06em;
   margin: 0 0 10px 0;
   margin-bottom: 10px;
  border-bottom: 1px solid var(--border);
   padding-bottom: 8px;
   padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
}


/* Sidebar lists */
.mw-portlet ul {
#mw-panel .mw-portlet ul,
  list-style: none;
#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;
   margin: 0;
   padding: 0;
   padding: 0;
  list-style: none;
}
}


/* Sidebar links */
.mw-portlet li a {
#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;
   display: block;
   padding: 8px 10px;
   padding: 8px 10px;
   border-radius: 8px;
   border-radius: 8px;
   color: rgba(255,255,255,0.76);
   color: rgba(255,255,255,0.78);
  text-decoration: none;
}
}


#mw-panel .mw-portlet li a:hover,
.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);
   background: rgba(255,255,255,0.06);
   color: rgba(255,255,255,0.95);
   color: rgba(255,255,255,0.95);
}
}


/* =================================================
/* =========================================================
   HARD TARGET: Sidebar portlets by canonical IDs
   SEAMLESS TOC (Citizen-like)
  (works even if Timeless uses a different wrapper)
   ========================================================= */
   ================================================= */
#toc,
 
.toc {
/* Common sidebar portlet IDs */
   background: transparent !important;
#p-navigation,
   border: none !important;
#p-tb,
   box-shadow: none !important;
#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;
   padding: 0 !important;
   list-style: none !important;
   margin-bottom: 18px;
}
}


/* Links */
#toc .toctitle h2 {
#p-navigation li a,
  font-size: 13px;
#p-tb li a,
  font-weight: 700;
#p-interaction li a,
   letter-spacing: 0.06em;
#p-coll-print_export li a,
   text-transform: uppercase;
#p-wikibase-otherprojects li a,
   color: rgba(255,255,255,0.7);
#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,
#toc ul {
#p-tb li a:hover,
  list-style: none;
#p-interaction li a:hover,
  padding-left: 14px;
#p-coll-print_export li a:hover,
   border-left: 2px solid rgba(255,255,255,0.07);
#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;
}
}


/* =================================================
#toc a {
  Make the sidebar column match the dark theme
  display: block;
  ================================================= */
  padding: 7px 8px;
 
  border-radius: 8px;
/* The entire left column background */
  color: rgba(255,255,255,0.7);
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar {
  background: transparent;
}
}


/* Timeless often uses an inner "sheet" behind the sidebar */
#toc a:hover {
#mw-panel::before,
  background: rgba(255,255,255,0.06);
#mw-navigation::before,
   color: rgba(255,255,255,0.95);
#sidebar::before,
.sidebar::before {
   content: none;
}
}


/* If the sidebar is wrapped in a light container, darken it */
/* =========================================================
#mw-panel,
  TABLES
#mw-navigation,
  ========================================================= */
#sidebar,
.wikitable {
.sidebar,
  background: var(--panel-2);
#mw-panel * {
  border: 1px solid var(--border);
   /* do NOT blanket recolor everything; keep this minimal */
  border-radius: var(--radius);
  border-collapse: separate;
   border-spacing: 0;
}
}


/* Common Timeless layout wrappers that may be light */
.wikitable th,
#mw-content-wrapper,
.wikitable td {
#mw-wrapper,
  padding: 10px 12px;
#content-wrapper,
  border-top: 1px solid rgba(255,255,255,0.06);
#mw-page-base,
#mw-head-base {
  background: transparent;
}
}


/* Force the left side "gutter" to match page background */
.wikitable th {
body,
  background: rgba(255,255,255,0.04);
html {
   color: rgba(255,255,255,0.9);
   background: var(--bg);
}
}


/* Sidebar logo area (optional) */
/* =========================================================
#p-logo {
  CODE BLOCKS
   background: transparent;
  ========================================================= */
pre,
.mw-code {
   background: #0c1118;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 14px;
}
}
/* =================================================
  FORCE dark “page chrome” backgrounds (Timeless)
  This targets the common wrapper layers Timeless uses.
  ================================================= */


html, body {
/* =========================================================
   background-color: var(--bg) !important;
  FORMS / BUTTONS
  ========================================================= */
input,
textarea,
select {
   background: #0c1118;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text);
  border-radius: 10px;
  padding: 8px 10px;
}
}


/* Common Timeless / MediaWiki wrapper layers that often stay light */
button,
#mw-wrapper,
.mw-ui-button {
#mw-content-wrapper,
  background: var(--accent);
#mw-page-base,
  border: none;
#mw-head-base,
  color: #141a22;
#mw-panel,
   border-radius: 10px;
#mw-navigation,
   font-weight: 700;
#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 */
button:hover {
#mw-wrapper,
   background: var(--accent-2);
#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;
}
/* =================================================
  FORCE DARK MAIN CONTENT SURFACE (Timeless)
  ================================================= */
 
/* Kill the white content sheet */
.mw-body,
.mw-body-content,
.mw-page-container,
.mw-content-container,
#content {
  background-color: var(--panel) !important;
}
 
/* Ensure text container inherits dark background */
#mw-content-text,
.mw-parser-output {
  background-color: transparent !important;
}
}

Revision as of 02:53, 19 January 2026

/* =========================================================
   OMNIVERSE Dark Theme — MediaWiki (Skin: Timeless)
   ========================================================= */

/* ---------- Theme tokens ---------- */
:root {
  --bg: #0f141c;
  --panel: #1a2230;
  --panel-2: #202a3a;
  --border: rgba(255,255,255,0.08);
  --text: rgba(255,255,255,0.88);
  --muted: rgba(255,255,255,0.65);
  --accent: #f2b233;
  --accent-2: #ffd36a;
  --shadow: 0 12px 32px rgba(0,0,0,0.45);
  --radius: 14px;
}

/* =========================================================
   GLOBAL CANVAS — kill ALL light backgrounds
   ========================================================= */
html,
body,
#mw-wrapper,
#mw-content-wrapper,
#mw-page-base,
#mw-head-base,
.mw-page-container,
.mw-page-container-inner,
.mw-body,
.mw-body-content,
#mw-content-text,
#mw-panel,
#mw-navigation,
#sidebar,
.sidebar,
#mw-aside,
#mw-related-navigation {
  background: var(--bg) !important;
  color: var(--text);
}

/* Ensure parser output never paints white */
.mw-parser-output {
  background: transparent !important;
  color: var(--text);
  line-height: 1.65;
  font-size: 16px;
}

/* =========================================================
   HEADER
   ========================================================= */
#mw-header {
  background:
    linear-gradient(rgba(10,14,20,0.92), rgba(10,14,20,0.92)),
    url("/images/wiki-header-bg.jpg") center / cover no-repeat;
  border-bottom: 1px solid var(--border);
}

/* =========================================================
   MAIN CONTENT CARD
   ========================================================= */
#content {
  background: var(--panel) !important;
  border: none !important;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px 22px;
}

/* Limit width to feel like a forum */
.mw-body-content {
  max-width: 1250px;
}

/* =========================================================
   HEADINGS — no full-width lines, only gold accents
   ========================================================= */
.firstHeading,
.mw-parser-output h2,
.mw-parser-output h3 {
  color: rgba(255,255,255,0.95);
  border-bottom: none !important;
}

.firstHeading::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 10px;
  background: var(--accent);
  border-radius: 999px;
}

.mw-parser-output h2::after {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  margin-top: 8px;
  background: var(--accent);
  border-radius: 999px;
}

/* =========================================================
   LINKS
   ========================================================= */
a {
  color: var(--accent);
  text-decoration: none;
}
a:hover {
  color: var(--accent-2);
  text-decoration: underline;
}

/* =========================================================
   SIDEBAR + PAGE TOOLS — dark cards
   ========================================================= */
#mw-panel .mw-portlet,
#mw-navigation .mw-portlet,
#sidebar .mw-portlet,
#p-navigation,
#p-tb,
#p-views,
#p-cactions,
#p-personal {
  background: var(--panel) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
}

.mw-portlet h3 {
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}

.mw-portlet ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mw-portlet li a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  color: rgba(255,255,255,0.78);
}

.mw-portlet li a:hover {
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.95);
}

/* =========================================================
   SEAMLESS TOC (Citizen-like)
   ========================================================= */
#toc,
.toc {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 18px;
}

#toc .toctitle h2 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}

#toc ul {
  list-style: none;
  padding-left: 14px;
  border-left: 2px solid rgba(255,255,255,0.07);
}

#toc a {
  display: block;
  padding: 7px 8px;
  border-radius: 8px;
  color: rgba(255,255,255,0.7);
}

#toc a:hover {
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.95);
}

/* =========================================================
   TABLES
   ========================================================= */
.wikitable {
  background: var(--panel-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  border-collapse: separate;
  border-spacing: 0;
}

.wikitable th,
.wikitable td {
  padding: 10px 12px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.wikitable th {
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.9);
}

/* =========================================================
   CODE BLOCKS
   ========================================================= */
pre,
.mw-code {
  background: #0c1118;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 14px;
}

/* =========================================================
   FORMS / BUTTONS
   ========================================================= */
input,
textarea,
select {
  background: #0c1118;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text);
  border-radius: 10px;
  padding: 8px 10px;
}

button,
.mw-ui-button {
  background: var(--accent);
  border: none;
  color: #141a22;
  border-radius: 10px;
  font-weight: 700;
}

button:hover {
  background: var(--accent-2);
}