Jump to content

MediaWiki:Common.css: Difference between revisions

From ZelocoreCMS Wiki
Wikipedia-style light theme β€” complete redesign
Wikipedia-style light theme v3
Line 1: Line 1:
/* ============================================================
/* ================================================================
Β Β  ZelocoreCMS Wiki β€” MediaWiki:Common.css
Β Β  ZelocoreCMS Wiki β€” MediaWiki:Common.css
Β Β  Wikipedia-style Classic Light Theme
Β Β  Pixel-perfect Wikipedia-style theme (en.wikipedia.org reference)
Β Β  ============================================================ */
Β Β  ================================================================ */


/* ── Google Fonts ─────────────────────────────────────────── */
/* ── Variables ─────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Linux+Libertine+O&family=Source+Sans+3:wght@300;400;600;700&family=Source+Serif+4:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap');
Β 
/* ── Design Tokens ────────────────────────────────────────── */
:root {
:root {
Β Β  --wp-bg: Β  Β  Β  Β  Β  #f8f9fa;
Β Β  --bg: Β  Β  Β  Β  #f8f9fa;
Β Β  --wp-white: Β  Β  Β  #ffffff;
Β Β  --white: Β  Β  Β  #ffffff;
Β Β  --wp-border: Β  Β  Β  #a2a9b1;
Β Β  --border: Β  Β  #a2a9b1;
Β Β  --wp-border-light: #eaecf0;
Β Β  --border-lt: Β  #eaecf0;
Β Β  --wp-blue: Β  Β  Β  Β  #3366cc;
Β Β  --blue: Β  Β  Β  #3366cc;
Β Β  --wp-blue-visited: #6b4ba1;
Β Β  --blue-vis: Β  #6b4ba1;
Β Β  --wp-blue-light: Β  #eaf3fb;
Β Β  --blue-lt: Β  Β  #eaf3fb;
Β Β  --wp-blue-header: #cee0f2;
Β Β  --blue-hd: Β  Β  #cee0f2;
Β Β  --wp-red: Β  Β  Β  Β  #cc0000;
Β Β  --blue-hd2: Β  #a3b0cc;
Β Β  --wp-green: Β  Β  Β  #14866d;
Β Β  --red-new: Β  Β  #d33;
Β Β  --wp-yellow-light: #fef6e7;
Β Β  --green: Β  Β  Β  #14866d;
Β Β  --wp-yellow-border:#f0c93a;
Β Β  --yellow-bg:Β  #fef6e7;
Β Β  --wp-text:Β  Β  Β  Β  #202122;
Β Β  --yellow-bd:Β  #f0c93a;
Β Β  --wp-text-muted:Β  #54595d;
Β Β  --gray-hd: Β  Β  #dce3ee;
Β Β  --wp-text-small: Β  #72777d;
Β Β  --text: Β  Β  Β  #202122;
Β Β  --wp-heading: Β  Β  #000000;
Β Β  --text-dim: Β  #54595d;
Β Β  --wp-accent: Β  Β  Β  #0088cc;
Β Β  --text-sm: Β  Β  #72777d;
Β Β  --zc-cyan: Β  Β  Β  Β  #00a8cc;
Β Β  --font-sans:Β  -apple-system, 'Linux Libertine', 'Helvetica Neue', Arial, sans-serif;
Β Β  --zc-teal: Β  Β  Β  Β  #006e8a;
Β Β  --font-serif: 'Linux Libertine', Georgia, 'Times New Roman', serif;
Β Β  --wp-font-serif:Β  'Linux Libertine O', 'Linux Libertine', Georgia, 'Times New Roman', serif;
Β Β  --font-mono: Β  'SFMono-Regular', 'Courier New', Courier, monospace;
Β Β  --wp-font-sans: Β  'Source Sans 3', -apple-system, 'Helvetica Neue', Arial, sans-serif;
Β Β  --wp-font-mono: Β  'JetBrains Mono', 'Courier New', monospace;
}
Β 
/* ── Base ─────────────────────────────────────────────────── */
* { box-sizing: border-box; }
Β 
html {
Β  scroll-behavior: smooth;
Β  scrollbar-width: thin;
Β  scrollbar-color: #c8ccd1 #f8f9fa;
}
}


::-webkit-scrollbar { width: 8px; }
/* ── Reset & Base ──────────────────────────────────────────── */
::-webkit-scrollbar-track { background: #f8f9fa; }
*, *::before, *::after { box-sizing: border-box; }
::-webkit-scrollbar-thumb { background: #c8ccd1; border-radius: 4px; }
html { scroll-behavior: smooth; }
::-webkit-scrollbar-thumb:hover { background: #a2a9b1; }
Β 
body {
body {
Β Β  background-color: var(--wp-bg) !important;
Β Β  background: var(--bg) !important;
Β Β  color: var(--wp-text) !important;
Β Β  color: var(--text) !important;
Β Β  font-family: var(--wp-font-sans) !important;
Β Β  font-family: var(--font-sans) !important;
Β Β  font-size: 14px;
Β Β  font-size: 14px !important;
Β Β  line-height: 1.6;
Β Β  line-height: 1.6 !important;
Β  margin: 0; padding: 0;
}
}


/* ── Typography ───────────────────────────────────────────── */
/* ── Links ─────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
a, .mw-body-content a { color: var(--blue) !important; text-decoration: none !important; }
Β  font-family: var(--wp-font-sans) !important;
a:hover, .mw-body-content a:hover { text-decoration: underline !important; text-shadow: none !important; color: var(--blue) !important; }
Β  color: var(--wp-heading) !important;
a:visited, .mw-body-content a:visited { color: var(--blue-vis) !important; }
Β  font-weight: 700;
a.new, .mw-body-content a.new { color: var(--red-new) !important; }
Β  line-height: 1.3;
a.new:visited { color: #a55858 !important; }
}
a.external { color: #3366cc !important; }


#firstHeading,
/* ── Headings ──────────────────────────────────────────────── */
.mw-page-title-main {
#firstHeading, .mw-page-title-main {
Β Β  font-family: var(--wp-font-sans) !important;
Β Β  font-family: var(--font-sans) !important;
Β Β  font-size: 1.95em !important;
Β Β  font-size: 2em !important;
Β Β  font-weight: normal !important;
Β Β  font-weight: normal !important;
Β Β  color: var(--wp-heading) !important;
Β Β  color: var(--text) !important;
Β  border-bottom: 1px solid var(--wp-border) !important;
Β Β  -webkit-text-fill-color: var(--text) !important;
Β  padding-bottom: 3px !important;
Β  margin-bottom: 0.6em !important;
Β Β  -webkit-text-fill-color: var(--wp-heading) !important;
Β Β  background: none !important;
Β Β  background: none !important;
Β  border-bottom: 1px solid var(--border) !important;
Β  padding-bottom: 5px !important;
Β  margin-top: 0 !important;
Β  margin-bottom: 10px !important;
Β  line-height: 1.2 !important;
}
}
.mw-body-content h2 {
.mw-body-content h2 {
Β Β  font-size: 1.5em !important;
Β Β  font-size: 1.5em !important; font-weight: normal !important;
Β  font-weight: normal !important;
Β Β  color: var(--text) !important; border-bottom: 1px solid var(--border) !important;
Β Β  color: var(--wp-heading) !important;
Β Β  padding-bottom: 3px !important; margin-top: 20px !important;
Β  border-bottom: 1px solid var(--wp-border) !important;
Β Β  padding-bottom: 2px !important;
Β  margin-top: 1.5em !important;
Β  margin-bottom: 0.5em !important;
}
}
.mw-body-content h2 .mw-headline {
.mw-body-content h2 .mw-headline {
Β Β  background: none !important;
Β Β  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important; background: none !important;
Β  -webkit-text-fill-color: var(--wp-heading) !important;
Β  color: var(--wp-heading) !important;
}
}
.mw-body-content h3 { font-size: 1.2em !important; font-weight: bold !important; color: var(--text) !important; }
.mw-body-content h4 { font-size: 1em !important; font-weight: bold !important; color: var(--text) !important; }


.mw-body-content h3 {
/* ── Header / Toolbar ──────────────────────────────────────── */
Β  font-size: 1.2em !important;
#mw-head, .mw-header { background: var(--white) !important; border-bottom: 1px solid var(--border-lt) !important; box-shadow: none !important; }
Β  font-weight: bold !important;
.vector-page-toolbar { background: transparent !important; border-bottom: 1px solid var(--border-lt) !important; }
Β  color: var(--wp-heading) !important;
}


.mw-body-content h4 {
/* ── Search ────────────────────────────────────────────────── */
Β Β  font-size: 1em !important;
.cdx-text-input__input, #searchInput, input[name="search"] {
Β Β  font-weight: bold !important;
Β Β  background: var(--white) !important; border: 1px solid var(--border) !important;
Β Β  color: var(--wp-heading) !important;
Β Β  border-radius: 2px !important; color: var(--text) !important;
Β Β  font-family: var(--font-sans) !important; font-size: 13px !important;
Β  padding: 5px 10px !important; box-shadow: none !important;
}
}
Β 
.cdx-text-input__input:focus, #searchInput:focus {
p { color: var(--wp-text); margin-bottom: 0.8em; }
Β Β  border-color: var(--blue) !important; box-shadow: 0 0 0 2px rgba(51,102,204,0.15) !important; outline: none !important;
Β 
/* ── Links ─────────────────────────────────────────────────── */
a,
.mw-body-content a {
Β Β  color: var(--wp-blue) !important;
Β  text-decoration: none !important;
}
}


a:hover,
/* ── Sidebar ───────────────────────────────────────────────── */
.mw-body-content a:hover {
#mw-panel, .mw-sidebar { background: transparent !important; }
Β  text-decoration: underline !important;
.mw-panel .portal, .vector-menu-portal { background: transparent !important; border: none !important; margin-bottom: 10px !important; }
Β Β  color: var(--wp-blue) !important;
.mw-panel .portal h3, .vector-menu-heading {
Β Β  text-shadow: none !important;
Β Β  color: var(--text-dim) !important; font-size: 0.75em !important;
Β Β  font-weight: bold !important; text-transform: uppercase !important;
Β  letter-spacing: 0.025em !important; padding: 4px 0 3px !important;
Β  border-bottom: 1px solid var(--border-lt) !important; background: transparent !important;
}
}
Β 
.mw-panel .portal ul li a, .vector-menu-content-list li a {
a:visited,
Β Β  color: var(--blue) !important; font-size: 0.875em !important;
.mw-body-content a:visited {
Β  padding: 2px 0 !important; display: block !important;
Β Β  color: var(--wp-blue-visited) !important;
Β  background: transparent !important; border: none !important;
}
}
Β 
.mw-panel .portal ul li a:hover, .vector-menu-content-list li a:hover {
a.new,
Β Β  text-decoration: underline !important; background: transparent !important; text-shadow: none !important;
.mw-body-content a.new {
Β Β  color: #cc2200 !important;
}
}


a.new:visited { color: #a55858 !important; }
/* ── Content area ──────────────────────────────────────────── */
.mw-body { background: var(--white) !important; border: none !important; padding: 20px 30px !important; color: var(--text) !important; }
.mw-body-content { background: var(--white) !important; color: var(--text) !important; font-size: 0.9375em; }
.mw-page-container { background: var(--bg) !important; }
.mw-content-container { background: var(--white) !important; }


/* ── Header / Navbar ─────────────────────────────────────── */
/* ── Wikitable ─────────────────────────────────────────────── */
#mw-head,
.wikitable {
.mw-header {
Β Β  background: var(--white) !important; border-collapse: collapse !important;
Β Β  background: var(--wp-white) !important;
Β Β  border: 1px solid var(--border) !important; margin: 1em 0 !important; font-size: 0.9em;
Β Β  border-bottom: 1px solid var(--wp-border-light) !important;
Β  box-shadow: none !important;
}
}
Β 
.wikitable > tr > th, .wikitable > * > tr > th {
/* ── Search Bar ───────────────────────────────────────────── */
Β Β  background: var(--blue-hd) !important; color: var(--text) !important;
#searchInput,
Β Β  border: 1px solid var(--border) !important; padding: 5px 8px !important;
.cdx-text-input__input,
Β Β  font-weight: bold !important; font-size: 1em !important; text-align: left !important;
input[name="search"] {
Β Β  background: var(--wp-white) !important;
Β  border: 1px solid var(--wp-border) !important;
Β Β  border-radius: 2px !important;
Β  color: var(--wp-text) !important;
Β  font-family: var(--wp-font-sans) !important;
Β Β  font-size: 13px !important;
Β  padding: 6px 10px !important;
Β  transition: border-color 0.15s !important;
Β  box-shadow: none !important;
}
}
Β 
.wikitable > tr > td, .wikitable > * > tr > td {
#searchInput:focus,
Β Β  background: var(--white) !important; color: var(--text) !important;
.cdx-text-input__input:focus,
Β Β  border: 1px solid var(--border) !important; padding: 5px 8px !important;
input[name="search"]:focus {
Β Β  border-color: var(--wp-blue) !important;
Β Β  box-shadow: 0 0 0 2px rgba(51,102,204,0.15) !important;
Β  outline: none !important;
}
}
Β 
.wikitable > tr:nth-child(even) > td, .wikitable > tbody > tr:nth-child(even) > td {
#searchButton, #mw-searchButton,
Β Β  background: #f8f9fa !important;
.cdx-search-input__end-button {
Β Β  background: var(--wp-blue) !important;
Β  border: 1px solid #2a4b8d !important;
Β  border-radius: 2px !important;
Β  color: #fff !important;
Β  font-size: 13px !important;
Β  padding: 6px 14px !important;
Β  cursor: pointer !important;
Β  font-family: var(--wp-font-sans) !important;
}
}
.wikitable > tbody > tr:hover > td { background: var(--blue-lt) !important; }


#searchButton:hover { background: #2a4b8d !important; }
/* ── Infobox ───────────────────────────────────────────────── */
Β 
.infobox, table.infobox {
/* ── Sidebar ──────────────────────────────────────────────── */
Β  float: right !important; clear: right !important;
#mw-panel,
Β  margin: 0 0 1em 1.5em !important; width: 22em !important;
.mw-sidebar,
Β  background: var(--white) !important; border: 1px solid var(--border) !important;
nav.vector-menu {
Β  border-collapse: collapse !important; font-size: 88% !important; line-height: 1.5 !important;
Β Β  background: transparent !important;
Β Β  box-shadow: none !important; backdrop-filter: none !important;
}
}
Β 
.infobox caption, table.infobox caption {
.mw-panel .portal,
Β Β  background: var(--blue-hd) !important; color: var(--text) !important;
.vector-menu-portal {
Β Β  font-weight: bold !important; font-size: 1.1em !important;
Β Β  background: transparent !important;
Β Β  padding: 6px 10px !important; text-align: center !important;
Β Β  border: none !important;
Β Β  border-bottom: 1px solid var(--border) !important;
Β Β  border-radius: 0 !important;
Β Β  margin-bottom: 8px !important;
}
}
.infobox th { background: #f8f9fa !important; color: var(--text) !important; border: 1px solid var(--border) !important; padding: 4px 6px !important; font-weight: bold !important; text-transform: none !important; }
.infobox td { background: var(--white) !important; color: var(--text) !important; border: 1px solid var(--border) !important; padding: 4px 6px !important; }


.mw-panel .portal h3,
/* ── TOC ───────────────────────────────────────────────────── */
.vector-menu-heading {
#toc, .toc {
Β Β  background: transparent !important;
Β Β  background: #f8f9fa !important; border: 1px solid var(--border) !important;
Β  color: var(--wp-text-muted) !important;
Β Β  padding: 10px 16px !important; display: table !important; margin: 0 0 1em 0 !important;
Β Β  font-size: 0.8em !important;
Β Β  box-shadow: none !important; border-radius: 0 !important;
Β  font-weight: bold !important;
Β  letter-spacing: 0 !important;
Β  text-transform: uppercase !important;
Β  padding: 4px 0 2px 0 !important;
Β Β  border-bottom: 1px solid var(--wp-border-light) !important;
Β  margin-bottom: 4px !important;
}
}
Β 
#toc h2, .toc h2, .toc .toctitle {
.mw-panel .portal li a,
Β  font-size: 1em !important; font-weight: bold !important; text-align: center !important;
.vector-menu-content-list li a {
Β Β  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
Β Β  color: var(--wp-blue) !important;
Β Β  background: none !important; border: none !important; padding: 0 0 5px !important; margin: 0 !important;
Β  font-size: 0.875em !important;
Β Β  padding: 2px 0 !important;
Β  display: block;
Β  border-left: none !important;
Β  background: transparent !important;
}
}
.toc a, #toc a { color: var(--blue) !important; font-size: 0.875em !important; }
.toc li, #toc li { line-height: 1.7 !important; }
.toc ul, #toc ul { margin: 0 !important; padding: 0 0 0 1.5em !important; list-style: none !important; }
.tocnumber { color: var(--text-dim) !important; padding-right: 4px !important; }


.mw-panel .portal li a:hover,
/* ── Code / Pre ────────────────────────────────────────────── */
.vector-menu-content-list li a:hover {
code, tt, kbd, var {
Β Β  color: var(--wp-blue) !important;
Β  font-family: var(--font-mono) !important; background: #f8f9fa !important;
Β  background: transparent !important;
Β Β  color: var(--text) !important; padding: 1px 4px !important; font-size: 0.875em !important;
Β  text-decoration: underline !important;
Β Β  border: 1px solid var(--border-lt) !important; border-radius: 2px !important;
Β Β  border-left: none !important;
Β  text-shadow: none !important;
}
}
Β 
pre, .mw-code, .mw-body-content pre {
/* ── Content Area ─────────────────────────────────────────── */
Β Β  font-family: var(--font-mono) !important; background: #f8f9fa !important;
#mw-content-text,
Β Β  color: var(--text) !important; border: 1px solid var(--border) !important;
.mw-body,
Β  padding: 1em !important; overflow-x: auto !important; font-size: 0.875em !important;
.mw-body-content {
Β  line-height: 1.5 !important; margin: 0.8em 0 !important;
Β Β  background: var(--wp-white) !important;
Β  border-radius: 0 !important; position: relative;
Β Β  color: var(--wp-text) !important;
}
}
.mw-highlight { background: #f8f9fa !important; border: 1px solid var(--border) !important; }
.mw-highlight pre { border: none !important; margin: 0 !important; }


.mw-body {
/* ── Message Boxes (ambox) ─────────────────────────────────── */
Β Β  background: var(--wp-white) !important;
.zc-note, div.zc-note {
Β Β  border: none !important;
Β Β  background: #eaf3fb !important; border: 1px solid #36c !important;
Β Β  padding: 20px !important;
Β Β  border-left: 4px solid #36c !important; padding: 8px 12px !important;
Β Β  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
}
}
Β 
.zc-warning, div.zc-warning {
/* ── Tables (Wikipedia wikitable style) ───────────────────── */
Β Β  background: #fef6e7 !important; border: 1px solid var(--yellow-bd) !important;
.wikitable,
Β Β  border-left: 4px solid var(--yellow-bd) !important; padding: 8px 12px !important;
.mw-body-content table.wikitable {
Β Β  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
Β Β  background: var(--wp-white) !important;
Β  border: 1px solid var(--wp-border) !important;
Β Β  border-collapse: collapse !important;
Β  border-radius: 0 !important;
Β Β  margin: 1em 0 !important;
Β  font-size: 0.9em;
}
}
Β 
.zc-tip, div.zc-tip {
.wikitable th {
Β Β  background: #f3fbef !important; border: 1px solid #36a73a !important;
Β Β  background: var(--wp-blue-header) !important;
Β Β  border-left: 4px solid #36a73a !important; padding: 8px 12px !important;
Β  color: var(--wp-text) !important;
Β Β  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
Β Β  font-weight: bold !important;
Β Β  font-size: 1em !important;
Β  padding: 5px 8px !important;
Β  border: 1px solid var(--wp-border) !important;
Β  letter-spacing: 0;
}
}
.wikitable td {
Β  background: var(--wp-white) !important;
Β  color: var(--wp-text) !important;
Β  padding: 5px 8px !important;
Β  border: 1px solid var(--wp-border) !important;
}
.wikitable tr:nth-child(even) td {
Β  background: var(--wp-bg) !important;
}
.wikitable tr:hover td {
Β  background: var(--wp-blue-light) !important;
}
/* Sortable tables */
.wikitable.sortable th {
Β  cursor: pointer;
}
/* ── Code & Pre ───────────────────────────────────────────── */
code, tt, kbd {
Β  font-family: var(--wp-font-mono) !important;
Β  background: var(--wp-bg) !important;
Β  color: var(--wp-text) !important;
Β  padding: 1px 5px !important;
Β  border-radius: 2px !important;
Β  font-size: 0.875em !important;
Β  border: 1px solid var(--wp-border-light) !important;
}
pre,
.mw-body-content pre {
Β  font-family: var(--wp-font-mono) !important;
Β  background: var(--wp-bg) !important;
Β  color: var(--wp-text) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  border-left: 3px solid var(--wp-border) !important;
Β  border-radius: 0 !important;
Β  padding: 1em !important;
Β  overflow-x: auto !important;
Β  font-size: 0.875em !important;
Β  line-height: 1.5 !important;
Β  margin: 0.8em 0 !important;
}
/* SyntaxHighlight */
.mw-highlight {
Β  background: var(--wp-bg) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  border-radius: 0 !important;
Β  padding: 0 !important;
Β  overflow: hidden;
}
.mw-highlight pre { border: none !important; border-left: none !important; margin: 0 !important; }
/* ── Wikipedia-style Infobox ──────────────────────────────── */
.infobox,
table.infobox {
Β  background: var(--wp-white) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  border-collapse: collapse !important;
Β  float: right !important;
Β  margin: 0 0 1em 1.5em !important;
Β  padding: 0 !important;
Β  width: 22em !important;
Β  font-size: 88% !important;
Β  line-height: 1.5 !important;
Β  box-shadow: none !important;
Β  backdrop-filter: none !important;
}
.infobox caption,
table.infobox caption {
Β  background: var(--wp-blue-header) !important;
Β  color: var(--wp-text) !important;
Β  font-weight: bold !important;
Β  font-size: 1.1em !important;
Β  padding: 6px 10px !important;
Β  text-align: center !important;
Β  margin: 0 !important;
Β  border-bottom: 1px solid var(--wp-border) !important;
}
.infobox th {
Β  background: var(--wp-bg) !important;
Β  color: var(--wp-text) !important;
Β  font-size: 1em !important;
Β  font-weight: bold !important;
Β  padding: 4px 6px !important;
Β  border: 1px solid var(--wp-border) !important;
Β  text-transform: none;
Β  letter-spacing: 0;
}
.infobox td {
Β  background: var(--wp-white) !important;
Β  color: var(--wp-text) !important;
Β  padding: 4px 6px !important;
Β  border: 1px solid var(--wp-border) !important;
Β  font-size: 1em !important;
}
/* ── Table of Contents ────────────────────────────────────── */
#toc, .toc {
Β  background: var(--wp-bg) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  border-radius: 0 !important;
Β  padding: 10px 16px !important;
Β  display: inline-block;
Β  min-width: 180px;
Β  box-shadow: none !important;
}
#toc h2, .toc h2 {
Β  font-size: 1em !important;
Β  font-weight: bold !important;
Β  text-align: center !important;
Β  letter-spacing: 0 !important;
Β  text-transform: none !important;
Β  color: var(--wp-text) !important;
Β  background: none !important;
Β  -webkit-text-fill-color: var(--wp-text) !important;
Β  border: none !important;
Β  padding: 0 0 6px 0 !important;
Β  margin: 0 0 4px 0 !important;
}
#toc li, .toc li {
Β  font-size: 0.875em !important;
Β  line-height: 1.7 !important;
}
#toc a, .toc a { color: var(--wp-blue) !important; }
#toc a:hover, .toc a:hover { text-decoration: underline !important; }
/* ── Wikipedia-style Article Message Boxes ────────────────── */
.zc-note, .mw-message-box-notice {
Β  background: #eaf3fb !important;
Β  border: 1px solid #36c !important;
Β  border-left: 4px solid #36c !important;
Β  border-radius: 0 !important;
Β  padding: 8px 12px !important;
Β  margin: 0.8em 0 !important;
Β  font-size: 0.9em !important;
Β  color: var(--wp-text) !important;
}
.zc-warning, .mw-message-box-warning {
Β  background: #fef6e7 !important;
Β  border: 1px solid #f0c93a !important;
Β  border-left: 4px solid #f0c93a !important;
Β  border-radius: 0 !important;
Β  padding: 8px 12px !important;
Β  margin: 0.8em 0 !important;
Β  font-size: 0.9em !important;
Β  color: var(--wp-text) !important;
}
.zc-tip {
Β  background: #f3fbef !important;
Β  border: 1px solid #36a73a !important;
Β  border-left: 4px solid #36a73a !important;
Β  border-radius: 0 !important;
Β  padding: 8px 12px !important;
Β  margin: 0.8em 0 !important;
Β  font-size: 0.9em !important;
Β  color: var(--wp-text) !important;
}
/* ── Official Verified Banner ─────────────────────────────── */
.zc-verified-banner {
.zc-verified-banner {
Β Β  background: #f3fbf7 !important;
Β Β  background: #f3fbf7 !important; border: 1px solid var(--green) !important;
Β  border: 1px solid #14866d !important;
Β Β  border-left: 4px solid var(--green) !important; padding: 8px 12px !important;
Β Β  border-left: 4px solid #14866d !important;
Β Β  margin-bottom: 1em !important; display: flex; align-items: flex-start; gap: 10px;
Β  padding: 8px 12px !important;
Β Β  color: var(--text) !important; border-radius: 0 !important; box-shadow: none !important; animation: none !important;
Β Β  margin-bottom: 1em !important;
Β  display: flex;
Β  align-items: center;
Β  gap: 10px;
Β  font-weight: normal;
Β Β  color: var(--wp-text) !important;
Β  box-shadow: none !important;
Β  animation: none !important;
Β  border-radius: 0 !important;
}
}


/* ── Badges ───────────────────────────────────────────────── */
/* ── Badges ────────────────────────────────────────────────── */
.zc-owner-badge {
.zc-owner-badge Β  { display:inline-block; background:#14866d; color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
Β  display: inline-block;
.zc-dev-badge Β  Β  { display:inline-block; background:var(--blue); color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
Β  background: #14866d;
.zc-contrib-badge { display:inline-block; background:#72777d; color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
Β  color: #fff !important;
.zc-version-badge { display:inline-block; background:#f8f9fa; border:1px solid var(--border); color:var(--text); font-family:var(--font-mono); font-size:0.8em; padding:1px 5px; border-radius:2px; }
Β  font-size: 0.75em;
.zc-license-badge { display:inline-block; background:var(--blue-lt); border:1px solid var(--border); color:var(--blue); font-size:0.8em; font-weight:bold; padding:1px 5px; border-radius:2px; }
Β  font-weight: bold;
Β  padding: 1px 6px;
Β  border-radius: 2px;
Β  margin-left: 5px;
}
Β 
.zc-dev-badge {
Β  display: inline-block;
Β  background: var(--wp-blue);
Β  color: #fff !important;
Β  font-size: 0.75em;
Β  font-weight: bold;
Β  padding: 1px 6px;
Β  border-radius: 2px;
}
Β 
.zc-contrib-badge {
Β  display: inline-block;
Β  background: #72777d;
Β  color: #fff !important;
Β  font-size: 0.75em;
Β  font-weight: bold;
Β  padding: 1px 6px;
Β  border-radius: 2px;
}
Β 
.zc-version-badge {
Β  display: inline-block;
Β  background: var(--wp-bg);
Β  border: 1px solid var(--wp-border);
Β  color: var(--wp-text);
Β  font-family: var(--wp-font-mono);
Β  font-size: 0.8em;
Β  padding: 1px 5px;
Β  border-radius: 2px;
}
Β 
.zc-license-badge {
Β  display: inline-block;
Β  background: var(--wp-blue-light);
Β  border: 1px solid var(--wp-border);
Β  color: var(--wp-blue);
Β  font-size: 0.8em;
Β  font-weight: bold;
Β  padding: 1px 5px;
Β  border-radius: 2px;
}
Β 
/* ── Developer Profile Card ──────────────────────────────── */
.zc-profile-card {
Β  background: var(--wp-white) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  padding: 16px !important;
Β  margin-bottom: 1.5em !important;
Β  box-shadow: none !important;
Β  border-radius: 0 !important;
}
Β 
.zc-skill-tag {
Β  display: inline-block;
Β  background: var(--wp-bg);
Β  border: 1px solid var(--wp-border);
Β  color: var(--wp-text-muted);
Β  font-size: 0.8em;
Β  padding: 2px 7px;
Β  border-radius: 2px;
Β  margin: 2px;
}
Β 
/* ── Buttons ──────────────────────────────────────────────── */
.mw-ui-button,
input[type="submit"],
input[type="button"],
button.mw-ui-progressive {
Β  background: var(--wp-bg) !important;
Β  border: 1px solid var(--wp-border) !important;
Β  border-radius: 2px !important;
Β  color: var(--wp-text) !important;
Β  font-family: var(--wp-font-sans) !important;
Β  font-weight: normal !important;
Β  font-size: 0.875em !important;
Β  padding: 6px 16px !important;
Β  cursor: pointer !important;
Β  box-shadow: none !important;
Β  transition: background 0.1s !important;
}


.mw-ui-button:hover { background: var(--wp-border-light) !important; }
/* ── Profile card ──────────────────────────────────────────── */
.zc-profile-card { background:var(--white) !important; border:1px solid var(--border) !important; padding:16px !important; margin-bottom:1.5em !important; box-shadow:none !important; border-radius:0 !important; }
.zc-skill-tag { display:inline-block; background:#f8f9fa; border:1px solid var(--border); color:var(--text-dim); font-size:0.8em; padding:2px 7px; border-radius:2px; margin:2px; }


button.mw-ui-progressive {
/* ── Buttons ───────────────────────────────────────────────── */
Β  background: var(--wp-blue) !important;
.mw-ui-button { background:#f8f9fa !important; border:1px solid var(--border) !important; border-radius:2px !important; color:var(--text) !important; font-size:0.875em !important; padding:6px 16px !important; box-shadow:none !important; }
Β  border-color: #2a4b8d !important;
.mw-ui-button:hover { background:var(--border-lt) !important; }
Β  color: #fff !important;
.mw-ui-progressive, .mw-ui-button.mw-ui-progressive { background:var(--blue) !important; border-color:#2a4b8d !important; color:#fff !important; }
}
.mw-ui-progressive:hover { background:#2a4b8d !important; }
button.mw-ui-progressive:hover { background: #2a4b8d !important; }


/* ── Tabs ─────────────────────────────────────────────────── */
/* ── Page tabs ─────────────────────────────────────────────── */
#p-views .selected a,
#p-views .selected a { color:var(--text) !important; border-bottom:2px solid var(--text) !important; }
.vector-tab-noaction.selected a {
#p-views li a { color:var(--blue) !important; border-bottom:2px solid transparent; font-size:0.875em !important; }
Β  color: var(--wp-text) !important;
#p-views li a:hover { text-decoration:none !important; color:var(--text) !important; }
Β  border-bottom: 2px solid var(--wp-text) !important;
}


.vector-page-toolbar {
/* ── Category links ────────────────────────────────────────── */
Β Β  background: transparent !important;
.mw-normal-catlinks, div.mw-normal-catlinks {
Β  border-bottom: 1px solid var(--wp-border-light) !important;
Β Β  background:#f8f9fa !important; border:1px solid var(--border) !important;
Β  padding:5px 10px !important; margin-top:1em !important; font-size:0.9em !important;
}
}
.mw-normal-catlinks a { color:var(--blue) !important; }


/* ── Footer ───────────────────────────────────────────────── */
/* ── Footer ────────────────────────────────────────────────── */
#footer, .mw-footer {
#footer, .mw-footer {
Β Β  background: var(--wp-bg) !important;
Β Β  background:#f8f9fa !important; border-top:1px solid var(--border) !important;
Β  border-top: 1px solid var(--wp-border) !important;
Β Β  color:var(--text-sm) !important; padding:16px 24px !important;
Β Β  color: var(--wp-text-small) !important;
Β Β  font-size:0.8125em !important; margin-top:2em !important;
Β  padding: 16px 20px !important;
Β Β  font-size: 0.875em !important;
Β  text-align: center !important;
Β  margin-top: 2em !important;
}
}
#footer a, .mw-footer a { color:var(--blue) !important; }
#footer a:hover { text-decoration:underline !important; text-shadow:none !important; }
#footer-icons { float:right !important; }
.mw-footer-container { display:flex; flex-wrap:wrap; align-items:center; }


#footer a, .mw-footer a { color: var(--wp-blue) !important; }
/* ── Edit textarea ─────────────────────────────────────────── */
#footer a:hover, .mw-footer a:hover { text-decoration: underline !important; text-shadow: none !important; }
textarea#wpTextbox1 { background:var(--white) !important; color:var(--text) !important; border:1px solid var(--border) !important; font-family:var(--font-mono) !important; padding:8px !important; border-radius:2px !important; }
.diff-addedline { background:#d4f4d4 !important; }
.diff-deletedline { background:#f4d4d4 !important; }
.diffchange { background:#ffd !important; font-weight:bold !important; }


/* ── Edit Page ────────────────────────────────────────────── */
/* ── Notifications / Echo ──────────────────────────────────── */
textarea#wpTextbox1 {
.oo-ui-popupWidget { background:var(--white) !important; border:1px solid var(--border) !important; box-shadow:0 2px 8px rgba(0,0,0,0.15) !important; border-radius:2px !important; }
Β  background: var(--wp-white) !important;
.mw-echo-ui-notificationItemWidget { border-bottom:1px solid var(--border-lt) !important; background:var(--white) !important; color:var(--text) !important; }
Β  color: var(--wp-text) !important;
.mw-echo-ui-notificationItemWidget:hover { background:#f8f9fa !important; }
Β  border: 1px solid var(--wp-border) !important;
Β  font-family: var(--wp-font-mono) !important;
Β  font-size: 0.9em !important;
Β  padding: 8px !important;
Β  border-radius: 2px !important;
}


.diff-addedline { background: #d4f4d4 !important; }
/* ── Progress bar (reading) ────────────────────────────────── */
.diff-deletedline { background: #f4d4d4 !important; }
#zc-reading-progress { background:var(--blue) !important; box-shadow:none !important; }
.diffchange { background: #ffd !important; }


/* ── Recent Changes ──────────────────────────────────────── */
/* ── Back to top ───────────────────────────────────────────── */
.mw-changeslist-line { border-bottom: 1px solid var(--wp-border-light) !important; padding: 4px 0 !important; }
#zc-back-to-top { background:var(--blue) !important; color:#fff !important; box-shadow:0 2px 8px rgba(0,0,0,0.2) !important; font-size:1rem !important; }


/* ── Notification popups ──────────────────────────────────── */
/* ── Copy button ───────────────────────────────────────────── */
.oo-ui-popupWidget {
.zc-copy-btn { background:#f8f9fa !important; border:1px solid var(--border) !important; color:var(--text-dim) !important; }
Β  background: var(--wp-white) !important;
.zc-copy-btn:hover { background:var(--border-lt) !important; border-color:var(--blue) !important; color:var(--blue) !important; }
Β  border: 1px solid var(--wp-border) !important;
Β  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
Β  border-radius: 2px !important;
}


/* ── Vector 2022 specific ─────────────────────────────────── */
/* ── Recent changes ────────────────────────────────────────── */
.mw-page-container { background: var(--wp-bg) !important; }
.mw-changeslist-line { border-bottom:1px solid var(--border-lt) !important; padding:3px 0 !important; }
.mw-content-container { background: var(--wp-white) !important; }
.mw-changeslist-separator { display:none; }


/* ── Reading Progress Bar ─────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════
#zc-reading-progress {
Β  MAIN PAGE β€” Wikipedia Layout
Β  background: var(--wp-blue) !important;
Β  ═══════════════════════════════════════════════════════════ */
Β  box-shadow: none !important;
}


/* ── Back to Top Button ───────────────────────────────────── */
/* Hide the page title on Main_Page */
#zc-back-to-top {
.page-Main_Page #firstHeading,
Β  background: var(--wp-blue) !important;
.page-Main_Page .mw-page-title-main { display:none !important; }
Β  color: #fff !important;
Β  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}


/* ── Copy button ──────────────────────────────────────────── */
/* Top banner */
.zc-copy-btn {
#mp-topbanner {
Β  background: var(--wp-bg) !important;
Β Β  background: var(--blue-hd);
Β  border: 1px solid var(--wp-border) !important;
Β Β  border: 1px solid var(--border);
Β  color: var(--wp-text-muted) !important;
}
.zc-copy-btn:hover { background: var(--wp-border-light) !important; }
Β 
/* ============================================================
Β  HOMEPAGE β€” Wikipedia Main Page Style
Β  ============================================================ */
Β 
/* Top welcome banner */
.zc-mp-topbanner {
Β Β  background: var(--wp-blue-header);
Β Β  border: 1px solid var(--wp-border);
Β Β  padding: 12px 16px;
Β Β  padding: 12px 16px;
Β Β  margin-bottom: 16px;
Β Β  margin-bottom: 14px;
Β Β  text-align: center;
Β Β  text-align: center;
Β Β  font-size: 1.05em;
Β Β  font-size: 1.05em;
}
}


/* Left column boxes (blue header, white body) */
/* Main page column container */
.zc-mp-box {
#mp-upper {
Β Β  background: var(--wp-white);
Β Β  display: flex;
Β Β  border: 1px solid var(--wp-border);
Β Β  gap: 0;
Β Β  margin-bottom: 12px;
Β Β  margin-bottom: 14px;
Β  align-items: flex-start;
}
}


.zc-mp-box-header {
/* Left column (55%) */
Β Β  background: var(--wp-blue-header);
#mp-left {
Β Β  border-bottom: 1px solid var(--wp-border);
Β Β  width: 55%;
Β  padding: 5px 10px;
Β  padding-right: 12px;
Β  font-weight: bold;
Β Β  border-right: 1px solid var(--border);
Β  font-size: 0.95em;
}
}


.zc-mp-box-body {
/* Right column (45%) */
Β Β  padding: 10px 12px;
#mp-right {
Β Β  font-size: 0.9em;
Β Β  width: 45%;
Β Β  padding-left: 12px;
}
}


/* DYK box β€” yellow header */
/* Section box headings */
.zc-mp-dyk-header {
.mp-h2 {
Β Β  background: #fef6e7;
Β Β  background: var(--blue-hd);
Β Β  border-bottom: 1px solid var(--wp-border);
Β Β  border: 1px solid var(--border);
Β  border-bottom: none;
Β Β  padding: 5px 10px;
Β Β  padding: 5px 10px;
Β  font-size: 0.95em;
Β Β  font-weight: bold;
Β Β  font-weight: bold;
Β Β  font-size: 0.95em;
Β Β  font-family: var(--font-sans);
Β Β  color: #7a6206;
Β Β  color: var(--text);
Β  margin: 0;
}
}
.mp-h2-yellow { background: var(--yellow-bg); border-bottom: none; }
.mp-h2-greenΒ  { background: #ecf5ec; border-bottom: none; }
.mp-h2-grayΒ  { background: var(--gray-hd); border-bottom: none; }


/* Community box β€” green header */
/* Section box body */
.zc-mp-comm-header {
.mp-body {
Β Β  background: #f3fbf7;
Β Β  background: var(--white);
Β Β  border-bottom: 1px solid var(--wp-border);
Β Β  border: 1px solid var(--border);
Β Β  padding: 5px 10px;
Β  border-top: none;
Β Β  font-weight: bold;
Β Β  padding: 10px 12px;
Β Β  font-size: 0.95em;
Β Β  margin-bottom: 12px;
Β Β  color: #14866d;
Β Β  font-size: 0.875em;
Β  line-height: 1.6;
Β Β  color: var(--text);
}
}
.mp-body ul { margin: 0; padding-left: 1.5em; }
.mp-body li { margin-bottom: 4px; }
.mp-body a { color: var(--blue) !important; }


/* Portal grid at bottom */
/* Portal grid (bottom of main page) */
.zc-mp-portals-header {
#mp-portals {
Β Β  background: #dce3ee;
Β  margin-top: 14px;
Β Β  border-bottom: 1px solid var(--wp-border);
Β  border: 1px solid var(--border);
Β Β  padding: 5px 10px;
}
#mp-portals-header {
Β Β  background: var(--gray-hd);
Β Β  border-bottom: 1px solid var(--border);
Β Β  padding: 6px 12px;
Β Β  font-weight: bold;
Β Β  font-weight: bold;
Β Β  font-size: 0.95em;
Β Β  font-size: 0.95em;
}
.mp-portal-grid {
Β  display: flex;
Β  flex-wrap: wrap;
Β  gap: 0;
Β  background: var(--white);
}
.mp-portal-cell {
Β  flex: 1 1 16%;
Β  border-right: 1px solid var(--border-lt);
Β  border-bottom: 1px solid var(--border-lt);
Β  padding: 10px 8px;
Β Β  text-align: center;
Β Β  text-align: center;
Β  font-size: 0.875em;
Β  min-width: 100px;
}
}
.mp-portal-cell:hover { background: var(--blue-lt); }
.mp-portal-cell a { color: var(--blue) !important; font-weight: bold; display:block; }
.mp-portal-icon { font-size: 1.8em; display: block; margin-bottom: 4px; line-height:1; }
.mp-portal-desc { display:block; color:var(--text-dim); font-size:0.85em; margin-top:2px; font-weight:normal; }


/* ── Responsive ──────────────────────────────────────────── */
/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 720px) {
@media (max-width: 768px) {
Β  #mp-upper { flex-direction: column; }
Β  #mp-left { width: 100%; padding-right: 0; border-right: none; border-bottom: 1px solid var(--border); padding-bottom: 12px; margin-bottom: 12px; }
Β  #mp-right { width: 100%; padding-left: 0; }
Β Β  .infobox { float: none !important; width: 100% !important; margin: 0 0 1em 0 !important; }
Β Β  .infobox { float: none !important; width: 100% !important; margin: 0 0 1em 0 !important; }
Β Β  .mw-body { padding: 12px !important; }
Β Β  .mw-body { padding: 12px !important; }
Β  .mp-portal-cell { flex: 1 1 30%; }
}
}


/* ── Print ────────────────────────────────────────────────── */
@media print {
@media print {
Β Β  #mw-head, #mw-panel, #footer, .noprint { display: none !important; }
Β Β  #mw-head, #mw-panel, #footer, .noprint, #zc-reading-progress, #zc-back-to-top { display:none !important; }
Β Β  body { background: #fff !important; color: #000 !important; font-family: serif !important; }
Β Β  body { background:#fff !important; color:#000 !important; }
Β Β  a { color: #000 !important; text-decoration: underline !important; }
Β Β  a { color:#000 !important; text-decoration:underline !important; }
}
}

Revision as of 22:38, 28 July 2026

/* ================================================================
   ZelocoreCMS Wiki β€” MediaWiki:Common.css
   Pixel-perfect Wikipedia-style theme (en.wikipedia.org reference)
   ================================================================ */

/* ── Variables ─────────────────────────────────────────────── */
:root {
  --bg:          #f8f9fa;
  --white:       #ffffff;
  --border:      #a2a9b1;
  --border-lt:   #eaecf0;
  --blue:        #3366cc;
  --blue-vis:    #6b4ba1;
  --blue-lt:     #eaf3fb;
  --blue-hd:     #cee0f2;
  --blue-hd2:    #a3b0cc;
  --red-new:     #d33;
  --green:       #14866d;
  --yellow-bg:   #fef6e7;
  --yellow-bd:   #f0c93a;
  --gray-hd:     #dce3ee;
  --text:        #202122;
  --text-dim:    #54595d;
  --text-sm:     #72777d;
  --font-sans:   -apple-system, 'Linux Libertine', 'Helvetica Neue', Arial, sans-serif;
  --font-serif:  'Linux Libertine', Georgia, 'Times New Roman', serif;
  --font-mono:   'SFMono-Regular', 'Courier New', Courier, monospace;
}

/* ── Reset & Base ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0; padding: 0;
}

/* ── Links ─────────────────────────────────────────────────── */
a, .mw-body-content a { color: var(--blue) !important; text-decoration: none !important; }
a:hover, .mw-body-content a:hover { text-decoration: underline !important; text-shadow: none !important; color: var(--blue) !important; }
a:visited, .mw-body-content a:visited { color: var(--blue-vis) !important; }
a.new, .mw-body-content a.new { color: var(--red-new) !important; }
a.new:visited { color: #a55858 !important; }
a.external { color: #3366cc !important; }

/* ── Headings ──────────────────────────────────────────────── */
#firstHeading, .mw-page-title-main {
  font-family: var(--font-sans) !important;
  font-size: 2em !important;
  font-weight: normal !important;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
  background: none !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 5px !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.2 !important;
}
.mw-body-content h2 {
  font-size: 1.5em !important; font-weight: normal !important;
  color: var(--text) !important; border-bottom: 1px solid var(--border) !important;
  padding-bottom: 3px !important; margin-top: 20px !important;
}
.mw-body-content h2 .mw-headline {
  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important; background: none !important;
}
.mw-body-content h3 { font-size: 1.2em !important; font-weight: bold !important; color: var(--text) !important; }
.mw-body-content h4 { font-size: 1em !important; font-weight: bold !important; color: var(--text) !important; }

/* ── Header / Toolbar ──────────────────────────────────────── */
#mw-head, .mw-header { background: var(--white) !important; border-bottom: 1px solid var(--border-lt) !important; box-shadow: none !important; }
.vector-page-toolbar { background: transparent !important; border-bottom: 1px solid var(--border-lt) !important; }

/* ── Search ────────────────────────────────────────────────── */
.cdx-text-input__input, #searchInput, input[name="search"] {
  background: var(--white) !important; border: 1px solid var(--border) !important;
  border-radius: 2px !important; color: var(--text) !important;
  font-family: var(--font-sans) !important; font-size: 13px !important;
  padding: 5px 10px !important; box-shadow: none !important;
}
.cdx-text-input__input:focus, #searchInput:focus {
  border-color: var(--blue) !important; box-shadow: 0 0 0 2px rgba(51,102,204,0.15) !important; outline: none !important;
}

/* ── Sidebar ───────────────────────────────────────────────── */
#mw-panel, .mw-sidebar { background: transparent !important; }
.mw-panel .portal, .vector-menu-portal { background: transparent !important; border: none !important; margin-bottom: 10px !important; }
.mw-panel .portal h3, .vector-menu-heading {
  color: var(--text-dim) !important; font-size: 0.75em !important;
  font-weight: bold !important; text-transform: uppercase !important;
  letter-spacing: 0.025em !important; padding: 4px 0 3px !important;
  border-bottom: 1px solid var(--border-lt) !important; background: transparent !important;
}
.mw-panel .portal ul li a, .vector-menu-content-list li a {
  color: var(--blue) !important; font-size: 0.875em !important;
  padding: 2px 0 !important; display: block !important;
  background: transparent !important; border: none !important;
}
.mw-panel .portal ul li a:hover, .vector-menu-content-list li a:hover {
  text-decoration: underline !important; background: transparent !important; text-shadow: none !important;
}

/* ── Content area ──────────────────────────────────────────── */
.mw-body { background: var(--white) !important; border: none !important; padding: 20px 30px !important; color: var(--text) !important; }
.mw-body-content { background: var(--white) !important; color: var(--text) !important; font-size: 0.9375em; }
.mw-page-container { background: var(--bg) !important; }
.mw-content-container { background: var(--white) !important; }

/* ── Wikitable ─────────────────────────────────────────────── */
.wikitable {
  background: var(--white) !important; border-collapse: collapse !important;
  border: 1px solid var(--border) !important; margin: 1em 0 !important; font-size: 0.9em;
}
.wikitable > tr > th, .wikitable > * > tr > th {
  background: var(--blue-hd) !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; padding: 5px 8px !important;
  font-weight: bold !important; font-size: 1em !important; text-align: left !important;
}
.wikitable > tr > td, .wikitable > * > tr > td {
  background: var(--white) !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; padding: 5px 8px !important;
}
.wikitable > tr:nth-child(even) > td, .wikitable > tbody > tr:nth-child(even) > td {
  background: #f8f9fa !important;
}
.wikitable > tbody > tr:hover > td { background: var(--blue-lt) !important; }

/* ── Infobox ───────────────────────────────────────────────── */
.infobox, table.infobox {
  float: right !important; clear: right !important;
  margin: 0 0 1em 1.5em !important; width: 22em !important;
  background: var(--white) !important; border: 1px solid var(--border) !important;
  border-collapse: collapse !important; font-size: 88% !important; line-height: 1.5 !important;
  box-shadow: none !important; backdrop-filter: none !important;
}
.infobox caption, table.infobox caption {
  background: var(--blue-hd) !important; color: var(--text) !important;
  font-weight: bold !important; font-size: 1.1em !important;
  padding: 6px 10px !important; text-align: center !important;
  border-bottom: 1px solid var(--border) !important;
}
.infobox th { background: #f8f9fa !important; color: var(--text) !important; border: 1px solid var(--border) !important; padding: 4px 6px !important; font-weight: bold !important; text-transform: none !important; }
.infobox td { background: var(--white) !important; color: var(--text) !important; border: 1px solid var(--border) !important; padding: 4px 6px !important; }

/* ── TOC ───────────────────────────────────────────────────── */
#toc, .toc {
  background: #f8f9fa !important; border: 1px solid var(--border) !important;
  padding: 10px 16px !important; display: table !important; margin: 0 0 1em 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
}
#toc h2, .toc h2, .toc .toctitle {
  font-size: 1em !important; font-weight: bold !important; text-align: center !important;
  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
  background: none !important; border: none !important; padding: 0 0 5px !important; margin: 0 !important;
}
.toc a, #toc a { color: var(--blue) !important; font-size: 0.875em !important; }
.toc li, #toc li { line-height: 1.7 !important; }
.toc ul, #toc ul { margin: 0 !important; padding: 0 0 0 1.5em !important; list-style: none !important; }
.tocnumber { color: var(--text-dim) !important; padding-right: 4px !important; }

/* ── Code / Pre ────────────────────────────────────────────── */
code, tt, kbd, var {
  font-family: var(--font-mono) !important; background: #f8f9fa !important;
  color: var(--text) !important; padding: 1px 4px !important; font-size: 0.875em !important;
  border: 1px solid var(--border-lt) !important; border-radius: 2px !important;
}
pre, .mw-code, .mw-body-content pre {
  font-family: var(--font-mono) !important; background: #f8f9fa !important;
  color: var(--text) !important; border: 1px solid var(--border) !important;
  padding: 1em !important; overflow-x: auto !important; font-size: 0.875em !important;
  line-height: 1.5 !important; margin: 0.8em 0 !important;
  border-radius: 0 !important; position: relative;
}
.mw-highlight { background: #f8f9fa !important; border: 1px solid var(--border) !important; }
.mw-highlight pre { border: none !important; margin: 0 !important; }

/* ── Message Boxes (ambox) ─────────────────────────────────── */
.zc-note, div.zc-note {
  background: #eaf3fb !important; border: 1px solid #36c !important;
  border-left: 4px solid #36c !important; padding: 8px 12px !important;
  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
}
.zc-warning, div.zc-warning {
  background: #fef6e7 !important; border: 1px solid var(--yellow-bd) !important;
  border-left: 4px solid var(--yellow-bd) !important; padding: 8px 12px !important;
  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
}
.zc-tip, div.zc-tip {
  background: #f3fbef !important; border: 1px solid #36a73a !important;
  border-left: 4px solid #36a73a !important; padding: 8px 12px !important;
  margin: 0.8em 0 !important; font-size: 0.9em !important; border-radius: 0 !important; color: var(--text) !important;
}
.zc-verified-banner {
  background: #f3fbf7 !important; border: 1px solid var(--green) !important;
  border-left: 4px solid var(--green) !important; padding: 8px 12px !important;
  margin-bottom: 1em !important; display: flex; align-items: flex-start; gap: 10px;
  color: var(--text) !important; border-radius: 0 !important; box-shadow: none !important; animation: none !important;
}

/* ── Badges ────────────────────────────────────────────────── */
.zc-owner-badge   { display:inline-block; background:#14866d; color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
.zc-dev-badge     { display:inline-block; background:var(--blue); color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
.zc-contrib-badge { display:inline-block; background:#72777d; color:#fff !important; font-size:0.75em; font-weight:bold; padding:1px 6px; border-radius:2px; }
.zc-version-badge { display:inline-block; background:#f8f9fa; border:1px solid var(--border); color:var(--text); font-family:var(--font-mono); font-size:0.8em; padding:1px 5px; border-radius:2px; }
.zc-license-badge { display:inline-block; background:var(--blue-lt); border:1px solid var(--border); color:var(--blue); font-size:0.8em; font-weight:bold; padding:1px 5px; border-radius:2px; }

/* ── Profile card ──────────────────────────────────────────── */
.zc-profile-card { background:var(--white) !important; border:1px solid var(--border) !important; padding:16px !important; margin-bottom:1.5em !important; box-shadow:none !important; border-radius:0 !important; }
.zc-skill-tag { display:inline-block; background:#f8f9fa; border:1px solid var(--border); color:var(--text-dim); font-size:0.8em; padding:2px 7px; border-radius:2px; margin:2px; }

/* ── Buttons ───────────────────────────────────────────────── */
.mw-ui-button { background:#f8f9fa !important; border:1px solid var(--border) !important; border-radius:2px !important; color:var(--text) !important; font-size:0.875em !important; padding:6px 16px !important; box-shadow:none !important; }
.mw-ui-button:hover { background:var(--border-lt) !important; }
.mw-ui-progressive, .mw-ui-button.mw-ui-progressive { background:var(--blue) !important; border-color:#2a4b8d !important; color:#fff !important; }
.mw-ui-progressive:hover { background:#2a4b8d !important; }

/* ── Page tabs ─────────────────────────────────────────────── */
#p-views .selected a { color:var(--text) !important; border-bottom:2px solid var(--text) !important; }
#p-views li a { color:var(--blue) !important; border-bottom:2px solid transparent; font-size:0.875em !important; }
#p-views li a:hover { text-decoration:none !important; color:var(--text) !important; }

/* ── Category links ────────────────────────────────────────── */
.mw-normal-catlinks, div.mw-normal-catlinks {
  background:#f8f9fa !important; border:1px solid var(--border) !important;
  padding:5px 10px !important; margin-top:1em !important; font-size:0.9em !important;
}
.mw-normal-catlinks a { color:var(--blue) !important; }

/* ── Footer ────────────────────────────────────────────────── */
#footer, .mw-footer {
  background:#f8f9fa !important; border-top:1px solid var(--border) !important;
  color:var(--text-sm) !important; padding:16px 24px !important;
  font-size:0.8125em !important; margin-top:2em !important;
}
#footer a, .mw-footer a { color:var(--blue) !important; }
#footer a:hover { text-decoration:underline !important; text-shadow:none !important; }
#footer-icons { float:right !important; }
.mw-footer-container { display:flex; flex-wrap:wrap; align-items:center; }

/* ── Edit textarea ─────────────────────────────────────────── */
textarea#wpTextbox1 { background:var(--white) !important; color:var(--text) !important; border:1px solid var(--border) !important; font-family:var(--font-mono) !important; padding:8px !important; border-radius:2px !important; }
.diff-addedline { background:#d4f4d4 !important; }
.diff-deletedline { background:#f4d4d4 !important; }
.diffchange { background:#ffd !important; font-weight:bold !important; }

/* ── Notifications / Echo ──────────────────────────────────── */
.oo-ui-popupWidget { background:var(--white) !important; border:1px solid var(--border) !important; box-shadow:0 2px 8px rgba(0,0,0,0.15) !important; border-radius:2px !important; }
.mw-echo-ui-notificationItemWidget { border-bottom:1px solid var(--border-lt) !important; background:var(--white) !important; color:var(--text) !important; }
.mw-echo-ui-notificationItemWidget:hover { background:#f8f9fa !important; }

/* ── Progress bar (reading) ────────────────────────────────── */
#zc-reading-progress { background:var(--blue) !important; box-shadow:none !important; }

/* ── Back to top ───────────────────────────────────────────── */
#zc-back-to-top { background:var(--blue) !important; color:#fff !important; box-shadow:0 2px 8px rgba(0,0,0,0.2) !important; font-size:1rem !important; }

/* ── Copy button ───────────────────────────────────────────── */
.zc-copy-btn { background:#f8f9fa !important; border:1px solid var(--border) !important; color:var(--text-dim) !important; }
.zc-copy-btn:hover { background:var(--border-lt) !important; border-color:var(--blue) !important; color:var(--blue) !important; }

/* ── Recent changes ────────────────────────────────────────── */
.mw-changeslist-line { border-bottom:1px solid var(--border-lt) !important; padding:3px 0 !important; }
.mw-changeslist-separator { display:none; }

/* ═══════════════════════════════════════════════════════════
   MAIN PAGE β€” Wikipedia Layout
   ═══════════════════════════════════════════════════════════ */

/* Hide the page title on Main_Page */
.page-Main_Page #firstHeading,
.page-Main_Page .mw-page-title-main { display:none !important; }

/* Top banner */
#mp-topbanner {
  background: var(--blue-hd);
  border: 1px solid var(--border);
  padding: 12px 16px;
  margin-bottom: 14px;
  text-align: center;
  font-size: 1.05em;
}

/* Main page column container */
#mp-upper {
  display: flex;
  gap: 0;
  margin-bottom: 14px;
  align-items: flex-start;
}

/* Left column (55%) */
#mp-left {
  width: 55%;
  padding-right: 12px;
  border-right: 1px solid var(--border);
}

/* Right column (45%) */
#mp-right {
  width: 45%;
  padding-left: 12px;
}

/* Section box headings */
.mp-h2 {
  background: var(--blue-hd);
  border: 1px solid var(--border);
  border-bottom: none;
  padding: 5px 10px;
  font-size: 0.95em;
  font-weight: bold;
  font-family: var(--font-sans);
  color: var(--text);
  margin: 0;
}
.mp-h2-yellow { background: var(--yellow-bg); border-bottom: none; }
.mp-h2-green  { background: #ecf5ec; border-bottom: none; }
.mp-h2-gray   { background: var(--gray-hd); border-bottom: none; }

/* Section box body */
.mp-body {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: none;
  padding: 10px 12px;
  margin-bottom: 12px;
  font-size: 0.875em;
  line-height: 1.6;
  color: var(--text);
}
.mp-body ul { margin: 0; padding-left: 1.5em; }
.mp-body li { margin-bottom: 4px; }
.mp-body a { color: var(--blue) !important; }

/* Portal grid (bottom of main page) */
#mp-portals {
  margin-top: 14px;
  border: 1px solid var(--border);
}
#mp-portals-header {
  background: var(--gray-hd);
  border-bottom: 1px solid var(--border);
  padding: 6px 12px;
  font-weight: bold;
  font-size: 0.95em;
}
.mp-portal-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  background: var(--white);
}
.mp-portal-cell {
  flex: 1 1 16%;
  border-right: 1px solid var(--border-lt);
  border-bottom: 1px solid var(--border-lt);
  padding: 10px 8px;
  text-align: center;
  font-size: 0.875em;
  min-width: 100px;
}
.mp-portal-cell:hover { background: var(--blue-lt); }
.mp-portal-cell a { color: var(--blue) !important; font-weight: bold; display:block; }
.mp-portal-icon { font-size: 1.8em; display: block; margin-bottom: 4px; line-height:1; }
.mp-portal-desc { display:block; color:var(--text-dim); font-size:0.85em; margin-top:2px; font-weight:normal; }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 768px) {
  #mp-upper { flex-direction: column; }
  #mp-left { width: 100%; padding-right: 0; border-right: none; border-bottom: 1px solid var(--border); padding-bottom: 12px; margin-bottom: 12px; }
  #mp-right { width: 100%; padding-left: 0; }
  .infobox { float: none !important; width: 100% !important; margin: 0 0 1em 0 !important; }
  .mw-body { padding: 12px !important; }
  .mp-portal-cell { flex: 1 1 30%; }
}

@media print {
  #mw-head, #mw-panel, #footer, .noprint, #zc-reading-progress, #zc-back-to-top { display:none !important; }
  body { background:#fff !important; color:#000 !important; }
  a { color:#000 !important; text-decoration:underline !important; }
}