Jump to content

MediaWiki:Common.css: Difference between revisions

From Erindal Wiki
Content deleted Content added
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:

/* ========================================================================
/* ========================================================================
ERINDAL WIKI - COMMON.CSS v6.4 CLEAN BASE
ERINDAL WIKI - VECTOR-2022.CSS v1.1
Target: MediaWiki 1.43.x, legacy Vector skin
Target: MediaWiki 1.43.x, Vector 2022

Cleanup pass: duplicate responsive rules consolidated; no mobile redesign yet.
The skin shell, Erindal navigation, responsive layout and colour modes
are defined here. Designed article systems remain skin-independent below.
======================================================================== */
======================================================================== */

/* Optimized: removed superseded typography passes and obsolete v5 topbar CSS.
Current v6 server-rendered shell and page/template systems are preserved. */


:root {
:root {
--ew-sidebar: 276px;
--ew-sidebar-open: 276px;
--ew-sidebar: var(--ew-sidebar-open);
--ew-topbar: 56px;
--ew-topbar: 56px;
--ew-dark-0: #02070a;
--ew-dark-0: #02070a;
Line 22: Line 21:
--ew-border: rgba(111, 86, 54, .34);
--ew-border: rgba(111, 86, 54, .34);
--ew-link: #0c4771;
--ew-link: #0c4771;
--ew-canvas: var(--ew-paper);
--ew-canvas-soft: var(--ew-paper-light);
--ew-text: var(--ew-ink);
--ew-heading: #181512;
--ew-rule: rgba(91, 70, 44, .32);
--ew-message: rgba(255, 255, 255, .44);
--ew-shadow: rgba(35, 25, 16, .17);
color-scheme: light;
}

html.ew-sidebar-collapsed {
--ew-sidebar: 0px;
}

html[data-ew-theme="dark"] {
--ew-canvas: #11191d;
--ew-canvas-soft: #182329;
--ew-text: #e9e1d6;
--ew-heading: #f1ddb1;
--ew-border: rgba(210, 172, 101, .28);
--ew-link: #8fc8ec;
--ew-rule: rgba(210, 172, 101, .25);
--ew-message: rgba(31, 45, 52, .92);
--ew-shadow: rgba(0, 0, 0, .34);

/* Shared component tokens used by TemplateStyles. These are deliberately
undefined in light mode, where every article keeps its own palette. */
--ew-component-canvas: #11191d;
--ew-component-surface: #182329;
--ew-component-surface-alt: #202d33;
--ew-component-hover: #263941;
--ew-component-text: #eee5d8;
--ew-component-heading: #f0d79c;
--ew-component-muted: #c6bcae;
--ew-component-link: #8fc8ec;
--ew-component-accent: #dfb66f;
--ew-component-border: rgba(210, 172, 101, .24);
--ew-component-shadow: rgba(0, 0, 0, .30);
--ew-component-sheen: rgba(255, 255, 255, .035);
--ew-component-card: rgba(32, 45, 51, .92);
--ew-component-card-hover: rgba(41, 58, 65, .96);
--ew-component-image-blend: normal;
--ew-component-image-filter: none;
color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
html[data-ew-theme="system"] {
--ew-canvas: #11191d;
--ew-canvas-soft: #182329;
--ew-text: #e9e1d6;
--ew-heading: #f1ddb1;
--ew-border: rgba(210, 172, 101, .28);
--ew-link: #8fc8ec;
--ew-rule: rgba(210, 172, 101, .25);
--ew-message: rgba(31, 45, 52, .92);
--ew-shadow: rgba(0, 0, 0, .34);
--ew-component-canvas: #11191d;
--ew-component-surface: #182329;
--ew-component-surface-alt: #202d33;
--ew-component-hover: #263941;
--ew-component-text: #eee5d8;
--ew-component-heading: #f0d79c;
--ew-component-muted: #c6bcae;
--ew-component-link: #8fc8ec;
--ew-component-accent: #dfb66f;
--ew-component-border: rgba(210, 172, 101, .24);
--ew-component-shadow: rgba(0, 0, 0, .30);
--ew-component-sheen: rgba(255, 255, 255, .035);
--ew-component-card: rgba(32, 45, 51, .92);
--ew-component-card-hover: rgba(41, 58, 65, .96);
--ew-component-image-blend: normal;
--ew-component-image-filter: none;
color-scheme: dark;
}
}
}


Line 27: Line 101:
PAGE THEME POLICY
PAGE THEME POLICY
Common.css owns shared layout, typography and component behaviour.
Common.css owns shared layout, typography and component behaviour.
Individual designed pages continue to set their own palette variables.
Individual countries, cities, deities, organizations, characters, magic
articles and other designed pages set their own --country-*, --city-*,
--deity-* or --wiki-* palette variables on their page wrapper.
Do not add per-page colour classes or page-name selectors here.
======================================================================== */
======================================================================== */


html, body {
html,
body {
min-width: 0 !important;
background: var(--ew-dark-0) !important;
background: var(--ew-dark-0) !important;
}
}


body {
body {
color: var(--ew-ink);
margin: 0 !important;
color: var(--ew-text);
font-family: "Crimson Text", Georgia, serif;
font-family: "Alegreya", Georgia, serif;
}
}


/* ---------- GLOBAL DARK SHELL ---------- */
/* ---------- VECTOR 2022 SHELL RESET ---------- */

#mw-panel {
body.skin-vector-2022 .vector-header-container,
body.skin-vector-2022 .vector-sticky-header,
body.skin-vector-2022 .vector-column-start,
body.skin-vector-2022 .vector-column-end,
body.skin-vector-2022 .vector-sitenotice-container,
body.skin-vector-2022 .vector-toc-landmark,
body.skin-vector-2022 #vector-main-menu-pinned-container,
body.skin-vector-2022 #vector-page-tools-pinned-container,
body.skin-vector-2022 #p-search {
display: none !important;
}

body.skin-vector-2022 .mw-page-container,
body.skin-vector-2022 .mw-page-container-inner,
body.skin-vector-2022 .mw-content-container,
body.skin-vector-2022 .vector-body,
body.skin-vector-2022 .vector-body-before-content,
body.skin-vector-2022 .vector-page-titlebar,
body.skin-vector-2022 .vector-page-toolbar-container,
body.skin-vector-2022 .vector-page-toolbar,
body.skin-vector-2022 .vector-page-tools-landmark {
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
}

body.skin-vector-2022 .mw-page-container {
min-height: 100vh !important;
margin: 0 !important;
padding: 0 !important;
background: var(--ew-dark-0) !important;
border: 0 !important;
box-shadow: none !important;
}

body.skin-vector-2022 .mw-page-container-inner {
display: block !important;
margin: 0 !important;
padding: 0 !important;
}

body.skin-vector-2022 .mw-content-container {
margin: 0 !important;
}

/* ---------- ERINDAL SIDEBAR ---------- */

#ew-sidebar {
position: fixed !important;
position: fixed !important;
z-index: 90;
z-index: 160 !important;
top: 0 !important;
inset: 0 auto 0 0 !important;
left: 0 !important;
width: var(--ew-sidebar-open) !important;
bottom: 0;
width: var(--ew-sidebar) !important;
overflow-y: auto;
overflow-x: hidden;
padding: 0 16px 24px !important;
padding: 0 16px 24px !important;
overflow-x: hidden !important;
box-sizing: border-box;
overflow-y: auto !important;
box-sizing: border-box !important;
color: #f4eee3 !important;
background:
background:
radial-gradient(circle at 45% 0%, rgba(58, 83, 98, .25), transparent 300px),
radial-gradient(circle at 45% 0%, rgba(58, 83, 98, .25), transparent 300px),
linear-gradient(180deg, #0b1a23 0%, #041019 58%, #020a0f 100%) !important;
linear-gradient(180deg, #0b1a23 0%, #041019 58%, #020a0f 100%) !important;
border-right: 2px solid rgba(125, 102, 69, .52);
border-right: 2px solid rgba(125, 102, 69, .52) !important;
box-shadow: inset -12px 0 24px rgba(0,0,0,.38), 4px 0 18px rgba(0,0,0,.18);
box-shadow: inset -12px 0 24px rgba(0, 0, 0, .38), 4px 0 18px rgba(0, 0, 0, .18) !important;
transform: translateX(0);
color: #f4eee3;
transition: transform .18s ease !important;
}
}


html.ew-sidebar-collapsed #ew-sidebar {
/* Decorative corners */
transform: translateX(-100%);
#mw-panel::before,
}
#mw-panel::after {

#ew-sidebar::before,
#ew-sidebar::after {
content: "";
content: "";
position: fixed;
position: absolute;
z-index: 92;
z-index: 1;
top: 4px;
top: 4px;
width: 18px;
width: 18px;
height: 18px;
height: 18px;
border-color: rgba(207,163,80,.62);
border-color: rgba(207, 163, 80, .62);
border-style: solid;
border-style: solid;
pointer-events: none;
pointer-events: none;
}
}
#mw-panel::before { left: 4px; border-width: 1px 0 0 1px; }
#mw-panel::after { left: calc(var(--ew-sidebar) - 23px); border-width: 1px 1px 0 0; }


#ew-sidebar::before {
/* Replace default Vector logo area with Erindal wordmark */
left: 4px;
#p-logo {
border-width: 1px 0 0 1px;
position: relative !important;
top: auto !important;
left: auto !important;
width: 100% !important;
height: 126px !important;
box-sizing: border-box !important;
margin: 0 0 12px !important;
border-bottom: 1px solid rgba(139,116,79,.45);
}
}

#p-logo a {
#ew-sidebar::after {
position: absolute !important;
inset: 0 !important;
right: 4px;
width: 100% !important;
border-width: 1px 1px 0 0;
height: 100% !important;
background: none !important;
z-index: 5;
}
}

#p-logo::before {
.ew-sidebar-brand,
.ew-sidebar-brand:visited {
position: relative;
display: block;
height: 126px;
margin: 0 0 12px;
color: var(--ew-gold-soft) !important;
border-bottom: 1px solid rgba(139, 116, 79, .45);
text-decoration: none !important;
}

.ew-sidebar-brand::before {
content: "";
content: "";
position: absolute;
position: absolute;
Line 104: Line 229:
width: 72px;
width: 72px;
height: 72px;
height: 72px;
background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23d6a74d' stroke-width='3'%3E%3Ccircle cx='50' cy='50' r='30'/%3E%3Cpath d='M50 6L58 41L94 50L58 59L50 94L42 59L6 50L42 41Z'/%3E%3Cpath d='M50 17L53 44L83 50L53 56L50 83L47 56L17 50L47 44Z'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='5' fill='%23d6a74d'/%3E%3C/svg%3E");
background-repeat: no-repeat;
filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .5));
background-size: contain;
background-position: center;
filter: drop-shadow(0 2px 2px rgba(0,0,0,.5));
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23d6a74d' stroke-width='3'%3E%3Ccircle cx='50' cy='50' r='30'/%3E%3Cpath d='M50 6L58 41L94 50L58 59L50 94L42 59L6 50L42 41Z'/%3E%3Cpath d='M50 17L53 44L83 50L53 56L50 83L47 56L17 50L47 44Z'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='5' fill='%23d6a74d'/%3E%3C/svg%3E");
}
}

#p-logo::after {
.ew-sidebar-brand::after {
content: "ERINDAL\A WIKI";
content: "ERINDAL\A WIKI";
white-space: pre;
position: absolute;
position: absolute;
left: 101px;
left: 101px;
top: 28px;
top: 28px;
white-space: pre;
color: var(--ew-gold-soft);
color: var(--ew-gold-soft);
font: 700 27px/1.05 "Cinzel", Georgia, serif;
font: 700 27px/1.05 "Cinzel Decorative", "Cinzel", Georgia, serif;
letter-spacing: .075em;
letter-spacing: .055em;
text-shadow: 0 2px 2px rgba(0,0,0,.65);
text-shadow: 0 2px 2px rgba(0, 0, 0, .65);
}
}


.ew-sidebar-section {
/* Sidebar sections */
#mw-panel .portal {
background: none !important;
margin: 0 !important;
margin: 0 !important;
padding: 0 0 18px !important;
padding: 0 0 18px !important;
border-bottom: 1px solid rgba(139,116,79,.46);
border-bottom: 1px solid rgba(139, 116, 79, .46) !important;
}
}

#mw-panel .portal + .portal,
.ew-sidebar-section + .ew-sidebar-section {
#mw-panel .vector-menu-portal + .vector-menu-portal,
#mw-panel .mw-portlet + .mw-portlet {
margin-top: 18px !important;
margin-top: 18px !important;
}
}

#mw-panel .portal h3 {
.ew-sidebar-section h2 {
height: auto !important;
margin: 0 0 9px 12px !important;
margin: 0 0 9px 12px !important;
padding: 0 !important;
padding: 0 !important;
color: #b9ad9a !important;
color: #b9ad9a !important;
background: none !important;
background: none !important;
font: 600 12px/1.2 "Cinzel", Georgia, serif !important;
border: 0 !important;
font: 400 13px/1.2 "Almendra SC", "Cinzel", Georgia, serif !important;
text-transform: uppercase;
letter-spacing: .055em;
letter-spacing: .07em !important;
text-transform: uppercase !important;
}
}

#mw-panel .portal .body {
.ew-sidebar-section ul {
margin: 0 !important;
margin: 0 !important;
padding: 0 !important;
padding: 0 !important;
background: none !important;
list-style: none !important;
}
}

#mw-panel .portal .body ul { margin: 0 !important; list-style: none !important; }
.ew-sidebar-section li {
#mw-panel .portal .body li,
#mw-panel .vector-menu-content-list li {
margin: 2px 0 !important;
margin: 2px 0 !important;
padding: 0 !important;
padding: 0 !important;
font-size: 15px !important;
line-height: 1.2 !important;
}
}

#mw-panel .portal .body li a,
.ew-sidebar-section a,
#mw-panel .portal .body li a:visited {
.ew-sidebar-section a:visited {
position: relative;
position: relative;
display: block;
display: block;
padding: 7px 8px 7px 39px !important;
padding: 7px 8px 7px 39px !important;
color: #f1ede6 !important;
color: #f1ede6 !important;
text-decoration: none !important;
border-radius: 2px;
border-radius: 2px;
font: 400 16px/1.2 "Almendra SC", "Cinzel", Georgia, serif !important;
letter-spacing: .012em;
text-decoration: none !important;
}
}

#mw-panel .portal .body li a:hover {
.ew-sidebar-section a::before {
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg, rgba(35,67,93,.72), rgba(22,43,57,.20));
}
#mw-panel .portal .body li a::before,
#mw-panel .vector-menu-content-list li a::before,
#mw-panel .mw-list-item > a::before {
content: "◆";
content: "◆";
position: absolute;
position: absolute;
Line 179: Line 296:
width: 16px;
width: 16px;
color: #98a09e;
color: #98a09e;
text-align: center;
font-size: 11px;
font-size: 11px;
text-align: center;
}
}

#mw-panel .portal:first-of-type .body li:first-child a {
.ew-sidebar-section a:hover,
.ew-sidebar-section a:focus {
color: var(--ew-gold-soft) !important;
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg, rgba(35,67,93,.95), rgba(22,43,57,.42));
background: linear-gradient(90deg, rgba(35, 67, 93, .72), rgba(22, 43, 57, .20));
}
}

#mw-panel .portal:first-of-type .body li:first-child a::before,
#p-navigation .vector-menu-content-list li:first-child a::before,
.ew-sidebar-section:first-of-type li:first-child a {
color: var(--ew-gold-soft) !important;
#p-navigation .mw-list-item:first-child > a::before {
background: linear-gradient(90deg, rgba(35, 67, 93, .95), rgba(22, 43, 57, .42));
}

.ew-sidebar-section:first-of-type li:first-child a::before {
content: "⌂";
content: "⌂";
top: 4px;
color: var(--ew-gold-soft);
color: var(--ew-gold-soft);
font-size: 18px;
font-size: 18px;
top: 4px;
}
}


/* ---------- CONTENT CANVAS ---------- */
/* Hide default sidebar toolbox/footer links we don't need in the fantasy navigation */
#p-tb { display: none !important; }


body.skin-vector-2022 #content {
min-height: calc(100vh - var(--ew-topbar));
margin: 0 0 0 var(--ew-sidebar) !important;
padding: calc(var(--ew-topbar) + 28px) 42px 44px !important;
color: var(--ew-text) !important;
background:
linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 230px),
repeating-linear-gradient(45deg, rgba(119, 91, 49, .012), rgba(119, 91, 49, .012) 2px, transparent 2px, transparent 7px),
var(--ew-canvas) !important;
border: 0 !important;
transition: margin-left .18s ease !important;
}


body.skin-vector-2022 #content a,
/* --- Vector 1.43 legacy compatibility --- */
body.skin-vector-2022 #content a:visited {
#mw-page-base {
margin-left: var(--ew-sidebar) !important;
color: var(--ew-link);
width: calc(100% - var(--ew-sidebar)) !important;
background: #061119 !important;
height: var(--ew-topbar) !important;
max-width: none !important;
}
}


body.skin-vector-2022 #content a:hover,
#mw-panel .vector-menu-portal,
body.skin-vector-2022 #content a:focus {
#mw-panel .mw-portlet {
color: color-mix(in srgb, var(--ew-link) 70%, var(--ew-gold));
background: none !important;
margin: 0 !important;
padding: 0 0 18px !important;
border-bottom: 1px solid rgba(139,116,79,.46) !important;
}
}


#firstHeading,
#mw-panel .vector-menu-heading,
#content h1,
#mw-panel .vector-menu-heading-label,
#content h2,
#mw-panel .mw-portlet h3 {
#content h3,
height: auto !important;
#content h4,
margin: 0 0 9px 12px !important;
#content h5,
padding: 0 !important;
#content h6 {
color: #b9ad9a !important;
color: var(--ew-heading);
background: none !important;
font: 600 12px/1.2 "Cinzel", Georgia, serif !important;
text-transform: uppercase !important;
letter-spacing: .055em !important;
}
}

#mw-panel .vector-menu-content,
#firstHeading {
#mw-panel .vector-menu-content-list { margin:0 !important; padding:0 !important; background:none !important; }
#mw-panel .vector-menu-content-list { list-style:none !important; }
border-bottom-color: var(--ew-rule) !important;
#mw-panel .vector-menu-content-list li a,
#mw-panel .vector-menu-content-list li a:visited {
position: relative !important;
display: block !important;
padding: 7px 8px 7px 39px !important;
color: #f1ede6 !important;
text-decoration: none !important;
border-radius: 2px !important;
}
}

#mw-panel .vector-menu-content-list li a:hover {
body.skin-vector-2022 .vector-page-toolbar {
color: var(--ew-gold-soft) !important;
margin: 0 0 1.25rem !important;
background: linear-gradient(90deg,rgba(35,67,93,.72),rgba(22,43,57,.20)) !important;
border-bottom-color: var(--ew-rule) !important;
}
}

#p-navigation .vector-menu-content-list li:first-child a {
body.skin-vector-2022 .vector-page-toolbar a,
color: var(--ew-gold-soft) !important;
body.skin-vector-2022 .vector-page-toolbar button,
background: linear-gradient(90deg,rgba(35,67,93,.95),rgba(22,43,57,.42)) !important;
body.skin-vector-2022 .vector-page-toolbar .vector-menu-heading {
color: var(--ew-text) !important;
}
}


body.skin-vector-2022 .vector-dropdown-content,
body.skin-vector-2022 .vector-menu-content {
color: var(--ew-text);
background-color: var(--ew-canvas-soft);
border-color: var(--ew-border);
}


.mw-parser-output .wikitable {
/* Vector 1.43 link text lives inside spans; style those explicitly. */
color: var(--ew-text) !important;
#mw-panel .mw-list-item > a,
background: var(--ew-canvas-soft) !important;
#mw-panel .mw-list-item > a:visited {
position: relative !important;
border-color: var(--ew-border) !important;
display: block !important;
padding: 7px 8px 7px 39px !important;
color: #f1ede6 !important;
text-decoration: none !important;
border-radius: 2px !important;
font: 15px/1.2 "Crimson Text", Georgia, serif !important;
}
}

#mw-panel .mw-list-item > a > span,
#mw-panel .mw-list-item > a:visited > span {
.mw-parser-output .wikitable > * > tr > th {
color: inherit !important;
color: var(--ew-heading) !important;
background: color-mix(in srgb, var(--ew-canvas-soft) 82%, var(--ew-gold) 18%) !important;
font: inherit !important;
}
#mw-panel .mw-list-item > a:hover {
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg, rgba(35,67,93,.72), rgba(22,43,57,.20)) !important;
}
#p-navigation .mw-list-item:first-child > a {
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg, rgba(35,67,93,.95), rgba(22,43,57,.42)) !important;
}
}


.mw-parser-output .wikitable > * > tr > th,
/* Never show an auto-generated TOC on the front page. */
.mw-parser-output .wikitable > * > tr > td,
body.page-Main_Page .toc,
.mw-parser-output pre,
body.page-Main_Page #toc { display: none !important; }
.mw-parser-output code {

border-color: var(--ew-border) !important;
/* MediaWiki file markup wrappers */
.ew-hero-image > span, .ew-hero-image > a,
.ew-map-image > span, .ew-map-image > a,
.ew-feature-image > span, .ew-feature-image > a,
.ew-strip > span, .ew-strip > a { display:block !important; width:100% !important; height:100% !important; }
.ew-hero-image .mw-file-description,
.ew-map-image .mw-file-description,
.ew-feature-image .mw-file-description,
.ew-strip .mw-file-description { display:block !important; width:100% !important; height:100% !important; }

/* ---------- GLOBAL TOPBAR COMPONENTS ---------- */
.ew-global-menu {
display: flex;
align-items: stretch;
height: 100%;
min-width: 0;
}
.ew-global-menu a,
.ew-global-menu a:visited {
display: flex;
align-items: center;
padding: 0 18px;
color: #f3eee5 !important;
font-size: 14px;
text-transform: uppercase;
letter-spacing: .04em;
text-decoration: none !important;
white-space: nowrap;
}
.ew-global-menu a:hover { color: var(--ew-gold-soft) !important; background: rgba(255,255,255,.035); }
.ew-menu-arrow { margin-left: 6px; font-size: 11px; }
.ew-global-search {
margin-left: auto;
width: min(304px, 26vw);
height: 35px;
display: flex;
border: 1px solid rgba(151,128,91,.42);
background: rgba(0,0,0,.28);
border-radius: 4px;
overflow: hidden;
}
}
.ew-global-search input[type="search"] {
min-width: 0;
flex: 1;
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
background: transparent !important;
color: #eee8de !important;
padding: 0 12px !important;
font: 15px "Crimson Text", Georgia, serif !important;
}
.ew-global-search input::placeholder { color: #d4cbc0; opacity: .88; }
.ew-global-search button {
width: 42px;
border: 0;
border-left: 1px solid rgba(151,128,91,.34);
background: transparent;
color: #f1eade;
font-size: 22px;
cursor: pointer;
}
.ew-global-tools { display: flex; height: 100%; margin-left: 9px; }
.ew-tool-link,
.ew-tool-link:visited {
width: 44px;
display: grid;
place-items: center;
color: #f3eee5 !important;
text-decoration: none !important;
border-left: 1px solid rgba(151,128,91,.20);
font-size: 21px;
}
.ew-tool-link:hover { color: var(--ew-gold-soft) !important; }


.mw-parser-output pre {
/* ---------- VECTOR CONTENT POSITIONING ---------- */
color: var(--ew-text) !important;
#mw-head-base {
margin-left: var(--ew-sidebar) !important;
background: var(--ew-canvas-soft) !important;
width: calc(100% - var(--ew-sidebar)) !important;
margin-top: var(--ew-topbar) !important;
height: 34px !important;
background: #0a151c !important;
max-width: none !important;
}
}

#mw-head {
.toc,
left: var(--ew-sidebar) !important;
.vector-toc,
right: auto !important;
.catlinks,
width: calc(100% - var(--ew-sidebar)) !important;
.mw-warning,
top: var(--ew-topbar) !important;
.mw-message-box {
height: 34px !important;
background: linear-gradient(180deg, #0a151c, #071017) !important;
color: var(--ew-text) !important;
background: var(--ew-message) !important;
border-bottom: 1px solid rgba(125,102,69,.30);
border-color: var(--ew-border) !important;
box-sizing: border-box;
max-width: none !important;
}
#left-navigation,
#right-navigation { margin-top: 0 !important; height: 34px !important; }
.vector-menu-tabs,
.vector-menu-tabs span,
.vector-menu-tabs ul { background-image: none !important; }
.vector-menu-tabs li {
background-image: none !important;
background: transparent !important;
height: 34px !important;
}
.vector-menu-tabs li a,
.vector-menu-tabs li a:visited {
height: 34px !important;
line-height: 34px !important;
padding: 0 10px !important;
color: #cfc6ba !important;
background: transparent !important;
font-size: 12px !important;
}
}
.vector-menu-tabs li.selected a,
.vector-menu-tabs li a:hover { color: var(--ew-gold-soft) !important; }
#p-personal { display: none !important; }


body.skin-vector-2022 #footer {
#content {
margin-left: var(--ew-sidebar) !important;
width: calc(100% - var(--ew-sidebar)) !important;
max-width: none !important;
margin-top: 0 !important;
border: 0 !important;
min-height: calc(100vh - 90px);
box-sizing: border-box;
box-sizing: border-box;
padding: 34px 42px 44px !important;
width: auto !important;
background:
linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.02)),
repeating-linear-gradient(45deg, rgba(119,91,49,.012), rgba(119,91,49,.012) 2px, transparent 2px, transparent 7px),
var(--ew-paper) !important;
color: var(--ew-ink) !important;
}
#content a,
#content a:visited { color: var(--ew-link); }
#content a:hover { color: #8c5d0a; }
#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4 { font-family: "Cinzel", Georgia, serif; color: #181512; }
#firstHeading { border-bottom: 1px solid rgba(91,70,44,.35); }

#footer {
position: relative;
margin-left: var(--ew-sidebar) !important;
width: calc(100% - var(--ew-sidebar)) !important;
max-width: none !important;
max-width: none !important;
margin: 0 0 0 var(--ew-sidebar) !important;
box-sizing: border-box;
padding: 17px 28px 19px !important;
padding: 17px 28px 19px !important;
background:
linear-gradient(180deg, rgba(18,39,51,.22), rgba(6,17,25,0) 55%),
#061119 !important;
color: #c8c2b7 !important;
color: #c8c2b7 !important;
background: linear-gradient(180deg, rgba(18, 39, 51, .22), rgba(6, 17, 25, 0) 55%), #061119 !important;
border-top: 1px solid rgba(197,157,79,.36);
border-top: 1px solid rgba(197, 157, 79, .36);
transition: margin-left .18s ease !important;
}
}


/* Vector gives the individual footer lists/items their own colours in some
versions. Set them explicitly so the last-edited line never disappears
against the dark Erindal footer. */
#footer #footer-info,
#footer #footer-info,
#footer #footer-info li,
#footer #footer-info li,
Line 447: Line 428:


#footer #footer-info {
#footer #footer-info {
margin: 0 0 0.55rem !important;
margin: 0 0 .55rem !important;
padding: 0 !important;
padding: 0 !important;
font-size: 0.84rem !important;
font-size: .84rem !important;
line-height: 1.45 !important;
line-height: 1.45 !important;
}
}
Line 456: Line 437:
display: flex !important;
display: flex !important;
flex-wrap: wrap;
flex-wrap: wrap;
gap: 0.35rem 1rem;
gap: .35rem 1rem;
margin: 0 !important;
margin: 0 !important;
padding: 0 !important;
padding: 0 !important;
Line 479: Line 460:
}
}


/* The stock MediaWiki and Debian image badges clash with the custom fantasy
shell. The software credits remain available through the normal site/about
information; hide only the graphical footer badges. */
#footer #footer-icons {
#footer #footer-icons {
display: none !important;
display: none !important;
}
}


/* ---------- MAIN PAGE: remove article chrome ---------- */
/* ---------- MAIN PAGE ---------- */

body.page-Main_Page #mw-head,
body.page-Main_Page #mw-head-base,
body.page-Main_Page #mw-page-base { display: none !important; }
body.page-Main_Page #content {
body.page-Main_Page #content {
margin-top: var(--ew-topbar) !important;
padding: var(--ew-topbar) 0 0 !important;
padding: 0 !important;
background: var(--ew-dark-0) !important;
background: var(--ew-dark-0) !important;
}
}

body.page-Main_Page #firstHeading,
body.page-Main_Page #firstHeading,
body.page-Main_Page #siteSub,
body.page-Main_Page #siteSub,
Line 500: Line 476:
body.page-Main_Page .mw-indicators,
body.page-Main_Page .mw-indicators,
body.page-Main_Page .catlinks,
body.page-Main_Page .catlinks,
body.page-Main_Page #jump-to-nav { display: none !important; }
body.page-Main_Page .vector-page-titlebar,
body.page-Main_Page .vector-page-toolbar-container,
body.page-Main_Page #jump-to-nav,
body.page-Main_Page .toc,
body.page-Main_Page #toc {
display: none !important;
}

body.page-Main_Page #bodyContent,
body.page-Main_Page #bodyContent,
body.page-Main_Page #mw-content-text,
body.page-Main_Page #mw-content-text,
body.page-Main_Page .mw-parser-output { margin: 0 !important; padding: 0 !important; }
body.page-Main_Page .mw-parser-output {
margin: 0 !important;
body.page-Main_Page .mw-parser-output > p:empty { display:none; }
padding: 0 !important;
}


body.page-Main_Page .mw-parser-output > p:empty {
/* ---------- Article styling ---------- */
display: none;
body:not(.page-Main_Page) .mw-parser-output { max-width: 1180px; }
body:not(.page-Main_Page) .mw-parser-output p { font-size: 16px; line-height: 1.58; }
body:not(.page-Main_Page) .mw-parser-output h2 {
margin-top: 1.5em;
padding-bottom: 5px;
border-bottom: 1px solid rgba(91,70,44,.28);
}
}

.mw-editsection { font-family: Arial, sans-serif; font-size: 11px; }
body.page-Main_Page .ew-home {
.toc, .mw-warning, .mw-message-box {
background: rgba(255,255,255,.42) !important;
width: 100% !important;
border-color: rgba(111,86,54,.32) !important;
max-width: none !important;
}
}


/* ---------- GENERAL ARTICLE WIDTH ---------- */


body:not(.page-Main_Page) .mw-parser-output {
max-width: 1180px;
}


body:not(.page-Main_Page) .mw-parser-output p {
/* Final MediaWiki parser cleanup */
font-size: 16px;
body.page-Main_Page #mw-page-base { background:#061119 !important; }
line-height: 1.58;
}


body:not(.page-Main_Page) .mw-parser-output h2 {
margin-top: 1.5em;
padding-bottom: 5px;
border-bottom: 1px solid var(--ew-rule);
}


.mw-editsection {
/* ---------- FLUID / WIDE-SCREEN LAYOUT ---------- */
font-family: Arial, sans-serif;
font-size: 11px;
}


/* MediaWiki file markup wrappers */
body.page-Main_Page .ew-home {
.ew-hero-image > span,
.ew-hero-image > a,
.ew-map-image > span,
.ew-map-image > a,
.ew-feature-image > span,
.ew-feature-image > a,
.ew-strip > span,
.ew-strip > a,
.ew-hero-image .mw-file-description,
.ew-map-image .mw-file-description,
.ew-feature-image .mw-file-description,
.ew-strip .mw-file-description {
display: block !important;
width: 100% !important;
width: 100% !important;
max-width: none !important;
height: 100% !important;
}
}

/* Keep the right column useful on wide screens without letting it eat half the page. */

/* Let category cards gain columns on very wide displays instead of becoming huge. */




Line 566: Line 569:
}
}


#ew-server-topbar,
/* Navigation chrome. */
#mw-panel .mw-list-item > a,
#mw-panel .mw-list-item > a > span,
#mw-panel .vector-menu-content-list li a,
#mw-panel .portal .body li a {
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 16px !important;
font-weight: 400 !important;
letter-spacing: .012em !important;
}

#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .portal h3 {
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 13px !important;
font-weight: 400 !important;
letter-spacing: .07em !important;
}

/* Legacy Vector fallback for portlets that expose only an h3 heading. */
#mw-panel .mw-portlet h3 {
font-family: "Cinzel", Georgia, serif !important;
font-weight: 600 !important;
}

#ew-global-topbar,
.ew-global-menu,
.ew-global-menu,
.ew-global-menu a {
.ew-global-menu a {
Line 633: Line 610:
.ew-card-label {
.ew-card-label {
display: block !important;
display: block !important;
color: #171513 !important;
color: var(--ew-component-heading, #171513) !important;
font-size: 14px !important;
font-size: 14px !important;
line-height: 1.12 !important;
line-height: 1.12 !important;
Line 670: Line 647:


/* Strong display face only for branding. */
/* Strong display face only for branding. */
#p-logo::after,
.ew-sidebar-brand::after,
.ew-hero-title {
.ew-hero-title {
font-family: "Cinzel Decorative", "Cinzel", Georgia, serif !important;
font-family: "Cinzel Decorative", "Cinzel", Georgia, serif !important;
Line 676: Line 653:
}
}


#p-logo::after { letter-spacing: .055em !important; }
.ew-sidebar-brand::after { letter-spacing: .055em !important; }
.ew-hero-title { letter-spacing: .025em !important; }
.ew-hero-title { letter-spacing: .025em !important; }


Line 1,013: Line 990:


/* ========================================================================
/* ========================================================================
SERVER-RENDERED SHELL
SERVER-RENDERED ERINDAL INTERFACE


#ew-server-topbar and #ew-sidebar-toggle are emitted by LocalSettings.php.
#ew-sidebar, #ew-server-topbar and both controls are emitted by the
companion LocalSettings.php hook. They are independent of Vector's DOM.
They do not depend on a custom MediaWiki:Sidebar portlet or Common.js.
======================================================================== */
======================================================================== */

/* Hide the two obsolete implementations if an older Sidebar or cached script
still supplies them. */
#ew-global-topbar,
#mw-panel #p-erindal-topbar {
display: none !important;
}


#ew-server-topbar {
#ew-server-topbar {
position: fixed !important;
position: fixed !important;
z-index: 150 !important;
z-index: 180 !important;
top: 0 !important;
top: 0 !important;
left: var(--ew-sidebar) !important;
left: var(--ew-sidebar) !important;
Line 1,034: Line 1,004:
display: flex !important;
display: flex !important;
align-items: center !important;
align-items: center !important;
width: auto !important;
max-width: none !important;
height: var(--ew-topbar) !important;
height: var(--ew-topbar) !important;
margin: 0 !important;
margin: 0 !important;
padding: 0 18px 0 30px !important;
padding: 0 14px 0 24px !important;
overflow: visible !important;
box-sizing: border-box !important;
box-sizing: border-box !important;
overflow: visible !important;
color: #f3eee5 !important;
color: #f3eee5 !important;
background: linear-gradient(180deg, #08141c 0%, #03090d 100%) !important;
background: linear-gradient(180deg, #08141c 0%, #03090d 100%) !important;
border: 0 !important;
border: 0 !important;
border-bottom: 2px solid rgba(112, 88, 58, .46) !important;
border-bottom: 2px solid rgba(112, 88, 58, .46) !important;
box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 2px 6px rgba(0,0,0,.28) !important;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 2px 6px rgba(0, 0, 0, .28) !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
transition: left .18s ease !important;
}
}


Line 1,094: Line 1,063:
height: 100% !important;
height: 100% !important;
margin: 0 !important;
margin: 0 !important;
padding: 0 17px !important;
padding: 0 14px !important;
box-sizing: border-box !important;
box-sizing: border-box !important;
color: #f3eee5 !important;
color: #f3eee5 !important;
Line 1,101: Line 1,070:
outline: 0 !important;
outline: 0 !important;
list-style: none !important;
list-style: none !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font: 400 15px/1 "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 15px !important;
font-weight: 400 !important;
line-height: 1 !important;
letter-spacing: .045em !important;
letter-spacing: .045em !important;
text-transform: uppercase !important;
text-transform: uppercase !important;
Line 1,111: Line 1,077:
}
}


#ew-server-topbar .ew-global-section > summary::-webkit-details-marker,
#ew-server-topbar .ew-global-section > summary::marker {
#ew-server-topbar .ew-global-section > summary::marker {
display: none;
content: "";
content: "";
}
}
Line 1,118: Line 1,086:
margin-left: 7px;
margin-left: 7px;
font-family: Arial, sans-serif !important;
font-family: Arial, sans-serif !important;
font-size: 12px !important;
font-size: 11px !important;
transition: transform .16s ease;
transition: transform .16s ease;
}
}
Line 1,130: Line 1,098:
#ew-server-topbar .ew-global-section[open] > summary {
#ew-server-topbar .ew-global-section[open] > summary {
color: var(--ew-gold-soft) !important;
color: var(--ew-gold-soft) !important;
background: rgba(255,255,255,.04) !important;
background: rgba(255, 255, 255, .04) !important;
}
}


#ew-server-topbar .ew-global-dropdown {
#ew-server-topbar .ew-global-dropdown {
position: absolute !important;
position: absolute !important;
z-index: 170 !important;
z-index: 210 !important;
top: calc(var(--ew-topbar) - 2px) !important;
top: calc(var(--ew-topbar) - 2px) !important;
left: 0 !important;
left: 0 !important;
Line 1,145: Line 1,113:
background: linear-gradient(180deg, #0b1a23, #041019) !important;
background: linear-gradient(180deg, #0b1a23, #041019) !important;
border: 1px solid rgba(125, 102, 69, .62) !important;
border: 1px solid rgba(125, 102, 69, .62) !important;
box-shadow: 0 10px 24px rgba(0,0,0,.36) !important;
box-shadow: 0 10px 24px rgba(0, 0, 0, .36) !important;
}
}


Line 1,155: Line 1,123:
#ew-server-topbar .ew-global-dropdown a:visited {
#ew-server-topbar .ew-global-dropdown a:visited {
display: block !important;
display: block !important;
width: auto !important;
height: auto !important;
margin: 0 !important;
margin: 0 !important;
padding: 9px 12px !important;
padding: 9px 12px !important;
color: #f1ede6 !important;
color: #f1ede6 !important;
background: transparent !important;
background: transparent !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font: 400 15px/1.15 "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 15px !important;
font-weight: 400 !important;
line-height: 1.15 !important;
letter-spacing: .015em !important;
letter-spacing: .015em !important;
text-transform: none !important;
text-decoration: none !important;
text-decoration: none !important;
white-space: nowrap !important;
white-space: nowrap !important;
Line 1,174: Line 1,136:
#ew-server-topbar .ew-global-dropdown a:focus {
#ew-server-topbar .ew-global-dropdown a:focus {
color: var(--ew-gold-soft) !important;
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg, rgba(35,67,93,.82), rgba(22,43,57,.24)) !important;
background: linear-gradient(90deg, rgba(35, 67, 93, .82), rgba(22, 43, 57, .24)) !important;
}
}


#ew-server-topbar .ew-global-search {
#ew-server-topbar .ew-global-search {
position: static !important;
display: flex !important;
flex: 0 1 304px !important;
flex: 0 1 304px !important;
width: min(304px, 26vw) !important;
width: min(304px, 24vw) !important;
height: 35px !important;
height: 35px !important;
margin: 0 0 0 auto !important;
margin: 0 0 0 auto !important;
padding: 0 !important;
overflow: hidden !important;
box-sizing: border-box !important;
box-sizing: border-box !important;
background: rgba(0, 0, 0, .28) !important;
border: 1px solid rgba(151, 128, 91, .42) !important;
border-radius: 4px !important;
}
}


#ew-server-topbar .ew-global-search input[type="search"] {
#ew-server-topbar .ew-global-search input[type="search"] {
flex: 1 1 auto !important;
min-width: 0 !important;
min-width: 0 !important;
height: 33px !important;
height: 33px !important;
margin: 0 !important;
margin: 0 !important;
padding: 0 12px !important;
padding: 0 12px !important;
font-family: "Alegreya", Georgia, serif !important;
color: #eee8de !important;
font-size: 15px !important;
background: transparent !important;
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
font: 400 15px/33px "Alegreya", Georgia, serif !important;
}

#ew-server-topbar .ew-global-search input::placeholder {
color: #d4cbc0;
opacity: .88;
}
}


Line 1,200: Line 1,175:
width: 42px !important;
width: 42px !important;
height: 33px !important;
height: 33px !important;
margin: 0 !important;
padding: 0 !important;
padding: 0 !important;
color: #f1eade !important;
background: transparent !important;
border: 0 !important;
border-left: 1px solid rgba(151, 128, 91, .34) !important;
font-size: 20px !important;
line-height: 33px !important;
line-height: 33px !important;
cursor: pointer !important;
}
}


.ew-topbar-tools {
/* The server-rendered topbar already contains its own search. */
display: flex;
#p-search {
align-items: center;
display: none !important;
height: 100%;
margin-left: 8px;
}

.ew-topbar-tool,
.ew-topbar-tool:visited,
#ew-theme-toggle {
display: grid !important;
place-items: center !important;
min-width: 42px !important;
height: 38px !important;
margin: 0 !important;
padding: 0 8px !important;
box-sizing: border-box !important;
color: #f3eee5 !important;
background: transparent !important;
border: 0 !important;
border-left: 1px solid rgba(151, 128, 91, .20) !important;
font: 400 14px/1 "Almendra SC", "Cinzel", Georgia, serif !important;
text-decoration: none !important;
cursor: pointer !important;
}

.ew-topbar-tool:hover,
.ew-topbar-tool:focus,
#ew-theme-toggle:hover,
#ew-theme-toggle:focus {
color: var(--ew-gold-soft) !important;
background: rgba(255, 255, 255, .04) !important;
}

#ew-theme-toggle {
min-width: 76px !important;
}
}


/* A visible tab on the sidebar edge. When the panel is closed it remains at
the left edge so the sidebar can always be opened again. */
#ew-sidebar-toggle {
#ew-sidebar-toggle {
position: fixed !important;
position: fixed !important;
z-index: 190 !important;
z-index: 220 !important;
top: 70px !important;
top: 70px !important;
left: calc(var(--ew-sidebar) - 14px) !important;
left: calc(var(--ew-sidebar) - 14px) !important;
Line 1,224: Line 1,237:
color: var(--ew-gold-soft) !important;
color: var(--ew-gold-soft) !important;
background: linear-gradient(180deg, #102431, #06131b) !important;
background: linear-gradient(180deg, #102431, #06131b) !important;
border: 1px solid rgba(207,163,80,.72) !important;
border: 1px solid rgba(207, 163, 80, .72) !important;
border-radius: 6px !important;
border-radius: 6px !important;
box-shadow: 0 3px 12px rgba(0,0,0,.44) !important;
box-shadow: 0 3px 12px rgba(0, 0, 0, .44) !important;
font: 28px/1 Georgia, serif !important;
font: 28px/1 Georgia, serif !important;
text-align: center !important;
cursor: pointer !important;
cursor: pointer !important;
transition: left .18s ease !important;
}
}


Line 1,236: Line 1,249:
color: #fff4d6 !important;
color: #fff4d6 !important;
background: linear-gradient(180deg, #173447, #0a1b25) !important;
background: linear-gradient(180deg, #173447, #0a1b25) !important;
outline: 2px solid rgba(239,201,121,.30) !important;
outline: 2px solid rgba(239, 201, 121, .30) !important;
outline-offset: 1px !important;
outline-offset: 1px !important;
}

html.ew-sidebar-collapsed {
--ew-sidebar: 0px;
}

html.ew-sidebar-collapsed #mw-panel {
display: block !important;
width: 0 !important;
padding: 0 !important;
overflow: hidden !important;
background: none !important;
border: 0 !important;
box-shadow: none !important;
}

html.ew-sidebar-collapsed #mw-panel > * {
display: none !important;
}

html.ew-sidebar-collapsed #mw-panel::before,
html.ew-sidebar-collapsed #mw-panel::after {
display: none !important;
}
}


Line 1,269: Line 1,259:
}
}


#mw-panel,
#mw-page-base,
#mw-head-base,
#mw-head,
#content,
#footer,
#ew-server-topbar,
#ew-sidebar-toggle {
transition: left .18s ease, width .18s ease, margin-left .18s ease !important;
}


/* =========================================================
/* =========================================================
Line 1,386: Line 1,366:


/* ========================================================================
/* ========================================================================
v6.3.12 CATEGORY HUBS
CATEGORY HUBS
Reusable visual treatment for MediaWiki category pages.
Reusable visual treatment for MediaWiki category pages.
Category-specific colours belong in the category page's own .wiki source.
Category-specific colours belong in the category page's own .wiki source.
Line 1,395: Line 1,375:
--category-accent-light: var(--ew-gold-soft);
--category-accent-light: var(--ew-gold-soft);
--category-deep: #102733;
--category-deep: #102733;
--category-heading: var(--category-deep);
--category-paper: #f5f0e7;
--category-paper: #f5f0e7;
--category-paper-alt: #e8dfd0;
--category-paper-alt: #e8dfd0;
--category-ink: #2b2925;
--category-ink: #2b2925;
--category-muted: #70675c;
--category-muted: #70675c;
--category-link: #174f72;
--category-line: rgba(59, 52, 44, 0.24);
--category-line: rgba(59, 52, 44, 0.24);
}
}


html[data-ew-theme="dark"] body.ns-14 {
/* Category directories are navigation pages, not normal reading-width articles.
--category-deep: #0b202b;
IMPORTANT: do not use width:100% here. The old article system can leave the
--category-heading: #f0d79c;
parser output's containing block at the 1180px reading width, so 100% simply
--category-paper: #172228;
becomes 1180px again. Give category parser output the same explicit viewport
--category-paper-alt: #202d33;
width calculation used by the working country/wiki-page systems. */
--category-ink: #eee5d8;
--category-muted: #c6bcae;
--category-link: #8fc8ec;
--category-line: rgba(210, 172, 101, .24);
}

@media (prefers-color-scheme: dark) {
html[data-ew-theme="system"] body.ns-14 {
--category-deep: #0b202b;
--category-heading: #f0d79c;
--category-paper: #172228;
--category-paper-alt: #202d33;
--category-ink: #eee5d8;
--category-muted: #c6bcae;
--category-link: #8fc8ec;
--category-line: rgba(210, 172, 101, .24);
}
}

/* Category directories are navigation pages, not normal reading-width articles. */
body.ns-14 #mw-content-text {
body.ns-14 #mw-content-text {
box-sizing: border-box !important;
box-sizing: border-box !important;
Line 1,422: Line 1,424:
body.ns-14 #firstHeading {
body.ns-14 #firstHeading {
margin-bottom: 0.9rem;
margin-bottom: 0.9rem;
color: var(--category-deep);
color: var(--category-heading);
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
letter-spacing: 0.025em;
letter-spacing: 0.025em;
Line 1,543: Line 1,545:
display: block;
display: block;
margin: 0 0 0.28rem;
margin: 0 0 0.28rem;
color: var(--category-deep);
color: var(--category-heading);
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.13rem;
font-size: 1.13rem;
Line 1,557: Line 1,559:


.category-hub__card a {
.category-hub__card a {
color: #174f72;
color: var(--category-link);
font-weight: 700;
font-weight: 700;
text-decoration: none;
text-decoration: none;
Line 1,578: Line 1,580:
margin: 0 0 0.45rem;
margin: 0 0 0.45rem;
padding-bottom: 0.42rem;
padding-bottom: 0.42rem;
color: var(--category-deep);
color: var(--category-heading);
border-bottom: 1px solid var(--category-line);
border-bottom: 1px solid var(--category-line);
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
Line 1,637: Line 1,639:


body.ns-14 .mw-category-group a {
body.ns-14 .mw-category-group a {
color: #174f72;
color: var(--category-link);
font-weight: 600;
font-weight: 600;
text-decoration: none;
text-decoration: none;
Line 1,644: Line 1,646:
body.ns-14 .mw-category-group a:hover,
body.ns-14 .mw-category-group a:hover,
body.ns-14 .mw-category-group a:focus {
body.ns-14 .mw-category-group a:focus {
color: var(--category-deep);
color: var(--category-heading);
text-decoration: underline;
text-decoration: underline;
}
}
Line 1,655: Line 1,657:


/* ========================================================================
/* ========================================================================
v6.3.16 MAIN CATEGORY HUBS - HIDE DUPLICATE SUBCATEGORIES
MAIN CATEGORY HUBS - HIDE DUPLICATE SUBCATEGORIES
The nine top-level category hubs already show curated category cards.
The nine top-level category hubs already show curated category cards.
Hide MediaWiki's automatic #mw-subcategories block only on those pages.
Hide MediaWiki's automatic #mw-subcategories block only on those pages.
Line 1,675: Line 1,677:


/* ========================================================================
/* ========================================================================
RESPONSIVE LAYOUT - CONSOLIDATED CURRENT BEHAVIOUR
RESPONSIVE LAYOUT - VECTOR 2022

This section replaces the scattered responsive blocks that previously
appeared throughout Common.css. It intentionally keeps the existing
breakpoint behaviour. Mobile redesign can now be done here in one place.
======================================================================== */
======================================================================== */


/* Wide screens */
@media (min-width: 1900px) {
@media (min-width: 1900px) {
.ew-category-grid {
.ew-category-grid {
Line 1,699: Line 1,696:
}
}


/* Desktop infobox/record flow */
@media (min-width: 951px) {
@media (min-width: 951px) {
.country-overview,
.country-overview,
Line 1,742: Line 1,738:
}
}


@media (max-width: 1240px) {
/* Smaller desktop */
@media (max-width: 1180px) {
.ew-global-menu a {
padding: 0 10px;
font-size: 12px;
}

.ew-global-search {
width: 220px;
}

#ew-server-topbar .ew-global-section > summary {
#ew-server-topbar .ew-global-section > summary {
padding-right: 11px !important;
padding-right: 9px !important;
padding-left: 11px !important;
padding-left: 9px !important;
font-size: 14px !important;
font-size: 14px !important;
}
}


#ew-server-topbar .ew-global-search {
#ew-server-topbar .ew-global-search {
flex-basis: 220px !important;
flex-basis: 210px !important;
width: 220px !important;
width: 210px !important;
}

#ew-theme-toggle {
min-width: 42px !important;
width: 42px !important;
overflow: hidden;
white-space: nowrap;
}
}
}
}


@media (max-width: 1050px) {
@media (max-width: 1100px) {
#ew-server-topbar .ew-global-section:nth-child(n+5) {
display: none !important;
}

.country-card-grid--four,
.country-card-grid--four,
.country-card-grid--three,
.country-card-grid--three,
Line 1,777: Line 1,774:
}
}


/* Tablet */
@media (max-width: 950px) {
@media (max-width: 950px) {
.country-overview,
.country-overview,
Line 1,797: Line 1,793:
.category-hub__card--centered {
.category-hub__card--centered {
grid-column: 1 / -1;
grid-column: 1 / -1;
width: calc((100% - 0.8rem) / 2);
width: calc((100% - .8rem) / 2);
justify-self: center;
justify-self: center;
}
}
Line 1,809: Line 1,805:
@media (max-width: 900px) {
@media (max-width: 900px) {
:root {
:root {
--ew-sidebar: 218px;
--ew-sidebar-open: 218px;
--ew-sidebar: var(--ew-sidebar-open);
}
}


html.ew-sidebar-collapsed {
#p-logo::before {
width: 58px;
--ew-sidebar: 0px;
}
height: 58px;

.ew-sidebar-brand::before {
left: 8px;
left: 8px;
top: 30px;
top: 30px;
width: 58px;
height: 58px;
}
}


#p-logo::after {
.ew-sidebar-brand::after {
left: 72px;
left: 72px;
top: 34px;
top: 34px;
Line 1,825: Line 1,826:
}
}


.ew-global-menu a:nth-child(n+4) {
#ew-server-topbar .ew-global-section:nth-child(n+4) {
display: none;
}

#ew-server-topbar .ew-global-section:nth-child(n+5) {
display: none !important;
display: none !important;
}
}


#content {
body.skin-vector-2022 #content {
padding: 26px 24px 36px !important;
padding-right: 24px !important;
padding-left: 24px !important;
}
}


body.page-Main_Page #content {
body.page-Main_Page #content {
padding: 0 0 10px !important;
padding-right: 0 !important;
padding-left: 0 !important;
}
}


.country-page,
.country-page,
.history-page,
.city-page,
.deity-page,
.deity-page,
.wiki-page,
body.ns-14 .mw-parser-output {
body.ns-14 .mw-parser-output {
width: calc(100vw - var(--ew-sidebar) - 48px) !important;
width: calc(100vw - var(--ew-sidebar) - 48px) !important;
Line 1,848: Line 1,850:
}
}


/* Narrow content */
@media (max-width: 760px) {
@media (max-width: 760px) {
:root,
html.ew-sidebar-collapsed {
--ew-sidebar: 0px;
}

#ew-sidebar {
box-shadow: inset -12px 0 24px rgba(0, 0, 0, .38), 8px 0 28px rgba(0, 0, 0, .46) !important;
}

html:not(.ew-sidebar-collapsed) #ew-sidebar-toggle {
left: calc(var(--ew-sidebar-open) - 14px) !important;
}

#ew-server-topbar {
left: 0 !important;
padding-left: 12px !important;
}

#ew-server-topbar .ew-global-section:nth-child(n+3) {
display: none !important;
}

#ew-server-topbar .ew-global-search {
flex-basis: min(220px, 43vw) !important;
width: min(220px, 43vw) !important;
}

.ew-topbar-tool {
display: none !important;
}

body.skin-vector-2022 #content,
body.skin-vector-2022 #footer {
margin-left: 0 !important;
}

.country-overview,
.country-overview,
.country-feature,
.country-feature,
Line 1,880: Line 1,917:
.wiki-record__rows > div {
.wiki-record__rows > div {
grid-template-columns: 1fr;
grid-template-columns: 1fr;
gap: 0.15rem;
gap: .15rem;
}
}


Line 1,913: Line 1,950:
.wiki-hero__overlay {
.wiki-hero__overlay {
padding: 1.25rem !important;
padding: 1.25rem !important;
}

.country-page,
.history-page,
.city-page,
.deity-page,
.wiki-page,
body.ns-14 .mw-parser-output {
width: calc(100vw - 48px) !important;
}
}
}
}


@media (max-width: 560px) {
/* Existing mobile shell behaviour - intentionally not redesigned in this pass */
#ew-server-topbar .ew-global-section:nth-child(n+2),
@media (max-width: 700px) {
#ew-server-topbar .ew-global-search {
:root {
--ew-sidebar: 0px;
display: none !important;
}
}


html:not(.ew-sidebar-collapsed) {
#ew-server-topbar .ew-global-menu {
flex: 1 1 auto !important;
--ew-sidebar: 218px;
}
}


#ew-server-topbar .ew-global-section:first-child {
#mw-panel {
display: block !important;
display: block !important;
}
}


#ew-global-topbar {
#ew-theme-toggle {
left: 0;
display: grid !important;
padding-left: 10px;
}
}


body.skin-vector-2022 #content {
#mw-head,
padding-right: 16px !important;
#mw-head-base {
left: 0 !important;
padding-left: 16px !important;
margin-left: 0 !important;
}
}


#content,
body.page-Main_Page #content {
padding-right: 0 !important;
#footer {
margin-left: 0 !important;
padding-left: 0 !important;
}

.ew-global-menu a:nth-child(n+3) {
display: none;
}

.ew-global-search {
width: min(240px, 45vw);
}

.ew-tool-link:first-child {
display: none;
}

#ew-server-topbar .ew-global-section:nth-child(n+3) {
display: none !important;
}

#ew-server-topbar .ew-global-search {
flex-basis: min(210px, 48vw) !important;
width: min(210px, 48vw) !important;
}

#ew-sidebar-toggle {
display: grid !important;
}
}


.country-page,
.country-page,
.history-page,
.city-page,
.deity-page,
.deity-page,
.wiki-page,
.wiki-page,
body.ns-14 .mw-parser-output {
body.ns-14 .mw-parser-output {
width: calc(100vw - 48px) !important;
width: calc(100vw - 32px) !important;
}
}
}
}


/* Small category layouts */
@media (max-width: 620px) {
@media (max-width: 620px) {
.category-hub__header {
.category-hub__header {
Line 1,993: Line 2,013:
.category-hub__card--centered {
.category-hub__card--centered {
width: 100%;
width: 100%;
}
}

@media (prefers-reduced-motion: reduce) {
#ew-sidebar,
#ew-server-topbar,
#ew-sidebar-toggle,
body.skin-vector-2022 #content,
body.skin-vector-2022 #footer {
transition: none !important;
}
}
}
}


/* ========================================================================
/* ========================================================================
END ERINDAL WIKI COMMON.CSS v6.4 CLEAN BASE
END ERINDAL WIKI VECTOR-2022.CSS v1.0
======================================================================== */
======================================================================== */

/* Accessibility and mobile layout refinements — September 2026 */
body.page-Main_Page .mw-parser-output > p:has(> br:only-child) {
display: none !important;
}

body:not(.page-Main_Page) .mw-parser-output p a:not(.mw-file-description),
body:not(.page-Main_Page) .mw-parser-output li a:not(.mw-file-description) {
text-decoration: underline;
text-decoration-thickness: .06em;
text-underline-offset: .13em;
}

@media (max-width: 760px) {
#ew-server-topbar {
padding-left: 48px !important;
}

#ew-sidebar-toggle {
top: 5px !important;
}
}


/* Keep Vector article actions in a single horizontal row. */
body.skin-vector-2022 .vector-page-tools-landmark {
width: auto !important;
}

/* Restore Vector's standard compact article header while the custom Main Page uses the full canvas. */
body.skin-vector-2022.page-Main_Page .mw-body {
grid-template-columns: minmax(0, 1fr) 0 !important;
}

body.skin-vector-2022 .vector-page-toolbar .mw-list-item.selected > a {
color: var(--ew-text) !important;
border-bottom-color: var(--ew-text) !important;
}

/* Extend article title and toolbar rules across the full canvas; keep actions at the far right. */
body.skin-vector-2022:not(.page-Main_Page) .mw-body {
grid-template-columns: minmax(0, 59.25rem) minmax(0, 1fr) !important;
}

body.skin-vector-2022:not(.page-Main_Page) .vector-page-titlebar,
body.skin-vector-2022:not(.page-Main_Page) .vector-page-toolbar {
grid-column: 1 / -1 !important;
}

/* Main Page: remove Vector's empty strip below the footer. */
body.page-Main_Page .mw-footer-container {
padding-bottom: 0 !important;
}

/* Dark category-hub palette must override page-local inline light palettes. */
html[data-ew-theme="dark"] body.ns-14 .category-hub {
--category-heading: #f0d79c !important;
--category-paper: #172228 !important;
--category-paper-alt: #202d33 !important;
--category-ink: #eee5d8 !important;
--category-muted: #c6bcae !important;
--category-link: #8fc8ec !important;
--category-line: rgba(210, 172, 101, 0.24) !important;
}

@media (prefers-color-scheme: dark) {
html[data-ew-theme="system"] body.ns-14 .category-hub {
--category-heading: #f0d79c !important;
--category-paper: #172228 !important;
--category-paper-alt: #202d33 !important;
--category-ink: #eee5d8 !important;
--category-muted: #c6bcae !important;
--category-link: #8fc8ec !important;
--category-line: rgba(210, 172, 101, 0.24) !important;
}
}

Latest revision as of 20:43, 14 September 2026

/* ========================================================================
   ERINDAL WIKI - VECTOR-2022.CSS v1.1
   Target: MediaWiki 1.43.x, Vector 2022

   The skin shell, Erindal navigation, responsive layout and colour modes
   are defined here. Designed article systems remain skin-independent below.
   ======================================================================== */

:root {
  --ew-sidebar-open: 276px;
  --ew-sidebar: var(--ew-sidebar-open);
  --ew-topbar: 56px;
  --ew-dark-0: #02070a;
  --ew-dark-1: #061119;
  --ew-dark-2: #0b1a23;
  --ew-gold: #d1a24a;
  --ew-gold-soft: #efc979;
  --ew-paper: #efe7d9;
  --ew-paper-light: #f8f2e8;
  --ew-ink: #171513;
  --ew-border: rgba(111, 86, 54, .34);
  --ew-link: #0c4771;
  --ew-canvas: var(--ew-paper);
  --ew-canvas-soft: var(--ew-paper-light);
  --ew-text: var(--ew-ink);
  --ew-heading: #181512;
  --ew-rule: rgba(91, 70, 44, .32);
  --ew-message: rgba(255, 255, 255, .44);
  --ew-shadow: rgba(35, 25, 16, .17);
  color-scheme: light;
}

html.ew-sidebar-collapsed {
  --ew-sidebar: 0px;
}

html[data-ew-theme="dark"] {
  --ew-canvas: #11191d;
  --ew-canvas-soft: #182329;
  --ew-text: #e9e1d6;
  --ew-heading: #f1ddb1;
  --ew-border: rgba(210, 172, 101, .28);
  --ew-link: #8fc8ec;
  --ew-rule: rgba(210, 172, 101, .25);
  --ew-message: rgba(31, 45, 52, .92);
  --ew-shadow: rgba(0, 0, 0, .34);

  /* Shared component tokens used by TemplateStyles. These are deliberately
     undefined in light mode, where every article keeps its own palette. */
  --ew-component-canvas: #11191d;
  --ew-component-surface: #182329;
  --ew-component-surface-alt: #202d33;
  --ew-component-hover: #263941;
  --ew-component-text: #eee5d8;
  --ew-component-heading: #f0d79c;
  --ew-component-muted: #c6bcae;
  --ew-component-link: #8fc8ec;
  --ew-component-accent: #dfb66f;
  --ew-component-border: rgba(210, 172, 101, .24);
  --ew-component-shadow: rgba(0, 0, 0, .30);
  --ew-component-sheen: rgba(255, 255, 255, .035);
  --ew-component-card: rgba(32, 45, 51, .92);
  --ew-component-card-hover: rgba(41, 58, 65, .96);
  --ew-component-image-blend: normal;
  --ew-component-image-filter: none;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  html[data-ew-theme="system"] {
    --ew-canvas: #11191d;
    --ew-canvas-soft: #182329;
    --ew-text: #e9e1d6;
    --ew-heading: #f1ddb1;
    --ew-border: rgba(210, 172, 101, .28);
    --ew-link: #8fc8ec;
    --ew-rule: rgba(210, 172, 101, .25);
    --ew-message: rgba(31, 45, 52, .92);
    --ew-shadow: rgba(0, 0, 0, .34);
    --ew-component-canvas: #11191d;
    --ew-component-surface: #182329;
    --ew-component-surface-alt: #202d33;
    --ew-component-hover: #263941;
    --ew-component-text: #eee5d8;
    --ew-component-heading: #f0d79c;
    --ew-component-muted: #c6bcae;
    --ew-component-link: #8fc8ec;
    --ew-component-accent: #dfb66f;
    --ew-component-border: rgba(210, 172, 101, .24);
    --ew-component-shadow: rgba(0, 0, 0, .30);
    --ew-component-sheen: rgba(255, 255, 255, .035);
    --ew-component-card: rgba(32, 45, 51, .92);
    --ew-component-card-hover: rgba(41, 58, 65, .96);
    --ew-component-image-blend: normal;
    --ew-component-image-filter: none;
    color-scheme: dark;
  }
}

/* ========================================================================
   PAGE THEME POLICY
   Common.css owns shared layout, typography and component behaviour.
   Individual designed pages continue to set their own palette variables.
   ======================================================================== */

html,
body {
  min-width: 0 !important;
  background: var(--ew-dark-0) !important;
}

body {
  margin: 0 !important;
  color: var(--ew-text);
  font-family: "Alegreya", Georgia, serif;
}

/* ---------- VECTOR 2022 SHELL RESET ---------- */

body.skin-vector-2022 .vector-header-container,
body.skin-vector-2022 .vector-sticky-header,
body.skin-vector-2022 .vector-column-start,
body.skin-vector-2022 .vector-column-end,
body.skin-vector-2022 .vector-sitenotice-container,
body.skin-vector-2022 .vector-toc-landmark,
body.skin-vector-2022 #vector-main-menu-pinned-container,
body.skin-vector-2022 #vector-page-tools-pinned-container,
body.skin-vector-2022 #p-search {
  display: none !important;
}

body.skin-vector-2022 .mw-page-container,
body.skin-vector-2022 .mw-page-container-inner,
body.skin-vector-2022 .mw-content-container,
body.skin-vector-2022 .vector-body,
body.skin-vector-2022 .vector-body-before-content,
body.skin-vector-2022 .vector-page-titlebar,
body.skin-vector-2022 .vector-page-toolbar-container,
body.skin-vector-2022 .vector-page-toolbar,
body.skin-vector-2022 .vector-page-tools-landmark {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

body.skin-vector-2022 .mw-page-container {
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ew-dark-0) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.skin-vector-2022 .mw-page-container-inner {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.skin-vector-2022 .mw-content-container {
  margin: 0 !important;
}

/* ---------- ERINDAL SIDEBAR ---------- */

#ew-sidebar {
  position: fixed !important;
  z-index: 160 !important;
  inset: 0 auto 0 0 !important;
  width: var(--ew-sidebar-open) !important;
  padding: 0 16px 24px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  color: #f4eee3 !important;
  background:
    radial-gradient(circle at 45% 0%, rgba(58, 83, 98, .25), transparent 300px),
    linear-gradient(180deg, #0b1a23 0%, #041019 58%, #020a0f 100%) !important;
  border-right: 2px solid rgba(125, 102, 69, .52) !important;
  box-shadow: inset -12px 0 24px rgba(0, 0, 0, .38), 4px 0 18px rgba(0, 0, 0, .18) !important;
  transform: translateX(0);
  transition: transform .18s ease !important;
}

html.ew-sidebar-collapsed #ew-sidebar {
  transform: translateX(-100%);
}

#ew-sidebar::before,
#ew-sidebar::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 4px;
  width: 18px;
  height: 18px;
  border-color: rgba(207, 163, 80, .62);
  border-style: solid;
  pointer-events: none;
}

#ew-sidebar::before {
  left: 4px;
  border-width: 1px 0 0 1px;
}

#ew-sidebar::after {
  right: 4px;
  border-width: 1px 1px 0 0;
}

.ew-sidebar-brand,
.ew-sidebar-brand:visited {
  position: relative;
  display: block;
  height: 126px;
  margin: 0 0 12px;
  color: var(--ew-gold-soft) !important;
  border-bottom: 1px solid rgba(139, 116, 79, .45);
  text-decoration: none !important;
}

.ew-sidebar-brand::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 25px;
  width: 72px;
  height: 72px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23d6a74d' stroke-width='3'%3E%3Ccircle cx='50' cy='50' r='30'/%3E%3Cpath d='M50 6L58 41L94 50L58 59L50 94L42 59L6 50L42 41Z'/%3E%3Cpath d='M50 17L53 44L83 50L53 56L50 83L47 56L17 50L47 44Z'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='5' fill='%23d6a74d'/%3E%3C/svg%3E");
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .5));
}

.ew-sidebar-brand::after {
  content: "ERINDAL\A WIKI";
  position: absolute;
  left: 101px;
  top: 28px;
  white-space: pre;
  color: var(--ew-gold-soft);
  font: 700 27px/1.05 "Cinzel Decorative", "Cinzel", Georgia, serif;
  letter-spacing: .055em;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .65);
}

.ew-sidebar-section {
  margin: 0 !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(139, 116, 79, .46) !important;
}

.ew-sidebar-section + .ew-sidebar-section {
  margin-top: 18px !important;
}

.ew-sidebar-section h2 {
  margin: 0 0 9px 12px !important;
  padding: 0 !important;
  color: #b9ad9a !important;
  background: none !important;
  border: 0 !important;
  font: 400 13px/1.2 "Almendra SC", "Cinzel", Georgia, serif !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

.ew-sidebar-section ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ew-sidebar-section li {
  margin: 2px 0 !important;
  padding: 0 !important;
}

.ew-sidebar-section a,
.ew-sidebar-section a:visited {
  position: relative;
  display: block;
  padding: 7px 8px 7px 39px !important;
  color: #f1ede6 !important;
  border-radius: 2px;
  font: 400 16px/1.2 "Almendra SC", "Cinzel", Georgia, serif !important;
  letter-spacing: .012em;
  text-decoration: none !important;
}

.ew-sidebar-section a::before {
  content: "◆";
  position: absolute;
  left: 14px;
  top: 7px;
  width: 16px;
  color: #98a09e;
  font-size: 11px;
  text-align: center;
}

.ew-sidebar-section a:hover,
.ew-sidebar-section a:focus {
  color: var(--ew-gold-soft) !important;
  background: linear-gradient(90deg, rgba(35, 67, 93, .72), rgba(22, 43, 57, .20));
}

.ew-sidebar-section:first-of-type li:first-child a {
  color: var(--ew-gold-soft) !important;
  background: linear-gradient(90deg, rgba(35, 67, 93, .95), rgba(22, 43, 57, .42));
}

.ew-sidebar-section:first-of-type li:first-child a::before {
  content: "⌂";
  top: 4px;
  color: var(--ew-gold-soft);
  font-size: 18px;
}

/* ---------- CONTENT CANVAS ---------- */

body.skin-vector-2022 #content {
  min-height: calc(100vh - var(--ew-topbar));
  margin: 0 0 0 var(--ew-sidebar) !important;
  padding: calc(var(--ew-topbar) + 28px) 42px 44px !important;
  color: var(--ew-text) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 230px),
    repeating-linear-gradient(45deg, rgba(119, 91, 49, .012), rgba(119, 91, 49, .012) 2px, transparent 2px, transparent 7px),
    var(--ew-canvas) !important;
  border: 0 !important;
  transition: margin-left .18s ease !important;
}

body.skin-vector-2022 #content a,
body.skin-vector-2022 #content a:visited {
  color: var(--ew-link);
}

body.skin-vector-2022 #content a:hover,
body.skin-vector-2022 #content a:focus {
  color: color-mix(in srgb, var(--ew-link) 70%, var(--ew-gold));
}

#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
  color: var(--ew-heading);
}

#firstHeading {
  border-bottom-color: var(--ew-rule) !important;
}

body.skin-vector-2022 .vector-page-toolbar {
  margin: 0 0 1.25rem !important;
  border-bottom-color: var(--ew-rule) !important;
}

body.skin-vector-2022 .vector-page-toolbar a,
body.skin-vector-2022 .vector-page-toolbar button,
body.skin-vector-2022 .vector-page-toolbar .vector-menu-heading {
  color: var(--ew-text) !important;
}

body.skin-vector-2022 .vector-dropdown-content,
body.skin-vector-2022 .vector-menu-content {
  color: var(--ew-text);
  background-color: var(--ew-canvas-soft);
  border-color: var(--ew-border);
}

.mw-parser-output .wikitable {
  color: var(--ew-text) !important;
  background: var(--ew-canvas-soft) !important;
  border-color: var(--ew-border) !important;
}

.mw-parser-output .wikitable > * > tr > th {
  color: var(--ew-heading) !important;
  background: color-mix(in srgb, var(--ew-canvas-soft) 82%, var(--ew-gold) 18%) !important;
}

.mw-parser-output .wikitable > * > tr > th,
.mw-parser-output .wikitable > * > tr > td,
.mw-parser-output pre,
.mw-parser-output code {
  border-color: var(--ew-border) !important;
}

.mw-parser-output pre {
  color: var(--ew-text) !important;
  background: var(--ew-canvas-soft) !important;
}

.toc,
.vector-toc,
.catlinks,
.mw-warning,
.mw-message-box {
  color: var(--ew-text) !important;
  background: var(--ew-message) !important;
  border-color: var(--ew-border) !important;
}

body.skin-vector-2022 #footer {
  box-sizing: border-box;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 0 var(--ew-sidebar) !important;
  padding: 17px 28px 19px !important;
  color: #c8c2b7 !important;
  background: linear-gradient(180deg, rgba(18, 39, 51, .22), rgba(6, 17, 25, 0) 55%), #061119 !important;
  border-top: 1px solid rgba(197, 157, 79, .36);
  transition: margin-left .18s ease !important;
}

#footer #footer-info,
#footer #footer-info li,
#footer #footer-info-lastmod,
#footer #footer-info-copyright {
  color: #bdb7ac !important;
}

#footer #footer-info {
  margin: 0 0 .55rem !important;
  padding: 0 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}

#footer #footer-places {
  display: flex !important;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin: 0 !important;
  padding: 0 !important;
}

#footer #footer-places li {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer a,
#footer a:visited {
  color: #d1b66d !important;
  text-decoration: none !important;
}

#footer a:hover,
#footer a:focus {
  color: #fff0bd !important;
  text-decoration: underline !important;
}

#footer #footer-icons {
  display: none !important;
}

/* ---------- MAIN PAGE ---------- */

body.page-Main_Page #content {
  padding: var(--ew-topbar) 0 0 !important;
  background: var(--ew-dark-0) !important;
}

body.page-Main_Page #firstHeading,
body.page-Main_Page #siteSub,
body.page-Main_Page #contentSub,
body.page-Main_Page .mw-indicators,
body.page-Main_Page .catlinks,
body.page-Main_Page .vector-page-titlebar,
body.page-Main_Page .vector-page-toolbar-container,
body.page-Main_Page #jump-to-nav,
body.page-Main_Page .toc,
body.page-Main_Page #toc {
  display: none !important;
}

body.page-Main_Page #bodyContent,
body.page-Main_Page #mw-content-text,
body.page-Main_Page .mw-parser-output {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-Main_Page .mw-parser-output > p:empty {
  display: none;
}

body.page-Main_Page .ew-home {
  width: 100% !important;
  max-width: none !important;
}

/* ---------- GENERAL ARTICLE WIDTH ---------- */

body:not(.page-Main_Page) .mw-parser-output {
  max-width: 1180px;
}

body:not(.page-Main_Page) .mw-parser-output p {
  font-size: 16px;
  line-height: 1.58;
}

body:not(.page-Main_Page) .mw-parser-output h2 {
  margin-top: 1.5em;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--ew-rule);
}

.mw-editsection {
  font-family: Arial, sans-serif;
  font-size: 11px;
}

/* MediaWiki file markup wrappers */
.ew-hero-image > span,
.ew-hero-image > a,
.ew-map-image > span,
.ew-map-image > a,
.ew-feature-image > span,
.ew-feature-image > a,
.ew-strip > span,
.ew-strip > a,
.ew-hero-image .mw-file-description,
.ew-map-image .mw-file-description,
.ew-feature-image .mw-file-description,
.ew-strip .mw-file-description {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}


/* ========================================================================
   TYPOGRAPHY - CONSOLIDATED CURRENT STATE

   Final values from the former v4.4-v4.8 typography passes. Older font
   experiments were removed so each element has one authoritative rule.
   ======================================================================== */

/* Readable body/lore face. */
html body,
#content,
#bodyContent,
#mw-content-text,
.mw-parser-output,
.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output td,
.mw-parser-output th,
.mw-parser-output dd,
.mw-parser-output dt,
.ew-home,
.ew-panel p,
.ew-card small,
.ew-recent-row,
.ew-global-search input[type="search"] {
  font-family: "Alegreya", Georgia, serif !important;
  font-weight: 400 !important;
}

#ew-server-topbar,
.ew-global-menu,
.ew-global-menu a {
  font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
}

.ew-global-menu { font-weight: 400 !important; }

.ew-global-menu a {
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
}

/* Content-facing headings and labels. */
#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
.ew-panel h2,
.ew-panel h3,
.ew-panel-title,
.ew-section-title,
.ew-category-title,
.ew-featured h2,
.ew-featured h3,
.ew-recent h2,
.ew-important h2,
.ew-overview h2,
.ew-category h2,
.ew-card-label {
  font-family: "Alegreya SC", "Alegreya", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
}

.ew-card-label {
  display: block !important;
  color: var(--ew-component-heading, #171513) !important;
  font-size: 14px !important;
  line-height: 1.12 !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}

.ew-featured h3,
.ew-featured h3 a,
.ew-featured .mw-selflink {
  font-family: "Alegreya SC", "Alegreya", Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: .018em !important;
  text-transform: none !important;
}

.ew-panel h2,
.ew-panel-title,
.ew-section-title,
.ew-category-title,
.ew-overview h2,
.ew-category h2,
.ew-featured h2,
.ew-recent h2,
.ew-important h2 {
  font-size: 21px !important;
  line-height: 1.15 !important;
}

#firstHeading { font-size: 34px !important; line-height: 1.12 !important; }
#content h2 { font-size: 26px !important; line-height: 1.18 !important; }
#content h3 { font-size: 21px !important; line-height: 1.2 !important; }
#content h4 { font-size: 18px !important; line-height: 1.22 !important; }

/* Strong display face only for branding. */
.ew-sidebar-brand::after,
.ew-hero-title {
  font-family: "Cinzel Decorative", "Cinzel", Georgia, serif !important;
  font-weight: 700 !important;
}

.ew-sidebar-brand::after { letter-spacing: .055em !important; }
.ew-hero-title { letter-spacing: .025em !important; }

.ew-hero-kicker {
  font-family: "Alegreya SC", "Alegreya", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

/* Long-form prose sizing. */
.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output dd,
.mw-parser-output dt,
.ew-home,
.ew-panel p {
  font-size: 16.5px !important;
  line-height: 1.48 !important;
}

/* Use Vector's own edit controls. Do not create a second custom one. */
#ca-edit,
#ca-ve-edit,
#ca-viewsource {
  display: list-item !important;
}

/* Legacy custom edit shortcut is no longer used. */
.ew-edit-link { display: none !important; }

/* =========================================================
   SHARED ARTICLE PRIMITIVES
   Structural rules shared by the designed article systems.
   Page-specific colours and unique behavior remain local.
   ========================================================= */

.country-page,
.history-page,
.city-page,
.deity-page,
.wiki-page {
  box-sizing: border-box;
  width: calc(100vw - var(--ew-sidebar) - 84px) !important;
  max-width: none !important;
  font-family: "Alegreya", Georgia, serif;
  line-height: 1.62;
}

.country-hero,
.history-hero,
.city-hero,
.deity-hero,
.wiki-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.country-hero,
.history-hero,
.city-hero,
.deity-hero {
  box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
}

.country-hero__overlay,
.history-hero__overlay,
.city-hero__overlay,
.deity-hero__overlay,
.wiki-hero__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  pointer-events: none;
}

.country-hero__eyebrow,
.history-hero__eyebrow,
.city-hero__eyebrow,
.deity-hero__eyebrow,
.wiki-hero__eyebrow {
  margin-bottom: 0.25rem;
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.country-hero__title,
.history-hero__title,
.city-hero__title,
.deity-hero__title,
.wiki-hero__title {
  font-family: "Alegreya SC", Georgia, serif;
  font-weight: 700;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
}

.country-hero__subtitle,
.history-hero__subtitle,
.city-hero__subtitle,
.deity-hero__subtitle,
.wiki-hero__subtitle {
  font-style: italic;
}

.country-overview,
.history-overview,
.city-overview,
.deity-overview {
  display: grid;
  gap: 2rem;
  align-items: start;
  margin-bottom: 2.25rem;
}

.country-overview__lead,
.history-overview__lead,
.city-overview__lead,
.deity-overview__lead {
  font-size: 1.08rem;
}

.country-overview__lead > p:first-child::first-letter,
.history-overview__lead > p:first-child::first-letter,
.city-overview__lead > p:first-child::first-letter,
.deity-overview__lead > p:first-child::first-letter {
  float: left;
  margin: 0.08em 0.1em 0 0;
  font-family: "Alegreya SC", Georgia, serif;
  font-weight: 700;
}

.country-record,
.history-record,
.city-record,
.deity-record,
.wiki-record {
  overflow: hidden;
  border-radius: 12px;
}

.country-record__heading,
.history-record__heading,
.city-record__heading,
.deity-record__heading {
  padding: 0.85rem 1rem;
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.country-record__row,
.history-record__row,
.city-record__row,
.deity-record__row {
  display: grid;
  gap: 0.75rem;
  padding: 0.62rem 0.85rem;
}

.country-record__row span,
.history-record__row span,
.city-record__row span,
.deity-record__row span {
  font-family: "Alegreya SC", Georgia, serif;
  font-weight: 700;
}

.country-card-grid,
.deity-card-grid,
.wiki-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.75rem;
}

.country-card-grid--three,
.deity-card-grid--three,
.wiki-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.history-figure,
.deity-figure,
.wiki-figure {
  box-sizing: border-box;
  margin: 1.35rem 0 1.9rem;
  overflow: hidden;
  border-radius: 10px;
}

.history-figure__caption,
.deity-figure__caption,
.wiki-figure__caption {
  padding: 0.65rem 0.9rem 0.72rem;
  font-size: 0.94rem;
  font-style: italic;
  line-height: 1.35;
}

.city-index__grid,
.deity-index__grid,
.wiki-index__grid {
  display: grid;
}

.city-index__grid > div,
.deity-index__grid > div,
.wiki-index__grid > div {
  min-width: 0;
}

.city-index__grid span,
.city-index__grid strong,
.deity-index__grid span,
.deity-index__grid strong,
.wiki-index__grid span,
.wiki-index__grid strong {
  display: block;
}

.city-index__grid span,
.deity-index__grid span,
.wiki-index__grid span {
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.city-index__grid strong,
.deity-index__grid strong,
.wiki-index__grid strong {
  margin-top: 0.12rem;
  font-size: 0.98rem;
  line-height: 1.2;
}

.city-index__heading,
.deity-index__heading,
.wiki-index__heading {
  font-family: "Alegreya SC", Georgia, serif;
  font-weight: 700;
  text-align: center;
}

.deity-card,
.wiki-card {
  min-width: 0;
  padding: 1rem;
  border-radius: 9px;
}

.deity-card h3,
.wiki-card h3 {
  margin: 0 0 0.35rem;
  font-size: 1.17rem;
}

.deity-card p,
.wiki-card p {
  margin: 0.35rem 0 0;
}

.history-note,
.city-note {
  margin: 1.25rem 0;
  border-radius: 8px;
}

.history-note strong,
.city-note strong {
  font-family: "Alegreya SC", Georgia, serif;
}

.history-page__body,
.city-page__body {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
}

.history-page__body .toc,
.city-page__body .toc,
.history-page__body #toc,
.city-page__body #toc {
  margin: 0 0 1.8rem;
  padding: 0.9rem 1.1rem;
  border-radius: 9px;
}

.history-page__body h2,
.city-page__body h2,
.deity-page__body h2,
.wiki-page__body h2 {
  font-family: "Alegreya SC", Georgia, serif;
  font-weight: 700;
}

.city-page__body h2::after,
.deity-page__body h2::after,
.wiki-page__body h2::after {
  content: "";
  flex: 1;
  height: 1px;
}

.city-index__grid a,
.deity-index__grid a,
.wiki-index__grid a {
  display: block;
  text-decoration: none;
}

.history-figure .mw-file-element,
.deity-figure .mw-file-element,
.history-figure__image,
.deity-figure__image {
  height: clamp(220px, 28vw, 340px);
  object-fit: cover;
}

.deity-quote,
.wiki-quote {
  font-size: 1.08rem;
  font-style: italic;
}

/* ========================================================================
   SERVER-RENDERED ERINDAL INTERFACE

   #ew-sidebar, #ew-server-topbar and both controls are emitted by the
   companion LocalSettings.php hook. They are independent of Vector's DOM.
   ======================================================================== */

#ew-server-topbar {
  position: fixed !important;
  z-index: 180 !important;
  top: 0 !important;
  left: var(--ew-sidebar) !important;
  right: 0 !important;
  display: flex !important;
  align-items: center !important;
  height: var(--ew-topbar) !important;
  margin: 0 !important;
  padding: 0 14px 0 24px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  color: #f3eee5 !important;
  background: linear-gradient(180deg, #08141c 0%, #03090d 100%) !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(112, 88, 58, .46) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 2px 6px rgba(0, 0, 0, .28) !important;
  font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
  transition: left .18s ease !important;
}

#ew-server-topbar::before,
#ew-server-topbar::after {
  content: "";
  position: absolute;
  top: 4px;
  width: 18px;
  height: 18px;
  border-color: rgba(207, 163, 80, .55);
  border-style: solid;
  pointer-events: none;
}

#ew-server-topbar::before {
  left: 4px;
  border-width: 1px 0 0 1px;
}

#ew-server-topbar::after {
  right: 4px;
  border-width: 1px 1px 0 0;
}

#ew-server-topbar .ew-global-menu {
  display: flex !important;
  flex: 0 1 auto !important;
  align-items: stretch !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#ew-server-topbar .ew-global-section {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#ew-server-topbar .ew-global-section > summary {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  color: #f3eee5 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  list-style: none !important;
  font: 400 15px/1 "Almendra SC", "Cinzel", Georgia, serif !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

#ew-server-topbar .ew-global-section > summary::-webkit-details-marker,
#ew-server-topbar .ew-global-section > summary::marker {
  display: none;
  content: "";
}

#ew-server-topbar .ew-global-section > summary span {
  margin-left: 7px;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  transition: transform .16s ease;
}

#ew-server-topbar .ew-global-section[open] > summary span {
  transform: rotate(180deg);
}

#ew-server-topbar .ew-global-section > summary:hover,
#ew-server-topbar .ew-global-section > summary:focus,
#ew-server-topbar .ew-global-section[open] > summary {
  color: var(--ew-gold-soft) !important;
  background: rgba(255, 255, 255, .04) !important;
}

#ew-server-topbar .ew-global-dropdown {
  position: absolute !important;
  z-index: 210 !important;
  top: calc(var(--ew-topbar) - 2px) !important;
  left: 0 !important;
  display: none !important;
  min-width: 220px !important;
  margin: 0 !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, #0b1a23, #041019) !important;
  border: 1px solid rgba(125, 102, 69, .62) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .36) !important;
}

#ew-server-topbar .ew-global-section[open] > .ew-global-dropdown {
  display: block !important;
}

#ew-server-topbar .ew-global-dropdown a,
#ew-server-topbar .ew-global-dropdown a:visited {
  display: block !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  color: #f1ede6 !important;
  background: transparent !important;
  font: 400 15px/1.15 "Almendra SC", "Cinzel", Georgia, serif !important;
  letter-spacing: .015em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#ew-server-topbar .ew-global-dropdown a:hover,
#ew-server-topbar .ew-global-dropdown a:focus {
  color: var(--ew-gold-soft) !important;
  background: linear-gradient(90deg, rgba(35, 67, 93, .82), rgba(22, 43, 57, .24)) !important;
}

#ew-server-topbar .ew-global-search {
  display: flex !important;
  flex: 0 1 304px !important;
  width: min(304px, 24vw) !important;
  height: 35px !important;
  margin: 0 0 0 auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: rgba(0, 0, 0, .28) !important;
  border: 1px solid rgba(151, 128, 91, .42) !important;
  border-radius: 4px !important;
}

#ew-server-topbar .ew-global-search input[type="search"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 33px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: #eee8de !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  font: 400 15px/33px "Alegreya", Georgia, serif !important;
}

#ew-server-topbar .ew-global-search input::placeholder {
  color: #d4cbc0;
  opacity: .88;
}

#ew-server-topbar .ew-global-search button {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 33px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f1eade !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid rgba(151, 128, 91, .34) !important;
  font-size: 20px !important;
  line-height: 33px !important;
  cursor: pointer !important;
}

.ew-topbar-tools {
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: 8px;
}

.ew-topbar-tool,
.ew-topbar-tool:visited,
#ew-theme-toggle {
  display: grid !important;
  place-items: center !important;
  min-width: 42px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  color: #f3eee5 !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid rgba(151, 128, 91, .20) !important;
  font: 400 14px/1 "Almendra SC", "Cinzel", Georgia, serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.ew-topbar-tool:hover,
.ew-topbar-tool:focus,
#ew-theme-toggle:hover,
#ew-theme-toggle:focus {
  color: var(--ew-gold-soft) !important;
  background: rgba(255, 255, 255, .04) !important;
}

#ew-theme-toggle {
  min-width: 76px !important;
}

#ew-sidebar-toggle {
  position: fixed !important;
  z-index: 220 !important;
  top: 70px !important;
  left: calc(var(--ew-sidebar) - 14px) !important;
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 1px 3px 0 !important;
  color: var(--ew-gold-soft) !important;
  background: linear-gradient(180deg, #102431, #06131b) !important;
  border: 1px solid rgba(207, 163, 80, .72) !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .44) !important;
  font: 28px/1 Georgia, serif !important;
  cursor: pointer !important;
  transition: left .18s ease !important;
}

#ew-sidebar-toggle:hover,
#ew-sidebar-toggle:focus {
  color: #fff4d6 !important;
  background: linear-gradient(180deg, #173447, #0a1b25) !important;
  outline: 2px solid rgba(239, 201, 121, .30) !important;
  outline-offset: 1px !important;
}

html.ew-sidebar-collapsed #ew-sidebar-toggle {
  left: 0 !important;
  border-left: 0 !important;
  border-radius: 0 6px 6px 0 !important;
}


/* =========================================================
   FINAL SHARED HERO SCALE
   Nation, history, city and deity pages deliberately use one size.
   Keep this block last so older duplicate rules cannot win.
   ========================================================= */

.country-hero,
.history-hero,
.city-hero,
.deity-hero,
.wiki-hero {
  box-sizing: border-box !important;
  height: clamp(240px, 22vw, 320px) !important;
  min-height: 240px !important;
  max-height: 320px !important;
  margin: 0 0 1.4rem !important;
  border-radius: 14px !important;
}

.country-hero .mw-file-description,
.country-hero .mw-file-element,
.history-hero .mw-file-description,
.history-hero .mw-file-element,
.city-hero .mw-file-description,
.city-hero .mw-file-element,
.deity-hero .mw-file-description,
.deity-hero .mw-file-element,
.wiki-hero .mw-file-description,
.wiki-hero .mw-file-element,
.country-hero__image,
.history-hero__image,
.city-hero__image,
.deity-hero__image,
.wiki-hero__image {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
}

.country-hero__overlay,
.history-hero__overlay,
.city-hero__overlay,
.deity-hero__overlay,
.wiki-hero__overlay {
  padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.country-hero__title,
.history-hero__title,
.city-hero__title,
.deity-hero__title,
.wiki-hero__title {
  max-width: 900px !important;
  font-size: clamp(2.1rem, 4vw, 3.6rem) !important;
  line-height: 0.96 !important;
}

.country-hero__subtitle,
.history-hero__subtitle,
.city-hero__subtitle,
.deity-hero__subtitle,
.wiki-hero__subtitle {
  margin-top: 0.55rem !important;
  font-size: clamp(1rem, 2vw, 1.35rem) !important;
}

/* Missing files leave no blue filename inside the hero. */
.country-hero a.new,
.history-hero a.new,
.city-hero a.new,
.deity-hero a.new,
.wiki-hero a.new {
  display: none !important;
}


/* =========================================================
   FLOWING RECORD LAYOUT
   Desktop record boxes behave like traditional wiki infoboxes: they float
   beside the article instead of forcing everything below their full height.
   ========================================================= */

/* =========================================================
   HISTORY AND CHRONOLOGY PORTALS — FULL CONTENT WIDTH
   The original general article rule caps parser output at 1180px. These are
   designed reference pages and should use the same available width as city,
   nation, national-history and deity layouts.
   ========================================================= */
body.page-Category_History_and_Timeline .mw-parser-output,
body.page-History_and_Timeline .mw-parser-output,
body.page-Chronology_of_Erindal .mw-parser-output,
body.page-Calendar_of_Erindal .mw-parser-output,
body.page-Death_Souls_and_Resurrection .mw-parser-output {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}



/* ========================================================================
   CATEGORY HUBS
   Reusable visual treatment for MediaWiki category pages.
   Category-specific colours belong in the category page's own .wiki source.
   ======================================================================== */

body.ns-14 {
  --category-accent: var(--ew-gold);
  --category-accent-light: var(--ew-gold-soft);
  --category-deep: #102733;
  --category-heading: var(--category-deep);
  --category-paper: #f5f0e7;
  --category-paper-alt: #e8dfd0;
  --category-ink: #2b2925;
  --category-muted: #70675c;
  --category-link: #174f72;
  --category-line: rgba(59, 52, 44, 0.24);
}

html[data-ew-theme="dark"] body.ns-14 {
  --category-deep: #0b202b;
  --category-heading: #f0d79c;
  --category-paper: #172228;
  --category-paper-alt: #202d33;
  --category-ink: #eee5d8;
  --category-muted: #c6bcae;
  --category-link: #8fc8ec;
  --category-line: rgba(210, 172, 101, .24);
}

@media (prefers-color-scheme: dark) {
  html[data-ew-theme="system"] body.ns-14 {
    --category-deep: #0b202b;
    --category-heading: #f0d79c;
    --category-paper: #172228;
    --category-paper-alt: #202d33;
    --category-ink: #eee5d8;
    --category-muted: #c6bcae;
    --category-link: #8fc8ec;
    --category-line: rgba(210, 172, 101, .24);
  }
}

/* Category directories are navigation pages, not normal reading-width articles. */
body.ns-14 #mw-content-text {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

body.ns-14 .mw-parser-output {
  box-sizing: border-box !important;
  width: calc(100vw - var(--ew-sidebar) - 84px) !important;
  max-width: none !important;
}

/* Keep category pages feeling like part of the Erindal article system. */
body.ns-14 #firstHeading {
  margin-bottom: 0.9rem;
  color: var(--category-heading);
  font-family: "Alegreya SC", Georgia, serif;
  letter-spacing: 0.025em;
}

.category-hub {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1.7rem;
  color: var(--category-ink);
  font-family: "Alegreya", Georgia, serif;
}

.category-hub__header {
  position: relative;
  overflow: hidden;
  padding: 1.55rem 1.7rem 1.45rem;
  border: 1px solid var(--category-line);
  border-radius: 13px;
  background:
    linear-gradient(120deg,
      var(--category-deep) 0%,
      var(--category-deep) 58%,
      var(--category-accent) 100%);
  box-shadow: 0 10px 25px rgba(30, 24, 18, 0.13);
}

.category-hub__header::after {
  content: "";
  position: absolute;
  right: -45px;
  bottom: -90px;
  width: 300px;
  height: 220px;
  border: 1px solid var(--category-line);
  border-radius: 50%;
  box-shadow:
    0 0 0 34px rgba(255, 255, 255, 0.035),
    0 0 0 72px rgba(255, 255, 255, 0.02);
  pointer-events: none;
}

.category-hub__eyebrow {
  position: relative;
  z-index: 1;
  margin-bottom: 0.22rem;
  color: var(--category-accent-light);
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.category-hub__title {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff8ed;
  font-family: "Alegreya SC", Georgia, serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.025em;
}

.category-hub__subtitle {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin-top: 0.55rem;
  color: rgba(255, 248, 237, 0.88);
  font-size: 1.02rem;
  line-height: 1.5;
}

.category-hub__intro {
  margin: 1rem 0 0;
  padding: 0.95rem 1.1rem;
  border-left: 3px solid var(--category-accent);
  background: linear-gradient(90deg,
    var(--category-paper-alt),
    var(--category-paper));
  color: var(--category-ink);
}

.category-hub__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.category-hub__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* A secondary status card can sit beneath a 3-column category grid without
   pretending to be another functional organization type. On desktop it uses
   the middle column; on smaller layouts it remains centred, then becomes
   full-width on mobile. */
.category-hub__card--centered {
  grid-column: 2 / 3;
}


.category-hub__card {
  min-width: 0;
  padding: 1rem 1.05rem 0.95rem;
  border: 1px solid var(--category-line);
  border-radius: 10px;
  background:
    linear-gradient(145deg, var(--category-paper), var(--category-paper-alt));
  box-shadow: 0 5px 14px rgba(45, 36, 28, 0.06);
}

.category-hub__card h3,
.category-hub__card-title {
  display: block;
  margin: 0 0 0.28rem;
  color: var(--category-heading);
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 1.13rem;
  font-weight: 700;
  line-height: 1.15;
}

.category-hub__card p {
  margin: 0 0 0.65rem;
  color: var(--category-muted);
  line-height: 1.45;
}

.category-hub__card a {
  color: var(--category-link);
  font-weight: 700;
  text-decoration: none;
}

.category-hub__card a:hover,
.category-hub__card a:focus {
  text-decoration: underline;
}

/* Automatic MediaWiki category output ----------------------------------- */

body.ns-14 #mw-subcategories,
body.ns-14 #mw-pages {
  margin-top: 1.8rem;
}

body.ns-14 #mw-subcategories > h2,
body.ns-14 #mw-pages > h2 {
  margin: 0 0 0.45rem;
  padding-bottom: 0.42rem;
  color: var(--category-heading);
  border-bottom: 1px solid var(--category-line);
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 1.45rem;
  letter-spacing: 0.025em;
}

body.ns-14 #mw-subcategories > p,
body.ns-14 #mw-pages > p {
  color: var(--category-muted);
}

/* Turn the stock alphabetical columns into parchment directory cards. */
body.ns-14 .mw-category {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1rem;
}

body.ns-14 .mw-category-generated .mw-category-group,
body.ns-14 .mw-category .mw-category-group {
  box-sizing: border-box;
  min-width: 0;
  margin: 0 !important;
  padding: 0.85rem 0.95rem 0.9rem;
  border: 1px solid var(--category-line);
  border-radius: 10px;
  background:
    linear-gradient(145deg, var(--category-paper), var(--category-paper-alt));
  box-shadow: 0 4px 12px rgba(43, 34, 27, 0.055);
}

body.ns-14 .mw-category-group h3 {
  margin: 0 0 0.45rem;
  padding: 0 0 0.32rem;
  color: var(--category-accent);
  border-bottom: 1px solid var(--category-line);
  font-family: "Alegreya SC", Georgia, serif;
  font-size: 1.2rem;
  line-height: 1;
}

body.ns-14 .mw-category-group ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ns-14 .mw-category-group li {
  margin: 0 !important;
  padding: 0.28rem 0 !important;
}

body.ns-14 .mw-category-group li + li {
  border-top: 1px dotted var(--category-line);
}

body.ns-14 .mw-category-group a {
  color: var(--category-link);
  font-weight: 600;
  text-decoration: none;
}

body.ns-14 .mw-category-group a:hover,
body.ns-14 .mw-category-group a:focus {
  color: var(--category-heading);
  text-decoration: underline;
}

/* Subcategories use the same visual language where MediaWiki exposes them. */
body.ns-14 #mw-subcategories .mw-category {
  margin-bottom: 0.4rem;
}


/* ========================================================================
   MAIN CATEGORY HUBS - HIDE DUPLICATE SUBCATEGORIES
   The nine top-level category hubs already show curated category cards.
   Hide MediaWiki's automatic #mw-subcategories block only on those pages.
   Compact/mini category hubs remain unchanged.
   ======================================================================== */

body.ns-14.page-Category_Nations_and_Realms #mw-subcategories,
body.ns-14.page-Category_Ancestries_and_Cultures #mw-subcategories,
body.ns-14.page-Category_Races_and_Peoples #mw-subcategories,
body.ns-14.page-Category_Characters #mw-subcategories,
body.ns-14.page-Category_Organizations #mw-subcategories,
body.ns-14.page-Category_Religion_and_Deities #mw-subcategories,
body.ns-14.page-Category_Magic_and_Cosmology #mw-subcategories,
body.ns-14.page-Category_Locations #mw-subcategories,
body.ns-14.page-Category_History_and_Timeline #mw-subcategories,
body.ns-14.page-Category_Family_Lines #mw-subcategories {
  display: none !important;
}

/* ========================================================================
   RESPONSIVE LAYOUT - VECTOR 2022
   ======================================================================== */

@media (min-width: 1900px) {
  .ew-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .ew-strip {
    grid-column: span 4;
  }
}

@media (min-width: 1181px) and (max-width: 1550px) {
  .ew-home-grid {
    grid-template-columns: minmax(0, 1.56fr) minmax(360px, .98fr);
  }
}

@media (min-width: 951px) {
  .country-overview,
  .history-overview,
  .city-overview {
    display: block !important;
    margin-bottom: 1.5rem !important;
  }

  .country-record,
  .history-record,
  .city-record {
    float: right !important;
    box-sizing: border-box !important;
    width: 340px !important;
    max-width: 34% !important;
    margin: 0 0 1.5rem 2rem !important;
  }

  .country-overview__lead,
  .history-overview__lead,
  .city-overview__lead {
    display: block !important;
    min-width: 0 !important;
  }

  .history-era-index,
  .city-index {
    min-width: 0;
    overflow: hidden;
  }

  .country-page::after,
  .history-page::after,
  .city-page::after,
  .deity-page::after,
  .wiki-page::after {
    content: "";
    display: block;
    clear: both;
  }
}

@media (max-width: 1240px) {
  #ew-server-topbar .ew-global-section > summary {
    padding-right: 9px !important;
    padding-left: 9px !important;
    font-size: 14px !important;
  }

  #ew-server-topbar .ew-global-search {
    flex-basis: 210px !important;
    width: 210px !important;
  }

  #ew-theme-toggle {
    min-width: 42px !important;
    width: 42px !important;
    overflow: hidden;
    white-space: nowrap;
  }
}

@media (max-width: 1100px) {
  #ew-server-topbar .ew-global-section:nth-child(n+5) {
    display: none !important;
  }

  .country-card-grid--four,
  .country-card-grid--three,
  .city-index__grid,
  .city-location-grid,
  .deity-card-grid--three,
  .wiki-card-grid--three,
  .wiki-index__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 950px) {
  .country-overview,
  .history-overview,
  .city-overview {
    display: block !important;
  }

  .country-record,
  .history-record,
  .city-record {
    float: none !important;
    box-sizing: border-box !important;
    width: min(100%, 580px) !important;
    max-width: 100% !important;
    margin: 0 auto 1.5rem !important;
  }

  .category-hub__card--centered {
    grid-column: 1 / -1;
    width: calc((100% - .8rem) / 2);
    justify-self: center;
  }

  .category-hub__grid,
  body.ns-14 .mw-category {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  :root {
    --ew-sidebar-open: 218px;
    --ew-sidebar: var(--ew-sidebar-open);
  }

  html.ew-sidebar-collapsed {
    --ew-sidebar: 0px;
  }

  .ew-sidebar-brand::before {
    left: 8px;
    top: 30px;
    width: 58px;
    height: 58px;
  }

  .ew-sidebar-brand::after {
    left: 72px;
    top: 34px;
    font-size: 21px;
  }

  #ew-server-topbar .ew-global-section:nth-child(n+4) {
    display: none !important;
  }

  body.skin-vector-2022 #content {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  body.page-Main_Page #content {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .country-page,
  .history-page,
  .city-page,
  .deity-page,
  .wiki-page,
  body.ns-14 .mw-parser-output {
    width: calc(100vw - var(--ew-sidebar) - 48px) !important;
  }
}

@media (max-width: 760px) {
  :root,
  html.ew-sidebar-collapsed {
    --ew-sidebar: 0px;
  }

  #ew-sidebar {
    box-shadow: inset -12px 0 24px rgba(0, 0, 0, .38), 8px 0 28px rgba(0, 0, 0, .46) !important;
  }

  html:not(.ew-sidebar-collapsed) #ew-sidebar-toggle {
    left: calc(var(--ew-sidebar-open) - 14px) !important;
  }

  #ew-server-topbar {
    left: 0 !important;
    padding-left: 12px !important;
  }

  #ew-server-topbar .ew-global-section:nth-child(n+3) {
    display: none !important;
  }

  #ew-server-topbar .ew-global-search {
    flex-basis: min(220px, 43vw) !important;
    width: min(220px, 43vw) !important;
  }

  .ew-topbar-tool {
    display: none !important;
  }

  body.skin-vector-2022 #content,
  body.skin-vector-2022 #footer {
    margin-left: 0 !important;
  }

  .country-overview,
  .country-feature,
  .country-feature--image-left,
  .country-card-grid,
  .country-card-grid--three,
  .country-card-grid--four,
  .country-quickfacts,
  .history-overview,
  .history-era-index__grid,
  .city-overview,
  .city-index__grid,
  .city-district-grid,
  .city-location-grid,
  .deity-overview,
  .deity-card-grid,
  .deity-card-grid--three,
  .deity-index__grid,
  .wiki-index__grid,
  .wiki-card-grid,
  .wiki-card-grid--three,
  .wiki-process {
    grid-template-columns: 1fr;
  }

  .country-record__row,
  .history-record__row,
  .city-record__row,
  .deity-record__row,
  .wiki-record__rows > div {
    grid-template-columns: 1fr;
    gap: .15rem;
  }

  .city-record,
  .deity-record {
    width: min(100%, 580px);
    order: -1;
  }

  .history-figure .mw-file-element,
  .history-figure__image,
  .deity-figure .mw-file-element,
  .deity-figure__image {
    height: 220px;
  }

  .country-hero,
  .history-hero,
  .city-hero,
  .deity-hero,
  .wiki-hero {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    border-radius: 10px !important;
  }

  .country-hero__overlay,
  .history-hero__overlay,
  .city-hero__overlay,
  .deity-hero__overlay,
  .wiki-hero__overlay {
    padding: 1.25rem !important;
  }

  .country-page,
  .history-page,
  .city-page,
  .deity-page,
  .wiki-page,
  body.ns-14 .mw-parser-output {
    width: calc(100vw - 48px) !important;
  }
}

@media (max-width: 560px) {
  #ew-server-topbar .ew-global-section:nth-child(n+2),
  #ew-server-topbar .ew-global-search {
    display: none !important;
  }

  #ew-server-topbar .ew-global-menu {
    flex: 1 1 auto !important;
  }

  #ew-server-topbar .ew-global-section:first-child {
    display: block !important;
  }

  #ew-theme-toggle {
    display: grid !important;
  }

  body.skin-vector-2022 #content {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.page-Main_Page #content {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .country-page,
  .history-page,
  .city-page,
  .deity-page,
  .wiki-page,
  body.ns-14 .mw-parser-output {
    width: calc(100vw - 32px) !important;
  }
}

@media (max-width: 620px) {
  .category-hub__header {
    padding: 1.2rem;
  }

  .category-hub__grid,
  .category-hub__grid--2,
  body.ns-14 .mw-category {
    grid-template-columns: 1fr;
  }

  .category-hub__card--centered {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #ew-sidebar,
  #ew-server-topbar,
  #ew-sidebar-toggle,
  body.skin-vector-2022 #content,
  body.skin-vector-2022 #footer {
    transition: none !important;
  }
}

/* ========================================================================
   END ERINDAL WIKI VECTOR-2022.CSS v1.0
   ======================================================================== */

/* Accessibility and mobile layout refinements — September 2026 */
body.page-Main_Page .mw-parser-output > p:has(> br:only-child) {
  display: none !important;
}

body:not(.page-Main_Page) .mw-parser-output p a:not(.mw-file-description),
body:not(.page-Main_Page) .mw-parser-output li a:not(.mw-file-description) {
  text-decoration: underline;
  text-decoration-thickness: .06em;
  text-underline-offset: .13em;
}

@media (max-width: 760px) {
  #ew-server-topbar {
    padding-left: 48px !important;
  }

  #ew-sidebar-toggle {
    top: 5px !important;
  }
}


/* Keep Vector article actions in a single horizontal row. */
body.skin-vector-2022 .vector-page-tools-landmark {
  width: auto !important;
}

/* Restore Vector's standard compact article header while the custom Main Page uses the full canvas. */
body.skin-vector-2022.page-Main_Page .mw-body {
  grid-template-columns: minmax(0, 1fr) 0 !important;
}

body.skin-vector-2022 .vector-page-toolbar .mw-list-item.selected > a {
  color: var(--ew-text) !important;
  border-bottom-color: var(--ew-text) !important;
}

/* Extend article title and toolbar rules across the full canvas; keep actions at the far right. */
body.skin-vector-2022:not(.page-Main_Page) .mw-body {
  grid-template-columns: minmax(0, 59.25rem) minmax(0, 1fr) !important;
}

body.skin-vector-2022:not(.page-Main_Page) .vector-page-titlebar,
body.skin-vector-2022:not(.page-Main_Page) .vector-page-toolbar {
  grid-column: 1 / -1 !important;
}

/* Main Page: remove Vector's empty strip below the footer. */
body.page-Main_Page .mw-footer-container {
  padding-bottom: 0 !important;
}

/* Dark category-hub palette must override page-local inline light palettes. */
html[data-ew-theme="dark"] body.ns-14 .category-hub {
  --category-heading: #f0d79c !important;
  --category-paper: #172228 !important;
  --category-paper-alt: #202d33 !important;
  --category-ink: #eee5d8 !important;
  --category-muted: #c6bcae !important;
  --category-link: #8fc8ec !important;
  --category-line: rgba(210, 172, 101, 0.24) !important;
}

@media (prefers-color-scheme: dark) {
  html[data-ew-theme="system"] body.ns-14 .category-hub {
    --category-heading: #f0d79c !important;
    --category-paper: #172228 !important;
    --category-paper-alt: #202d33 !important;
    --category-ink: #eee5d8 !important;
    --category-muted: #c6bcae !important;
    --category-link: #8fc8ec !important;
    --category-line: rgba(210, 172, 101, 0.24) !important;
  }
}