Jump to content

MediaWiki:Common.css: Difference between revisions

From λ LUMENWARD
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;
}