Difference between revisions of "MediaWiki:Vector.css"
Jump to navigation
Jump to search
| Line 274: | Line 274: | ||
/* ===== End of Vector overrides ===== */ | /* ===== 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; } | ||
Revision as of 13:44, 25 September 2025
/************************************************************
* 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; }