MediaWiki:Vector.css

From Holdfast: Nations At War
Revision as of 13:44, 25 September 2025 by Xarkanoth (talk | contribs)
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/************************************************************
 * Holdfast Wiki – Vector skin overrides (Neutral / Tan)
 * Single source of truth for colors, spacing, and layout.
 ************************************************************/

/* =========================
   0) THEME VARIABLES
   ========================= */
:root{
  /* Layout */
  --hf-sidebar-w: 13em;            /* sidebar width */
  --hf-logo-h: 236px;              /* Vector logo background height */

  /* Page & cards */
  --hf-page-bg: #eae1cc;           /* parchment */
  --hf-card-bg: #fffdf6;           /* content card */
  --hf-card-border: #d6ceb9;
  --hf-shadow: 0 1px 2px rgba(0,0,0,.06);

  /* Sidebar */
  --hf-side-bg: #c5b08a;           /* tan */
  --hf-side-fg: #2b2b2b;           /* default text in sidebar */
  --hf-side-link: #1b1b1b;         /* link text in sidebar */
  --hf-side-link-hover: #000;      /* link hover text in sidebar */

  /* Text & links */
  --hf-fg: #1e1e1e;
  --hf-link: #1e4ed8;
  --hf-link-hover: #153ea8;
  --hf-link-visited: #6b21a8;

  /* Headings */
  --hf-h2-fg: #1c1c1c;
  --hf-h2-underline: #d8cfb8;

  /* Accents (borders that match sidebar tone) */
  --hf-tan-border: #b3a07c;
}

/* =========================
   1) GLOBAL LAYOUT
   ========================= */
body{
  background: var(--hf-page-bg);
  color: var(--hf-fg);
}
.vector-body .mw-content-container{
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 1rem;
}

/* Main content as a card */
#content{
  background: var(--hf-card-bg);
  border: 1px solid var(--hf-card-border);
  border-radius: 10px;
  padding: 1.2rem 1.4rem;
  margin-left: var(--hf-sidebar-w);  /* clear the fixed sidebar */
  box-shadow: var(--hf-shadow);
  position: relative;
  z-index: 2;
}

/* =========================
   2) SIDEBAR (FULL-HEIGHT TAN)
   ========================= */
#mw-panel{
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: var(--hf-sidebar-w);
  background: var(--hf-side-bg);
  color: var(--hf-side-fg);
  border-right: 1px solid rgba(0,0,0,.15);
  padding-top: calc(var(--hf-logo-h) + .75rem); /* room for logo */
  z-index: 1;
}

/* Sidebar logo block (Vector uses background-image on the <a>) */
#p-logo{
  background: var(--hf-side-bg);
  padding: .75rem .6rem 0;
}
#p-logo a{
  display: block;
  height: var(--hf-logo-h);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
  text-indent: -9999px; /* hide "Main Page" text */
  overflow: hidden;
}

/* Sidebar links & headings */
#mw-panel .portal .body li a{
  color: var(--hf-side-link);
  display: block;
  padding: .28em .5em;
  border-radius: 4px;
  text-decoration: none;
}
#mw-panel .portal .body li a:hover{
  background: rgba(0,0,0,.06);
  color: var(--hf-side-link-hover);
}
#mw-panel .portal .portal-heading{
  color: #1b1b1b;
  font-weight: 700;
  margin: .4rem .45rem .25rem;
}

/* =========================
   3) TOP HEADER & TABS
   ========================= */
#mw-head-base,
#mw-head{
  background: #cbb78f;                         /* subtle solid tan */
  border-bottom: 1px solid #b8a681;            /* thin divider */
  margin-left: var(--hf-sidebar-w);            /* align with fixed sidebar */
}
.vector-menu-tabs a{
  color: #1b1b1b;
}
.vector-menu-tabs a:hover{
  background: rgba(0,0,0,.06);
}
.vector-menu-tabs .selected a{
  background: rgba(255,255,255,.25);
  border-color: rgba(0,0,0,.15);
}

/* =========================
   4) HEADINGS & SECTION BARS
   ========================= */

/* Clean H2/H3 underlined headings (no colored bars) */
.mw-parser-output h2{
  background: transparent !important;
  color: var(--hf-h2-fg);
  font-weight: 700;                 /* slightly reduced from 800 for balance */
  letter-spacing: .2px;
  margin: 1.1rem 0 .6rem;
  padding: .1em 0;
  border-bottom: 2px solid var(--hf-h2-underline);
  border-radius: 0;
}
.mw-parser-output h3{
  border-bottom: 1px solid var(--hf-h2-underline);
  padding-bottom: .15em;
  margin-top: .9rem;
}

/* Template section bars (match sidebar tan) */
.hf-section,
#mf-content{
  background: var(--hf-side-bg) !important;
  color: var(--hf-side-link-hover) !important;
  font-weight: 700;
  font-variant: small-caps;
  padding: .42em .7em !important;
  margin: .9rem 0 .6rem !important;
  border: 1px solid var(--hf-tan-border) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* Last-resort cleanup for old inline greens */
.mw-parser-output [style*="#3c553c"]{
  background: transparent !important;
  color: inherit !important;
  border-color: var(--hf-h2-underline) !important;
}

/* =========================
   5) HERO / HEADERTEMPLATE
   ========================= */
.hf-hero{ margin-top: .7em; margin-bottom: .6rem; }
.hf-hero-table{
  width: 100%;
  border: 1px solid var(--hf-card-border);
  border-radius: 12px;
  background: var(--hf-card-bg);
  color: var(--hf-fg);
  box-shadow: var(--hf-shadow);
}
.hf-hero-left,
.hf-hero-right{
  padding: .7em .9em;
}
.hf-hero-title{
  font-size: 195%;
  font-weight: 800;
  margin: 0;
}

/* =========================
   6) LINKS, LISTS, TABLES, CODE
   ========================= */

/* Links */
.mw-parser-output a{ color: var(--hf-link); }
.mw-parser-output a:hover{ color: var(--hf-link-hover); text-decoration: underline; }
.mw-parser-output a:visited{ color: var(--hf-link-visited); }

/* Lists breathe a bit more on parchment */
.mw-parser-output ul{ margin-left: 1.25em; }
.mw-parser-output li{ line-height: 1.45; }

/* Tables tuned for light theme */
.wikitable{
  background: #fffefa;
  border-color: var(--hf-card-border);
  border-radius: 10px;
  overflow: hidden;
}
.wikitable > * > tr > th{
  background: #f4eedb;
  border-bottom-color: var(--hf-card-border);
  font-weight: 700;
}
.wikitable tr:nth-child(even) td{ background: #fff9eb; }

/* Code blocks (dark for readability) */
pre,
.syntaxhighlight{
  background: #232323 !important;
  color: #e7e7e7 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 10px;
  padding: .8em 1em !important;
}

/* Right-aligned images/cards shouldn't kiss tan bars */
.thumb.tright,
.mw-halign-right .thumb,
.floatright{
  margin-left: .75rem;
}

/* =========================
   7) INTERACTIONS
   ========================= */

/* Custom [Show]/[Hide] toggles styled like links */
span[class^="mw-customtoggle-"]{
  color: #0645ad;
  cursor: pointer;
  text-decoration: underline;
  font-weight: normal;
}
span[class^="mw-customtoggle-"]:hover{
  color: #0b0080;
}

/* Sidebar link focus/active states for keyboard users */
#mw-panel .portal .body li a:active,
#mw-panel .portal .body li a:focus{
  outline: 2px solid rgba(0,0,0,.18);
  outline-offset: 2px;
  border-radius: 4px;
}

/* =========================
   8) RESPONSIVE TWEAKS
   ========================= */
@media (max-width: 1200px){
  :root { --hf-sidebar-w: 11.5em; }
  #content, #mw-head, #mw-head-base{ margin-left: var(--hf-sidebar-w); }
}
@media (max-width: 980px){
  :root { --hf-sidebar-w: 10.5em; }
  #content, #mw-head, #mw-head-base{ margin-left: var(--hf-sidebar-w); }
}

/* ===== End of Vector overrides ===== */

/************ READABILITY FIX PACK ************/
/* 1) Stronger contrast + bigger base type */
:root{
  --hf-page-bg: #e7ddc5;          /* a touch darker parchment */
  --hf-card-bg: #fffdf9;          /* slightly warmer card */
  --hf-fg: #141414;               /* darker body text */
  --hf-link: #1843c6;             /* deeper link blue */
  --hf-link-hover: #1236a2;
  --hf-link-visited: #5a1a92;
  --hf-h2-fg: #111;               /* darker headings */
  --hf-h2-underline: #cdbf9f;     /* darker underline */
  --hf-side-bg: #bfa57b;          /* sidebar/section bars a step darker */
  --hf-tan-border: #a88f66;       /* matching border */
}

/* 2) Typography defaults (Vector is tiny by default) */
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, Arial, sans-serif;
  font-size: 16px;                /* was ~14–15px */
  line-height: 1.6;               /* room to breathe */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.mw-parser-output > p { margin: 0.5em 0 0.9em; }

/* 3) Links – clearer, consistent */
.mw-parser-output a {
  color: var(--hf-link);
  text-decoration: none;
}
.mw-parser-output a:hover {
  color: var(--hf-link-hover);
  text-decoration: underline;
}
.mw-parser-output a:visited { color: var(--hf-link-visited); }

/* 4) Sidebar links – brighter on tan */
#mw-panel .portal .body li a {
  color: #111;
}
#mw-panel .portal .body li a:hover {
  background: rgba(0,0,0,.08);
  color: #000;
}

/* 5) Section bars (same tan, but stronger contrast + flatter) */
.hf-section, #mf-content {
  background: var(--hf-side-bg) !important;
  color: #111 !important;
  border: 1px solid var(--hf-tan-border) !important;
  border-radius: 4px !important;
  padding: .5em .75em !important;
  margin: .9rem 0 .6rem !important;
  box-shadow: none !important;
}

/* 6) Headings – heavier and clearer */
.mw-parser-output h2 {
  color: var(--hf-h2-fg);
  font-weight: 800;
  border-bottom: 2px solid var(--hf-h2-underline);
  margin: 1rem 0 .6rem;
}
.mw-parser-output h3 {
  color: #171717;
  font-weight: 700;
  border-bottom: 1px solid var(--hf-h2-underline);
}

/* 7) Lists + tables – easier scan */
.mw-parser-output li { line-height: 1.55; }
.wikitable { border-color: #cfc5ad; }
.wikitable > * > tr > th { background: #efe5cb; }

/* 8) Hero text – ensure contrast on light card */
.hf-hero-table { background: var(--hf-card-bg); color: var(--hf-fg); }
.hf-hero-right a { color: var(--hf-link); }

/* 9) Top bar – reduce glare, keep tan */
#mw-head-base, #mw-head {
  background: #c7b189;
  border-bottom: 1px solid #ac9872;
}
.vector-menu-tabs a { color: #222; }
.vector-menu-tabs a:hover { background: rgba(0,0,0,.06); }
.vector-menu-tabs .selected a { background: rgba(255,255,255,.28); }

/* 10) Code blocks – a hair brighter text */
pre, .syntaxhighlight { color: #efefef !important; }