Difference between revisions of "MediaWiki:Vector.css"
Jump to navigation
Jump to search
| Line 9: | Line 9: | ||
:root{ | :root{ | ||
/* Layout */ | /* Layout */ | ||
| − | --hf-sidebar-w: 13em; /* sidebar width */ | + | --hf-sidebar-w: 13em; /* sidebar width (see responsive tweaks) */ |
--hf-logo-h: 236px; /* Vector logo background height */ | --hf-logo-h: 236px; /* Vector logo background height */ | ||
/* Page & cards */ | /* Page & cards */ | ||
| − | --hf-page-bg: # | + | --hf-page-bg: #e7ddc5; /* parchment (slightly darker for contrast) */ |
| − | --hf-card-bg: # | + | --hf-card-bg: #fffdf9; /* content card */ |
--hf-card-border: #d6ceb9; | --hf-card-border: #d6ceb9; | ||
--hf-shadow: 0 1px 2px rgba(0,0,0,.06); | --hf-shadow: 0 1px 2px rgba(0,0,0,.06); | ||
| − | /* Sidebar */ | + | /* Sidebar (tan) */ |
| − | --hf-side-bg: # | + | --hf-side-bg: #bfa57b; /* sidebar + section bars */ |
| − | --hf-side-fg: #2b2b2b; | + | --hf-side-fg: #2b2b2b; |
| − | --hf-side-link: # | + | --hf-side-link: #111; /* darker for readability */ |
| − | --hf-side-link-hover: #000; | + | --hf-side-link-hover: #000; |
| + | --hf-tan-border: #a88f66; /* border that matches tan */ | ||
| + | |||
| + | /* Top bar */ | ||
| + | --hf-topbar-bg: #c7b189; | ||
| + | --hf-topbar-border: #ac9872; | ||
/* Text & links */ | /* Text & links */ | ||
| − | --hf-fg: # | + | --hf-fg: #141414; |
| − | --hf-link: # | + | --hf-link: #1843c6; |
| − | --hf-link-hover: # | + | --hf-link-hover: #1236a2; |
| − | --hf-link-visited: # | + | --hf-link-visited: #5a1a92; |
/* Headings */ | /* Headings */ | ||
| − | --hf-h2-fg: # | + | --hf-h2-fg: #111; |
| − | --hf-h2-underline: # | + | --hf-h2-underline: #cdbf9f; |
| − | |||
| − | |||
| − | |||
} | } | ||
/* ========================= | /* ========================= | ||
| − | 1) GLOBAL LAYOUT | + | 1) GLOBAL LAYOUT & TYPOGRAPHY |
========================= */ | ========================= */ | ||
body{ | body{ | ||
background: var(--hf-page-bg); | background: var(--hf-page-bg); | ||
color: var(--hf-fg); | color: var(--hf-fg); | ||
| + | font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,Arial,sans-serif; | ||
| + | font-size: 16px; /* Vector defaults smaller */ | ||
| + | line-height: 1.6; | ||
| + | -webkit-font-smoothing: antialiased; | ||
| + | text-rendering: optimizeLegibility; | ||
} | } | ||
.vector-body .mw-content-container{ | .vector-body .mw-content-container{ | ||
| Line 50: | Line 57: | ||
padding-inline: 1rem; | padding-inline: 1rem; | ||
} | } | ||
| + | .mw-parser-output > p{ margin: .5em 0 .9em; } | ||
/* Main content as a card */ | /* Main content as a card */ | ||
| Line 57: | Line 65: | ||
border-radius: 10px; | border-radius: 10px; | ||
padding: 1.2rem 1.4rem; | padding: 1.2rem 1.4rem; | ||
| − | margin-left: var(--hf-sidebar-w); | + | margin-left: var(--hf-sidebar-w); /* clear the fixed sidebar */ |
box-shadow: var(--hf-shadow); | box-shadow: var(--hf-shadow); | ||
position: relative; | position: relative; | ||
| Line 101: | Line 109: | ||
} | } | ||
#mw-panel .portal .body li a:hover{ | #mw-panel .portal .body li a:hover{ | ||
| − | background: rgba(0,0,0,. | + | background: rgba(0,0,0,.08); |
color: var(--hf-side-link-hover); | color: var(--hf-side-link-hover); | ||
} | } | ||
| Line 115: | Line 123: | ||
#mw-head-base, | #mw-head-base, | ||
#mw-head{ | #mw-head{ | ||
| − | background: | + | background: var(--hf-topbar-bg); |
| − | border-bottom: 1px solid | + | border-bottom: 1px solid var(--hf-topbar-border); |
| − | margin-left: var(--hf-sidebar-w | + | margin-left: var(--hf-sidebar-w); |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| + | .vector-menu-tabs a{ color: #222; } | ||
| + | .vector-menu-tabs a:hover{ background: rgba(0,0,0,.06); } | ||
.vector-menu-tabs .selected a{ | .vector-menu-tabs .selected a{ | ||
| − | background: rgba(255,255,255,. | + | background: rgba(255,255,255,.28); |
border-color: rgba(0,0,0,.15); | border-color: rgba(0,0,0,.15); | ||
} | } | ||
| Line 138: | Line 142: | ||
background: transparent !important; | background: transparent !important; | ||
color: var(--hf-h2-fg); | color: var(--hf-h2-fg); | ||
| − | font-weight: | + | font-weight: 800; |
letter-spacing: .2px; | letter-spacing: .2px; | ||
| − | margin: | + | margin: 1rem 0 .6rem; |
padding: .1em 0; | padding: .1em 0; | ||
border-bottom: 2px solid var(--hf-h2-underline); | border-bottom: 2px solid var(--hf-h2-underline); | ||
| Line 146: | Line 150: | ||
} | } | ||
.mw-parser-output h3{ | .mw-parser-output h3{ | ||
| + | color: #171717; | ||
| + | font-weight: 700; | ||
border-bottom: 1px solid var(--hf-h2-underline); | border-bottom: 1px solid var(--hf-h2-underline); | ||
padding-bottom: .15em; | padding-bottom: .15em; | ||
| Line 155: | Line 161: | ||
#mf-content{ | #mf-content{ | ||
background: var(--hf-side-bg) !important; | background: var(--hf-side-bg) !important; | ||
| − | color: | + | color: #111 !important; |
font-weight: 700; | font-weight: 700; | ||
font-variant: small-caps; | font-variant: small-caps; | ||
| − | padding: . | + | padding: .5em .75em !important; |
margin: .9rem 0 .6rem !important; | margin: .9rem 0 .6rem !important; | ||
border: 1px solid var(--hf-tan-border) !important; | border: 1px solid var(--hf-tan-border) !important; | ||
| Line 185: | Line 191: | ||
} | } | ||
.hf-hero-left, | .hf-hero-left, | ||
| − | .hf-hero-right{ | + | .hf-hero-right{ padding: .7em .9em; } |
| − | |||
| − | } | ||
.hf-hero-title{ | .hf-hero-title{ | ||
font-size: 195%; | font-size: 195%; | ||
| Line 199: | Line 203: | ||
/* Links */ | /* Links */ | ||
| − | .mw-parser-output a{ color: var(--hf-link); } | + | .mw-parser-output a{ |
| − | .mw-parser-output a:hover{ color: var(--hf-link-hover); text-decoration: underline; } | + | 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); } | .mw-parser-output a:visited{ color: var(--hf-link-visited); } | ||
/* Lists breathe a bit more on parchment */ | /* Lists breathe a bit more on parchment */ | ||
.mw-parser-output ul{ margin-left: 1.25em; } | .mw-parser-output ul{ margin-left: 1.25em; } | ||
| − | .mw-parser-output li{ line-height: 1. | + | .mw-parser-output li{ line-height: 1.55; } |
/* Tables tuned for light theme */ | /* Tables tuned for light theme */ | ||
| Line 215: | Line 225: | ||
} | } | ||
.wikitable > * > tr > th{ | .wikitable > * > tr > th{ | ||
| − | background: # | + | background: #efe5cb; |
border-bottom-color: var(--hf-card-border); | border-bottom-color: var(--hf-card-border); | ||
font-weight: 700; | font-weight: 700; | ||
| Line 225: | Line 235: | ||
.syntaxhighlight{ | .syntaxhighlight{ | ||
background: #232323 !important; | background: #232323 !important; | ||
| − | color: # | + | color: #efefef !important; |
border: 1px solid #1a1a1a !important; | border: 1px solid #1a1a1a !important; | ||
border-radius: 10px; | border-radius: 10px; | ||
| Line 234: | Line 244: | ||
.thumb.tright, | .thumb.tright, | ||
.mw-halign-right .thumb, | .mw-halign-right .thumb, | ||
| − | .floatright{ | + | .floatright{ margin-left: .75rem; } |
| − | |||
| − | } | ||
/* ========================= | /* ========================= | ||
| − | 7) INTERACTIONS | + | 7) INTERACTIONS / ACCESSIBILITY |
========================= */ | ========================= */ | ||
| − | |||
| − | |||
span[class^="mw-customtoggle-"]{ | span[class^="mw-customtoggle-"]{ | ||
color: #0645ad; | color: #0645ad; | ||
| Line 249: | Line 255: | ||
font-weight: normal; | font-weight: normal; | ||
} | } | ||
| − | span[class^="mw-customtoggle-"]:hover{ | + | span[class^="mw-customtoggle-"]:hover{ color: #0b0080; } |
| − | |||
| − | } | ||
| − | |||
#mw-panel .portal .body li a:active, | #mw-panel .portal .body li a:active, | ||
#mw-panel .portal .body li a:focus{ | #mw-panel .portal .body li a:focus{ | ||
| Line 274: | Line 277: | ||
/* ===== End of Vector overrides ===== */ | /* ===== End of Vector overrides ===== */ | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Revision as of 13:47, 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 (see responsive tweaks) */
--hf-logo-h: 236px; /* Vector logo background height */
/* Page & cards */
--hf-page-bg: #e7ddc5; /* parchment (slightly darker for contrast) */
--hf-card-bg: #fffdf9; /* content card */
--hf-card-border: #d6ceb9;
--hf-shadow: 0 1px 2px rgba(0,0,0,.06);
/* Sidebar (tan) */
--hf-side-bg: #bfa57b; /* sidebar + section bars */
--hf-side-fg: #2b2b2b;
--hf-side-link: #111; /* darker for readability */
--hf-side-link-hover: #000;
--hf-tan-border: #a88f66; /* border that matches tan */
/* Top bar */
--hf-topbar-bg: #c7b189;
--hf-topbar-border: #ac9872;
/* Text & links */
--hf-fg: #141414;
--hf-link: #1843c6;
--hf-link-hover: #1236a2;
--hf-link-visited: #5a1a92;
/* Headings */
--hf-h2-fg: #111;
--hf-h2-underline: #cdbf9f;
}
/* =========================
1) GLOBAL LAYOUT & TYPOGRAPHY
========================= */
body{
background: var(--hf-page-bg);
color: var(--hf-fg);
font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,Arial,sans-serif;
font-size: 16px; /* Vector defaults smaller */
line-height: 1.6;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
.vector-body .mw-content-container{
max-width: 1120px;
margin-inline: auto;
padding-inline: 1rem;
}
.mw-parser-output > p{ margin: .5em 0 .9em; }
/* 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,.08);
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: var(--hf-topbar-bg);
border-bottom: 1px solid var(--hf-topbar-border);
margin-left: var(--hf-sidebar-w);
}
.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);
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: 800;
letter-spacing: .2px;
margin: 1rem 0 .6rem;
padding: .1em 0;
border-bottom: 2px solid var(--hf-h2-underline);
border-radius: 0;
}
.mw-parser-output h3{
color: #171717;
font-weight: 700;
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: #111 !important;
font-weight: 700;
font-variant: small-caps;
padding: .5em .75em !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);
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); }
/* Lists breathe a bit more on parchment */
.mw-parser-output ul{ margin-left: 1.25em; }
.mw-parser-output li{ line-height: 1.55; }
/* Tables tuned for light theme */
.wikitable{
background: #fffefa;
border-color: var(--hf-card-border);
border-radius: 10px;
overflow: hidden;
}
.wikitable > * > tr > th{
background: #efe5cb;
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: #efefef !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 / ACCESSIBILITY
========================= */
span[class^="mw-customtoggle-"]{
color: #0645ad;
cursor: pointer;
text-decoration: underline;
font-weight: normal;
}
span[class^="mw-customtoggle-"]:hover{ color: #0b0080; }
#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 ===== */