Jump to content

MediaWiki:Common.css: Difference between revisions

From λ LUMENWARD
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
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:11, 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;
}