MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary Tag: Manual revert |
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 base palette + Special pages (OOUI/HTMLForm) | |||
Appended after existing rules. | |||
========================================================= */ | |||
:root { | |||
--lw-text: #32302f; /* logo hue */ | |||
--lw-muted: #6f6a66; | |||
--lw-bg: #ffffff; | |||
--lw-surface: #ffffff; | |||
--lw-border: #e6e1dc; | |||
--lw-input-border: #cfc7c0; | |||
--lw-focus: rgba(50,48,47,.22); | |||
} | |||
/* Global background + text color (all namespaces, incl. Special) */ | |||
html, body, | |||
.mw-page-container, | |||
.mw-body, | |||
.mw-body-content, | |||
#content { | |||
background: var(--lw-bg) !important; | |||
color: var(--lw-text) !important; | |||
} | |||
h1, h2, h3, h4, h5, h6, | |||
.mw-first-heading { | |||
color: var(--lw-text) !important; | |||
} | |||
/* Keep links aligned with the logo hue (overrides your earlier #111/#333) */ | |||
a, a:visited, | |||
.mw-body a, .mw-body a:visited, | |||
#content a, #content a:visited, | |||
.mw-footer a, .mw-footer a:visited { | |||
color: var(--lw-text) !important; | |||
} | |||
/* ========================================================= | |||
Special pages + backend forms | |||
========================================================= */ | |||
/* Ensure Special pages inherit base palette */ | |||
body.mw-specialpage, | |||
body.mw-specialpage .mw-page-container, | |||
body.mw-specialpage .mw-body, | |||
body.mw-specialpage #content { | |||
background: var(--lw-bg) !important; | |||
color: var(--lw-text) !important; | |||
} | |||
/* Labels + help text */ | |||
body.mw-specialpage label, | |||
body.mw-specialpage .mw-htmlform-description, | |||
body.mw-specialpage .mw-htmlform-help, | |||
body.mw-specialpage .oo-ui-labelElement-label, | |||
body.mw-specialpage .oo-ui-fieldLayout-helpText { | |||
color: var(--lw-text) !important; | |||
} | |||
body.mw-specialpage .mw-htmlform-help, | |||
body.mw-specialpage .oo-ui-fieldLayout-helpText { | |||
color: var(--lw-muted) !important; | |||
} | |||
/* Classic HTMLForm inputs (CreateAccount uses these) */ | |||
body.mw-specialpage .mw-htmlform input[type="text"], | |||
body.mw-specialpage .mw-htmlform input[type="password"], | |||
body.mw-specialpage .mw-htmlform input[type="email"], | |||
body.mw-specialpage .mw-htmlform input[type="search"], | |||
body.mw-specialpage .mw-htmlform textarea, | |||
body.mw-specialpage .mw-htmlform select { | |||
background: #fff !important; | |||
color: var(--lw-text) !important; | |||
border: 1px solid var(--lw-input-border) !important; | |||
border-radius: 6px; | |||
} | |||
body.mw-specialpage .mw-htmlform input:focus, | |||
body.mw-specialpage .mw-htmlform textarea:focus, | |||
body.mw-specialpage .mw-htmlform select:focus { | |||
outline: none !important; | |||
box-shadow: 0 0 0 3px var(--lw-focus) !important; | |||
border-color: var(--lw-text) !important; | |||
} | |||
/* OOUI widgets (Preferences uses these heavily) */ | |||
body.mw-specialpage .oo-ui-inputWidget-input, | |||
body.mw-specialpage .oo-ui-textInputWidget input, | |||
body.mw-specialpage .oo-ui-textInputWidget textarea, | |||
body.mw-specialpage .oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle, | |||
body.mw-specialpage .oo-ui-radioInputWidget [type="radio"], | |||
body.mw-specialpage .oo-ui-checkboxInputWidget [type="checkbox"] { | |||
color: var(--lw-text) !important; | |||
} | |||
body.mw-specialpage .oo-ui-inputWidget-input, | |||
body.mw-specialpage .oo-ui-textInputWidget input, | |||
body.mw-specialpage .oo-ui-textInputWidget textarea, | |||
body.mw-specialpage .oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle { | |||
background: #fff !important; | |||
border-color: var(--lw-input-border) !important; | |||
border-radius: 6px; | |||
} | |||
body.mw-specialpage .oo-ui-inputWidget-input:focus, | |||
body.mw-specialpage .oo-ui-textInputWidget input:focus, | |||
body.mw-specialpage .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 */ | |||
body.mw-specialpage .mw-ui-button, | |||
body.mw-specialpage .oo-ui-buttonElement-button { | |||
border-radius: 6px; | |||
border-color: var(--lw-input-border) !important; | |||
} | |||
/* Progressive/primary buttons */ | |||
body.mw-specialpage .mw-ui-button.mw-ui-progressive, | |||
body.mw-specialpage .mw-ui-button.mw-ui-primary, | |||
body.mw-specialpage .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; | |||
} | } | ||
Revision as of 20:16, 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 base palette + Special pages (OOUI/HTMLForm)
Appended after existing rules.
========================================================= */
:root {
--lw-text: #32302f; /* logo hue */
--lw-muted: #6f6a66;
--lw-bg: #ffffff;
--lw-surface: #ffffff;
--lw-border: #e6e1dc;
--lw-input-border: #cfc7c0;
--lw-focus: rgba(50,48,47,.22);
}
/* Global background + text color (all namespaces, incl. Special) */
html, body,
.mw-page-container,
.mw-body,
.mw-body-content,
#content {
background: var(--lw-bg) !important;
color: var(--lw-text) !important;
}
h1, h2, h3, h4, h5, h6,
.mw-first-heading {
color: var(--lw-text) !important;
}
/* Keep links aligned with the logo hue (overrides your earlier #111/#333) */
a, a:visited,
.mw-body a, .mw-body a:visited,
#content a, #content a:visited,
.mw-footer a, .mw-footer a:visited {
color: var(--lw-text) !important;
}
/* =========================================================
Special pages + backend forms
========================================================= */
/* Ensure Special pages inherit base palette */
body.mw-specialpage,
body.mw-specialpage .mw-page-container,
body.mw-specialpage .mw-body,
body.mw-specialpage #content {
background: var(--lw-bg) !important;
color: var(--lw-text) !important;
}
/* Labels + help text */
body.mw-specialpage label,
body.mw-specialpage .mw-htmlform-description,
body.mw-specialpage .mw-htmlform-help,
body.mw-specialpage .oo-ui-labelElement-label,
body.mw-specialpage .oo-ui-fieldLayout-helpText {
color: var(--lw-text) !important;
}
body.mw-specialpage .mw-htmlform-help,
body.mw-specialpage .oo-ui-fieldLayout-helpText {
color: var(--lw-muted) !important;
}
/* Classic HTMLForm inputs (CreateAccount uses these) */
body.mw-specialpage .mw-htmlform input[type="text"],
body.mw-specialpage .mw-htmlform input[type="password"],
body.mw-specialpage .mw-htmlform input[type="email"],
body.mw-specialpage .mw-htmlform input[type="search"],
body.mw-specialpage .mw-htmlform textarea,
body.mw-specialpage .mw-htmlform select {
background: #fff !important;
color: var(--lw-text) !important;
border: 1px solid var(--lw-input-border) !important;
border-radius: 6px;
}
body.mw-specialpage .mw-htmlform input:focus,
body.mw-specialpage .mw-htmlform textarea:focus,
body.mw-specialpage .mw-htmlform select:focus {
outline: none !important;
box-shadow: 0 0 0 3px var(--lw-focus) !important;
border-color: var(--lw-text) !important;
}
/* OOUI widgets (Preferences uses these heavily) */
body.mw-specialpage .oo-ui-inputWidget-input,
body.mw-specialpage .oo-ui-textInputWidget input,
body.mw-specialpage .oo-ui-textInputWidget textarea,
body.mw-specialpage .oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle,
body.mw-specialpage .oo-ui-radioInputWidget [type="radio"],
body.mw-specialpage .oo-ui-checkboxInputWidget [type="checkbox"] {
color: var(--lw-text) !important;
}
body.mw-specialpage .oo-ui-inputWidget-input,
body.mw-specialpage .oo-ui-textInputWidget input,
body.mw-specialpage .oo-ui-textInputWidget textarea,
body.mw-specialpage .oo-ui-dropdownWidget .oo-ui-dropdownWidget-handle {
background: #fff !important;
border-color: var(--lw-input-border) !important;
border-radius: 6px;
}
body.mw-specialpage .oo-ui-inputWidget-input:focus,
body.mw-specialpage .oo-ui-textInputWidget input:focus,
body.mw-specialpage .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 */
body.mw-specialpage .mw-ui-button,
body.mw-specialpage .oo-ui-buttonElement-button {
border-radius: 6px;
border-color: var(--lw-input-border) !important;
}
/* Progressive/primary buttons */
body.mw-specialpage .mw-ui-button.mw-ui-progressive,
body.mw-specialpage .mw-ui-button.mw-ui-primary,
body.mw-specialpage .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;
}