MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary |
No edit summary Tag: Reverted |
||
| Line 242: | Line 242: | ||
#lumenward-header-links a:hover { | #lumenward-header-links a:hover { | ||
text-decoration: underline; | text-decoration: underline; | ||
} | |||
/* ========================================================= | |||
Lumenward: Global theme (applies to Articles + Special pages) | |||
Put in: MediaWiki:Common.css (recommended) | |||
========================================================= */ | |||
/* --- Brand tokens --- */ | |||
:root { | |||
--lw-text: #32302f; /* your logo hue */ | |||
--lw-muted: #6f6a66; | |||
--lw-link: #32302f; | |||
--lw-link-visited: #32302f; | |||
--lw-bg: #ffffff; | |||
--lw-surface: #ffffff; | |||
--lw-border: #e6e1dc; | |||
--lw-input-bg: #ffffff; | |||
--lw-input-border: #cfc7c0; | |||
--lw-focus: rgba(50, 48, 47, 0.25); | |||
} | |||
/* --- Base typography + background --- */ | |||
body, | |||
.mw-page-container, | |||
.mw-body, | |||
.mw-body-content { | |||
background: var(--lw-bg) !important; | |||
color: var(--lw-text) !important; | |||
} | |||
/* Headings */ | |||
h1, h2, h3, h4, h5, h6, | |||
.mw-first-heading { | |||
color: var(--lw-text) !important; | |||
} | |||
/* Links (Special pages often ignore article-only link rules) */ | |||
a, | |||
.mw-body a, | |||
.mw-body-content a, | |||
#content a, | |||
.mw-footer a { | |||
color: var(--lw-link) !important; | |||
text-decoration-color: rgba(50, 48, 47, 0.35); | |||
} | |||
a:visited, | |||
.mw-body a:visited, | |||
#content a:visited { | |||
color: var(--lw-link-visited) !important; | |||
} | |||
a:hover { | |||
text-decoration: underline; | |||
} | |||
/* Side panels / tools panels */ | |||
.vector-page-toolbar, | |||
.vector-page-toolbar-container, | |||
.vector-body, | |||
.vector-sticky-pinned-container, | |||
.vector-toc, | |||
.mw-portlet, | |||
.vector-menu-content, | |||
.vector-dropdown-content, | |||
#mw-panel { | |||
background: var(--lw-surface) !important; | |||
color: var(--lw-text) !important; | |||
border-color: var(--lw-border) !important; | |||
} | |||
/* Horizontal rules */ | |||
hr { | |||
border-color: var(--lw-border) !important; | |||
} | |||
/* ========================================================= | |||
Special pages: forms (CreateAccount, Preferences, Login, etc.) | |||
Covers both HTMLForm + OOUI where used | |||
========================================================= */ | |||
/* Labels / help text */ | |||
.mw-htmlform label, | |||
.mw-ui-label, | |||
.oo-ui-labelElement-label, | |||
.mw-input label, | |||
.mw-form-related-link, | |||
.mw-htmlform-description, | |||
.mw-htmlform-field-HTMLTextField p, | |||
.mw-message-box, | |||
.mw-parser-output .mw-message-box { | |||
color: var(--lw-text) !important; | |||
} | |||
/* Muted helper text */ | |||
.mw-htmlform-field-HTMLTextField, | |||
.mw-htmlform-help, | |||
.mw-help-field-hint, | |||
.mw-form-related-link, | |||
.mw-input-help, | |||
.oo-ui-fieldLayout-helpText { | |||
color: var(--lw-muted) !important; | |||
} | |||
/* Inputs (classic HTMLForm) */ | |||
.mw-htmlform input[type="text"], | |||
.mw-htmlform input[type="password"], | |||
.mw-htmlform input[type="email"], | |||
.mw-htmlform input[type="search"], | |||
.mw-htmlform textarea, | |||
.mw-htmlform select { | |||
background: var(--lw-input-bg) !important; | |||
color: var(--lw-text) !important; | |||
border: 1px solid var(--lw-input-border) !important; | |||
border-radius: 6px; | |||
} | |||
.mw-htmlform input:focus, | |||
.mw-htmlform textarea:focus, | |||
.mw-htmlform select:focus { | |||
outline: none !important; | |||
box-shadow: 0 0 0 3px var(--lw-focus) !important; | |||
border-color: var(--lw-text) !important; | |||
} | |||
/* Inputs (OOUI-based forms, used heavily on Special:Preferences) */ | |||
.oo-ui-inputWidget-input, | |||
.oo-ui-textInputWidget input, | |||
.oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle, | |||
.oo-ui-textInputWidget textarea { | |||
background: var(--lw-input-bg) !important; | |||
color: var(--lw-text) !important; | |||
border-color: var(--lw-input-border) !important; | |||
border-radius: 6px; | |||
} | |||
.oo-ui-inputWidget-input:focus, | |||
.oo-ui-textInputWidget input:focus, | |||
.oo-ui-textInputWidget textarea:focus { | |||
outline: none !important; | |||
box-shadow: 0 0 0 3px var(--lw-focus) !important; | |||
border-color: var(--lw-text) !important; | |||
} | |||
/* Buttons (both classic + OOUI) */ | |||
.mw-ui-button, | |||
.oo-ui-buttonElement-button { | |||
border-radius: 6px; | |||
border-color: var(--lw-input-border) !important; | |||
} | |||
/* Primary buttons */ | |||
.mw-ui-button.mw-ui-progressive, | |||
.mw-ui-button.mw-ui-primary, | |||
.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button { | |||
background: var(--lw-text) !important; | |||
border-color: var(--lw-text) !important; | |||
color: #fff !important; | |||
} | |||
/* Make Special pages inherit the same link styling everywhere */ | |||
.mw-specialpage a, | |||
.mw-specialpage a:visited { | |||
color: var(--lw-link) !important; | |||
} | } | ||
Revision as of 20:10, 24 December 2025
/* =========================================================
Vector 2022: Center header search WITHOUT moving user tools
========================================================= */
/* Use Vector's real header row as the layout context */
.vector-header {
position: relative !important;
display: flex !important;
align-items: center !important;
}
/* Force the right-side tools to remain FAR RIGHT */
.vector-header-end {
margin-left: auto !important;
display: flex !important;
align-items: center !important;
justify-content: flex-end !important;
}
/* Center ONLY the actual search box (do NOT touch wrappers like [role="search"]) */
.vector-header .vector-search-box,
.vector-header .vector-search-box-vue,
.vector-header #p-search {
position: absolute !important;
left: 38.7% !important;
top: 50% !important;
transform: translate(-50%, -50%) !important;
margin: 0 !important;
z-index: 1 !important;
width: min(620px, calc(100vw - 760px)) !important;
}
/* Keep user tools clickable above any overlap */
.vector-header-end,
.vector-user-links,
.vector-user-menu,
#p-personal {
position: relative !important;
z-index: 2 !important;
}
/* Mobile: revert to normal flow */
@media (max-width: 900px) {
.vector-header .vector-search-box,
.vector-header .vector-search-box-vue,
.vector-header #p-search {
position: static !important;
transform: none !important;
width: 100% !important;
margin-top: 8px !important;
}
}
/* =========================================================
Lumenward visual policy (grayscale-only)
========================================================= */
/* Logo text always black */
.mw-logo a,
.mw-logo a:visited,
.mw-logo a:hover,
.mw-logo a:active {
color: #000 !important;
text-decoration: none !important;
}
/* Links: grayscale only */
a { color: #111 !important; }
a:visited { color: #333 !important; }
a:hover,
a:focus {
color: #111 !important;
text-decoration: underline !important;
}
/* TOC links specifically */
.vector-toc a,
.vector-toc a:visited,
#toc a,
#toc a:visited {
color: #111 !important;
}
/* Footer centered on every page */
#footer { text-align: center !important; }
#footer ul,
#footer-info,
#footer-places,
#footer-icons {
float: none !important;
display: inline-block !important;
text-align: center !important;
margin-left: auto !important;
margin-right: auto !important;
}
#footer li {
float: none !important;
display: inline !important;
margin: 0 8px !important;
}
/* =========================================================
Lumenward – Person Infobox (clean card style)
========================================================= */
/* Main infobox card */
.infobox {
float: right;
clear: right;
width: 270px;
margin: 4.5em 4.5em 1.5em 1.5em; /* aligns with first paragraph */
background: #fafafa;
border: 1px solid #e5e5e5;
border-radius: 10px;
box-shadow: 0 4px 18px rgba(0,0,0,0.04);
font-size: 0.92em;
}
/* Title header */
.infobox th[colspan] {
background: #f2f2f2;
font-weight: 600;
text-align: center;
padding: 10px 8px;
border-bottom: 1px solid #e0e0e0;
border-radius: 10px 10px 0 0;
}
/* Image row container */
.infobox .infobox-image,
.infobox td[colspan]:has(img) {
padding: 12px;
background: #f8f8f8;
border-bottom: 1px solid #e6e6e6;
}
/* Image itself */
.infobox img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
border-radius: 6px;
}
/* Data rows */
.infobox th {
text-align: left;
font-weight: 600; /* titles bold */
padding: 6px 10px;
vertical-align: top;
width: 40%;
white-space: nowrap;
}
.infobox td {
padding: 6px 10px;
vertical-align: top;
}
/* Remove ugly borders */
.infobox tr {
border: none;
}
/* Subtle row separators */
.infobox tr:not(:last-child) td,
.infobox tr:not(:last-child) th {
border-bottom: 1px solid #ededed;
}
.mw-parser-output .infobox {
margin-top: 28px !important; /* increase to move it down */
}
/* Hide category links at bottom of pages */
.catlinks {
display: none;
}
/* Lumenward: soften category appearance */
#mw-normal-catlinks {
font-size: 0.9em;
color: #555;
border-top: 1px solid #e5e5e5;
margin-top: 2em;
padding-top: 0.5em;
}
#mw-normal-catlinks a {
color: #555;
}
/* Lumenward: Wikipedia-like category styling */
#mw-normal-catlinks {
margin-top: 2.5em;
padding-top: 0.6em;
border-top: 1px solid #ddd;
font-size: 0.85em;
color: #666;
}
#mw-normal-catlinks::before {
content: "Categories: ";
font-weight: 600;
color: #444;
}
#mw-normal-catlinks a {
color: #555;
text-decoration: none;
}
#mw-normal-catlinks a:hover {
text-decoration: underline;
}
#lumenward-header-links a {
color: #000 !important;
}
/* =========================================
Lumenward header links — match logo hue
Logo color: #32302f
========================================= */
#lumenward-header-links a,
#lumenward-header-links a:link,
#lumenward-header-links a:visited,
#lumenward-header-links a:hover,
#lumenward-header-links a:active {
color: #32302f !important;
text-decoration: none;
font-weight: 600;
}
/* Optional: subtle hover affordance without color shift */
#lumenward-header-links a:hover {
text-decoration: underline;
}
/* =========================================================
Lumenward: Global theme (applies to Articles + Special pages)
Put in: MediaWiki:Common.css (recommended)
========================================================= */
/* --- Brand tokens --- */
:root {
--lw-text: #32302f; /* your logo hue */
--lw-muted: #6f6a66;
--lw-link: #32302f;
--lw-link-visited: #32302f;
--lw-bg: #ffffff;
--lw-surface: #ffffff;
--lw-border: #e6e1dc;
--lw-input-bg: #ffffff;
--lw-input-border: #cfc7c0;
--lw-focus: rgba(50, 48, 47, 0.25);
}
/* --- Base typography + background --- */
body,
.mw-page-container,
.mw-body,
.mw-body-content {
background: var(--lw-bg) !important;
color: var(--lw-text) !important;
}
/* Headings */
h1, h2, h3, h4, h5, h6,
.mw-first-heading {
color: var(--lw-text) !important;
}
/* Links (Special pages often ignore article-only link rules) */
a,
.mw-body a,
.mw-body-content a,
#content a,
.mw-footer a {
color: var(--lw-link) !important;
text-decoration-color: rgba(50, 48, 47, 0.35);
}
a:visited,
.mw-body a:visited,
#content a:visited {
color: var(--lw-link-visited) !important;
}
a:hover {
text-decoration: underline;
}
/* Side panels / tools panels */
.vector-page-toolbar,
.vector-page-toolbar-container,
.vector-body,
.vector-sticky-pinned-container,
.vector-toc,
.mw-portlet,
.vector-menu-content,
.vector-dropdown-content,
#mw-panel {
background: var(--lw-surface) !important;
color: var(--lw-text) !important;
border-color: var(--lw-border) !important;
}
/* Horizontal rules */
hr {
border-color: var(--lw-border) !important;
}
/* =========================================================
Special pages: forms (CreateAccount, Preferences, Login, etc.)
Covers both HTMLForm + OOUI where used
========================================================= */
/* Labels / help text */
.mw-htmlform label,
.mw-ui-label,
.oo-ui-labelElement-label,
.mw-input label,
.mw-form-related-link,
.mw-htmlform-description,
.mw-htmlform-field-HTMLTextField p,
.mw-message-box,
.mw-parser-output .mw-message-box {
color: var(--lw-text) !important;
}
/* Muted helper text */
.mw-htmlform-field-HTMLTextField,
.mw-htmlform-help,
.mw-help-field-hint,
.mw-form-related-link,
.mw-input-help,
.oo-ui-fieldLayout-helpText {
color: var(--lw-muted) !important;
}
/* Inputs (classic HTMLForm) */
.mw-htmlform input[type="text"],
.mw-htmlform input[type="password"],
.mw-htmlform input[type="email"],
.mw-htmlform input[type="search"],
.mw-htmlform textarea,
.mw-htmlform select {
background: var(--lw-input-bg) !important;
color: var(--lw-text) !important;
border: 1px solid var(--lw-input-border) !important;
border-radius: 6px;
}
.mw-htmlform input:focus,
.mw-htmlform textarea:focus,
.mw-htmlform select:focus {
outline: none !important;
box-shadow: 0 0 0 3px var(--lw-focus) !important;
border-color: var(--lw-text) !important;
}
/* Inputs (OOUI-based forms, used heavily on Special:Preferences) */
.oo-ui-inputWidget-input,
.oo-ui-textInputWidget input,
.oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle,
.oo-ui-textInputWidget textarea {
background: var(--lw-input-bg) !important;
color: var(--lw-text) !important;
border-color: var(--lw-input-border) !important;
border-radius: 6px;
}
.oo-ui-inputWidget-input:focus,
.oo-ui-textInputWidget input:focus,
.oo-ui-textInputWidget textarea:focus {
outline: none !important;
box-shadow: 0 0 0 3px var(--lw-focus) !important;
border-color: var(--lw-text) !important;
}
/* Buttons (both classic + OOUI) */
.mw-ui-button,
.oo-ui-buttonElement-button {
border-radius: 6px;
border-color: var(--lw-input-border) !important;
}
/* Primary buttons */
.mw-ui-button.mw-ui-progressive,
.mw-ui-button.mw-ui-primary,
.oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button {
background: var(--lw-text) !important;
border-color: var(--lw-text) !important;
color: #fff !important;
}
/* Make Special pages inherit the same link styling everywhere */
.mw-specialpage a,
.mw-specialpage a:visited {
color: var(--lw-link) !important;
}