Jump to content

MediaWiki:Common.css: Difference between revisions

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

/* ========================================================================
/* ========================================================================
ERINDAL WIKI - LIVE VECTOR THEME v6.2 PAGE-LOCAL PALETTES
ERINDAL WIKI - VECTOR-2022.CSS v1.1
Target: MediaWiki 1.43.x, legacy Vector skin
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 {
:root {
--ew-sidebar: 276px;
--ew-sidebar-open: 276px;
--ew-sidebar: var(--ew-sidebar-open);
--ew-topbar: 56px;
--ew-topbar: 56px;
--ew-content-max: calc(100vw - var(--ew-sidebar));
--ew-dark-0: #02070a;
--ew-dark-0: #02070a;
--ew-dark-1: #061119;
--ew-dark-1: #061119;
Line 19: 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 24: 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;
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: calc(var(--ew-sidebar) - 32px) !important;
height: 126px !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 99: 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 { margin-top: 18px !important; }
.ew-sidebar-section + .ew-sidebar-section {
#mw-panel .portal h3 {
height: auto !important;
margin-top: 18px !important;
}

.ew-sidebar-section h2 {
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 {
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 {
content: "◆";
content: "◆";
position: absolute;
position: absolute;
Line 167: 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 { content: "⌂"; color: var(--ew-gold-soft); font-size: 18px; top: 4px; }


.ew-sidebar-section:first-of-type li:first-child a {
/* Hide default sidebar toolbox/footer links we don't need in the fantasy navigation */
#p-tb { display: none !important; }


/* --- Vector 1.43 legacy compatibility --- */
#mw-page-base {
margin-left: var(--ew-sidebar) !important;
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max)) !important;
background: #061119 !important;
height: var(--ew-topbar) !important;
}

#mw-panel .vector-menu-portal,
#mw-panel .mw-portlet {
background: none !important;
margin: 0 !important;
padding: 0 0 18px !important;
border-bottom: 1px solid rgba(139,116,79,.46) !important;
}
#mw-panel .vector-menu-portal + .vector-menu-portal,
#mw-panel .mw-portlet + .mw-portlet { margin-top: 18px !important; }

#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .mw-portlet h3 {
height: auto !important;
margin: 0 0 9px 12px !important;
padding: 0 !important;
color: #b9ad9a !important;
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,
#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; }
#mw-panel .vector-menu-content-list li {
margin: 2px 0 !important;
padding: 0 !important;
font-size: 15px !important;
line-height: 1.2 !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 {
color: var(--ew-gold-soft) !important;
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg,rgba(35,67,93,.72),rgba(22,43,57,.20)) !important;
background: linear-gradient(90deg, rgba(35, 67, 93, .95), rgba(22, 43, 57, .42));
}
}
#mw-panel .vector-menu-content-list li a::before {
content: "◆";
position:absolute; left:14px; top:7px; width:16px;
color:#98a09e; text-align:center; font-size:11px;
}
#p-navigation .vector-menu-content-list li:first-child a {
color: var(--ew-gold-soft) !important;
background: linear-gradient(90deg,rgba(35,67,93,.95),rgba(22,43,57,.42)) !important;
}
#p-navigation .vector-menu-content-list li:first-child a::before { content:"⌂"; color:var(--ew-gold-soft); font-size:18px; top:4px; }


.ew-sidebar-section:first-of-type li:first-child a::before {

content: "⌂";
/* Vector 1.43 link text lives inside spans; style those explicitly. */
top: 4px;
#mw-panel .mw-list-item > a,
color: var(--ew-gold-soft);
#mw-panel .mw-list-item > a:visited {
font-size: 18px;
position: relative !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 {
color: inherit !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;
}
#mw-panel .mw-list-item > a::before {
content: "◆";
position: absolute;
left: 14px;
top: 7px;
width: 16px;
color: #98a09e;
text-align: center;
font-size: 11px;
}
#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;
}
#p-navigation .mw-list-item:first-child > a::before { content: "⌂"; color: var(--ew-gold-soft); font-size: 18px; top: 4px; }


/* ---------- CONTENT CANVAS ---------- */
/* Never show an auto-generated TOC on the front page. */
body.page-Main_Page .toc,
body.page-Main_Page #toc { display: none !important; }


body.skin-vector-2022 #content {
/* MediaWiki file markup wrappers */
min-height: calc(100vh - var(--ew-topbar));
.ew-hero-image > span, .ew-hero-image > a,
margin: 0 0 0 var(--ew-sidebar) !important;
.ew-map-image > span, .ew-map-image > a,
padding: calc(var(--ew-topbar) + 28px) 42px 44px !important;
.ew-feature-image > span, .ew-feature-image > a,
color: var(--ew-text) !important;
.ew-strip > span, .ew-strip > a { display:block !important; width:100% !important; height:100% !important; }
background:
.ew-hero-image .mw-file-description,
linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 230px),
.ew-map-image .mw-file-description,
repeating-linear-gradient(45deg, rgba(119, 91, 49, .012), rgba(119, 91, 49, .012) 2px, transparent 2px, transparent 7px),
.ew-feature-image .mw-file-description,
var(--ew-canvas) !important;
.ew-strip .mw-file-description { display:block !important; width:100% !important; height:100% !important; }

/* ---------- GLOBAL TOPBAR (inserted by MediaWiki:Common.js) ---------- */
#ew-global-topbar {
position: fixed;
z-index: 100;
top: 0;
left: var(--ew-sidebar);
right: auto;
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max));
height: var(--ew-topbar);
display: flex;
align-items: center;
box-sizing: border-box;
padding: 0 14px 0 30px;
background: linear-gradient(180deg, #08141c 0%, #03090d 100%);
border-bottom: 2px solid rgba(112,88,58,.46);
box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 2px 6px rgba(0,0,0,.28);
color: #f5eee4;
font-family: "Cinzel", Georgia, serif;
}
#ew-global-topbar::before,
#ew-global-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-global-topbar::before { left: 4px; border-width: 1px 0 0 1px; }
#ew-global-topbar::after { right: 4px; border-width: 1px 1px 0 0; }
.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;
border: 0 !important;
outline: 0 !important;
transition: margin-left .18s ease !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; }
body.skin-vector-2022 #content a,
.ew-global-search button {
body.skin-vector-2022 #content a:visited {
width: 42px;
color: var(--ew-link);
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; }


body.skin-vector-2022 #content a:hover,
/* ---------- VECTOR CONTENT POSITIONING ---------- */
body.skin-vector-2022 #content a:focus {
#mw-head-base {
margin-left: var(--ew-sidebar) !important;
color: color-mix(in srgb, var(--ew-link) 70%, var(--ew-gold));
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max)) !important;
margin-top: var(--ew-topbar) !important;
height: 34px !important;
background: #0a151c !important;
}
}
#mw-head {
left: var(--ew-sidebar) !important;
right: auto !important;
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max)) !important;
top: var(--ew-topbar) !important;
height: 34px !important;
background: linear-gradient(180deg, #0a151c, #071017) !important;
border-bottom: 1px solid rgba(125,102,69,.30);
box-sizing: border-box;
}
#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; }
#p-search { display: none !important; }


#content {
margin-left: var(--ew-sidebar) !important;
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max)) !important;
max-width: var(--ew-content-max) !important;
margin-top: 0 !important;
border: 0 !important;
min-height: calc(100vh - 90px);
box-sizing: border-box;
padding: 34px 42px 44px !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,
#firstHeading,
#content h1,
#content h1,
#content h2,
#content h2,
#content h3,
#content h3,
#content h4,
#content h4 { font-family: "Cinzel", Georgia, serif; color: #181512; }
#content h5,
#firstHeading { border-bottom: 1px solid rgba(91,70,44,.35); }
#content h6 {

color: var(--ew-heading);
#footer {
margin-left: var(--ew-sidebar) !important;
width: min(calc(100vw - var(--ew-sidebar)), var(--ew-content-max)) !important;
max-width: var(--ew-content-max) !important;
box-sizing: border-box;
padding: 18px 28px 22px !important;
background: #061119 !important;
color: #aaa296 !important;
border-top: 1px solid rgba(125,102,69,.42);
}
}
#footer a { color: #c9b888 !important; }


#firstHeading {
/* ---------- MAIN PAGE: remove article chrome ---------- */
border-bottom-color: var(--ew-rule) !important;
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 {
margin-top: var(--ew-topbar) !important;
padding: 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 #jump-to-nav { 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.skin-vector-2022 .vector-page-toolbar {
/* ---------- HOMEPAGE ---------- */
margin: 0 0 1.25rem !important;
.ew-home,
border-bottom-color: var(--ew-rule) !important;
.ew-home * { box-sizing: border-box; }
.ew-home {
width: 100%;
max-width: none;
margin: 0;
color: var(--ew-ink);
background: var(--ew-paper);
font-family: "Crimson Text", Georgia, serif;
}
}
.ew-home a { text-decoration: none !important; }


body.skin-vector-2022 .vector-page-toolbar a,
.ew-hero {
body.skin-vector-2022 .vector-page-toolbar button,
height: clamp(278px, 18vw, 340px);
body.skin-vector-2022 .vector-page-toolbar .vector-menu-heading {
position: relative;
color: var(--ew-text) !important;
overflow: hidden;
background: #061019;
border-bottom: 2px solid rgba(91,70,44,.48);
}
}
.ew-hero-image { position:absolute; inset:0; overflow:hidden; }
.ew-hero-image .mw-file-element,
.ew-hero-image img {
width: 100% !important;
height: 100% !important;
max-width: none !important;
object-fit: cover;
display: block;
}
.ew-hero-shade {
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(90deg, rgba(2,7,10,.94) 0%, rgba(2,7,10,.78) 30%, rgba(2,7,10,.30) 48%, rgba(2,7,10,.08) 69%, rgba(2,7,10,.14) 100%);
}
.ew-hero-copy {
position: relative;
z-index: 2;
padding: 48px 0 0 55px;
color: #fffaf1;
text-shadow: 0 3px 4px rgba(0,0,0,.75);
}
.ew-hero-kicker { text-transform: uppercase; font-size: 22px; letter-spacing: .04em; margin-bottom: 2px; }
.ew-hero-title {
color: #fffaf1;
font-size: 54px;
line-height: 1.03;
letter-spacing: .045em;
text-transform: uppercase;
font-weight: 500;
}
.ew-gold-rule { height: 28px; display: flex; align-items: center; margin: 4px 0 8px; }
.ew-gold-rule::before { content: "✧"; color: var(--ew-gold); font-size: 17px; margin-right: 4px; }
.ew-gold-rule span { display:block; width:68px; height:2px; background:linear-gradient(90deg,var(--ew-gold),rgba(209,162,74,0)); }
.ew-hero-copy p { margin:0; color:#fff7eb; font-size:16px; line-height:1.45; }


body.skin-vector-2022 .vector-dropdown-content,
.ew-home-grid {
body.skin-vector-2022 .vector-menu-content {
display:grid;
color: var(--ew-text);
grid-template-columns:minmax(0,1fr) clamp(420px,38%,560px);
background-color: var(--ew-canvas-soft);
gap:8px;
border-color: var(--ew-border);
padding:8px 10px 0;
background:#efe7d9;
}
}
.ew-home-left,
.ew-home-right { min-width:0; }
.ew-panel {
position:relative;
background:
linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.08)),
repeating-linear-gradient(45deg,rgba(119,91,49,.018),rgba(119,91,49,.018) 2px,transparent 2px,transparent 7px),
var(--ew-paper-light);
border:1px solid var(--ew-border);
box-shadow:inset 0 0 0 2px rgba(255,255,255,.27),0 1px 2px rgba(0,0,0,.08);
}
.ew-panel::before,
.ew-panel::after {
content:"";
position:absolute;
width:13px;
height:13px;
border-color:rgba(142,116,78,.32);
border-style:solid;
pointer-events:none;
}
.ew-panel::before { top:5px; left:5px; border-width:1px 0 0 1px; }
.ew-panel::after { top:5px; right:5px; border-width:1px 1px 0 0; }
.ew-panel h2 {
margin:0 !important;
padding:0 !important;
border:0 !important;
color:#111 !important;
font-size:20px !important;
line-height:1.25 !important;
text-transform:uppercase;
font-weight:700;
}
.ew-panel p { color:#171717; font-size:15.5px; line-height:1.42; }


.mw-parser-output .wikitable {
.ew-overview {
color: var(--ew-text) !important;
min-height:222px;
background: var(--ew-canvas-soft) !important;
display:grid;
border-color: var(--ew-border) !important;
grid-template-columns:minmax(0,1fr) 42%;
overflow:hidden;
}
}
.ew-panel-copy { padding:31px 24px 24px 39px; }
.ew-heading-mark { color:#58605f; margin-right:9px; font-size:26px; vertical-align:-2px; }
.ew-map-image { min-height:210px; overflow:hidden; opacity:.80; }
.ew-map-image .mw-file-element,
.ew-map-image img { width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; mix-blend-mode:multiply; }


.mw-parser-output .wikitable > * > tr > th {
.ew-categories-panel { margin-top:8px; padding:20px 18px 18px; min-height:337px; }
color: var(--ew-heading) !important;
.ew-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; margin-top:12px; }
background: color-mix(in srgb, var(--ew-canvas-soft) 82%, var(--ew-gold) 18%) !important;
.ew-card {
min-height:75px;
cursor:pointer;
display:flex;
align-items:center;
gap:12px;
padding:12px 13px;
border:1px solid rgba(118,93,58,.25);
background:rgba(250,246,238,.72);
box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
}
.ew-card-icon { width:42px; flex:0 0 auto; color:#454847; font-size:30px; text-align:center; line-height:1; }
.ew-card-icon.ew-gold { color:#ba7e12; }
.ew-card a,
.ew-card-label { display:block; color:#151515 !important; text-transform:uppercase; font-size:12.5px; font-weight:700; line-height:1.15; }
.ew-card:hover { background:rgba(255,250,240,.96); border-color:rgba(153,111,52,.48); }
.ew-card:focus-visible { outline:2px solid var(--ew-gold); outline-offset:-3px; }
.ew-card small { display:block; margin-top:7px; color:#2d2b27; font-size:12px; }
.ew-strip { grid-column:span 3; min-height:75px; overflow:hidden; border:1px solid rgba(118,93,58,.25); }
.ew-strip .mw-file-element,
.ew-strip img { width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; filter:sepia(.16) saturate(.78) brightness(1.04); }


.mw-parser-output .wikitable > * > tr > th,
.ew-home-right .ew-panel { margin-bottom:8px; }
.mw-parser-output .wikitable > * > tr > td,
.ew-featured { padding:19px 18px 18px; }
.mw-parser-output pre,
.ew-featured h2 { display:flex; align-items:center; gap:12px; margin-bottom:12px !important; }
.mw-parser-output code {
.ew-featured h2 span { color:#5d6260; font-size:23px; }
border-color: var(--ew-border) !important;
.ew-feature-image { height:145px; overflow:hidden; border:1px solid rgba(65,47,27,.35); margin-bottom:9px; }
.ew-feature-image .mw-file-element,
.ew-feature-image img { width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; }
.ew-featured h3 { margin:0 0 5px !important; padding:0 !important; border:0 !important; color:#111 !important; font-size:20px !important; text-transform:uppercase; font-weight:500; }
.ew-featured p { margin:0; font-size:15px; line-height:1.3; }
.ew-readmore { margin-top:9px; font-size:14px; }
.ew-readmore a { color:#073d67 !important; }

.ew-recent { padding:15px 17px 15px; min-height:246px; }
.ew-recent h2 { display:flex; align-items:center; gap:8px; font-size:16px !important; margin-bottom:12px !important; }
.ew-recent-row { display:grid; grid-template-columns:32px minmax(0,1fr); gap:9px; align-items:center; margin:6px 0; }
.ew-recent-icon { width:32px; height:32px; display:grid; place-items:center; background:#1a2228; color:#eee9dd; border:1px solid rgba(100,78,45,.48); font-size:12px; }
.ew-recent-row a { color:#073d67 !important; font-size:13.5px; line-height:1.1; }
.ew-recent-row small { display:block; color:#4c4842; font-size:11.5px; margin-top:2px; }
.ew-recent-loading { padding:8px 0; color:#5b554c; font-size:13px; }

.ew-important { margin:6px 10px 10px; padding:14px 26px 16px; }
.ew-important h2 { font-size:15px !important; margin-bottom:12px !important; }
.ew-important h2 span { color:#676b68; margin-right:8px; }
.ew-important-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.ew-important-grid a { color:#073d67 !important; font-size:14px; }
.ew-important-grid small { display:block; margin-top:4px; color:#171717; font-size:12px; line-height:1.28; }

/* ---------- Article styling ---------- */
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; }
.toc, .mw-warning, .mw-message-box {
background: rgba(255,255,255,.42) !important;
border-color: rgba(111,86,54,.32) !important;
}
}


.mw-parser-output pre {
/* ---------- Responsive ---------- */
color: var(--ew-text) !important;
@media (max-width: 1180px) {
background: var(--ew-canvas-soft) !important;
.ew-global-menu a { padding: 0 10px; font-size: 12px; }
.ew-global-search { width: 220px; }
.ew-home-grid { grid-template-columns:1fr; }
.ew-home-right { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ew-home-right .ew-panel { margin-bottom:0; }
}
}


.toc,
@media (max-width: 900px) {
.vector-toc,
:root { --ew-sidebar: 218px; }
.catlinks,
#p-logo::before { width:58px; height:58px; left:8px; top:30px; }
.mw-warning,
#p-logo::after { left:72px; top:34px; font-size:21px; }
.mw-message-box {
.ew-global-menu a:nth-child(n+4) { display:none; }
#content { padding:26px 24px 36px !important; }
color: var(--ew-text) !important;
body.page-Main_Page #content { padding:0 0 10px !important; }
background: var(--ew-message) !important;
border-color: var(--ew-border) !important;
.ew-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ew-strip { grid-column:span 2; }
.ew-important-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
}


body.skin-vector-2022 #footer {
@media (max-width: 700px) {
box-sizing: border-box;
:root { --ew-sidebar: 0px; }
#mw-panel { display:none !important; }
width: auto !important;
max-width: none !important;
#ew-global-topbar { left:0; padding-left:10px; }
#mw-head, #mw-head-base { left:0 !important; margin-left:0 !important; }
margin: 0 0 0 var(--ew-sidebar) !important;
#content, #footer { margin-left:0 !important; }
padding: 17px 28px 19px !important;
color: #c8c2b7 !important;
.ew-global-menu a:nth-child(n+3) { display:none; }
background: linear-gradient(180deg, rgba(18, 39, 51, .22), rgba(6, 17, 25, 0) 55%), #061119 !important;
.ew-global-search { width: min(240px, 45vw); }
border-top: 1px solid rgba(197, 157, 79, .36);
.ew-tool-link:first-child { display:none; }
transition: margin-left .18s ease !important;
.ew-overview { grid-template-columns:1fr; }
.ew-map-image { display:none; }
.ew-home-right { grid-template-columns:1fr; }
.ew-category-grid { grid-template-columns:1fr; }
.ew-strip { grid-column:span 1; }
.ew-important-grid { grid-template-columns:1fr; }
.ew-hero-copy { padding-left:26px; }
.ew-hero-title { font-size:40px; }
}
}


#footer #footer-info,

#footer #footer-info li,
/* Final MediaWiki parser cleanup */
#footer #footer-info-lastmod,
body.page-Main_Page .ew-home p { margin-top:0; }
#footer #footer-info-copyright {
body.page-Main_Page .ew-home .mw-default-size,
color: #bdb7ac !important;
body.page-Main_Page .ew-home figure { margin:0 !important; padding:0 !important; max-width:none !important; }
body.page-Main_Page .ew-home figure > a { display:block !important; width:100% !important; height:100% !important; }
body.page-Main_Page #mw-page-base { background:#061119 !important; }


/* ---------- v4.3 FLUID WIDTH OVERRIDES ---------- */
/* Use every pixel to the right of the fixed sidebar. Internal components, not
the whole site, decide how wide they should become. */
#mw-page-base,
#mw-head-base,
#mw-head,
#content,
#footer,
#ew-global-topbar {
width: calc(100vw - var(--ew-sidebar)) !important;
max-width: none !important;
}
}


#footer #footer-info {
body.page-Main_Page .ew-home {
width: 100% !important;
margin: 0 0 .55rem !important;
max-width: none !important;
padding: 0 !important;
font-size: .84rem !important;
line-height: 1.45 !important;
}
}


#footer #footer-places {
/* Keep the right column useful on wide screens without letting it eat half the page. */
display: flex !important;
.ew-home-grid {
flex-wrap: wrap;
grid-template-columns: minmax(0, 1fr) clamp(420px, 38%, 560px);
gap: .35rem 1rem;
margin: 0 !important;
padding: 0 !important;
}
}


#footer #footer-places li {
/* Let category cards gain columns on very wide displays instead of becoming huge. */
float: none !important;
@media (min-width: 1900px) {
margin: 0 !important;
.ew-category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
padding: 0 !important;
.ew-strip { grid-column: span 4; }
}
}


#footer a,
/* When viewport is only moderately wide, preserve the reference-image proportions. */
#footer a:visited {
@media (min-width: 1181px) and (max-width: 1550px) {
color: #d1b66d !important;
.ew-home-grid { grid-template-columns: minmax(0, 1.56fr) minmax(360px, .98fr); }
text-decoration: none !important;
}
}


#footer a:hover,

#footer a:focus {
/* ---------- v4.4 TYPOGRAPHY ---------- */
color: #fff0bd !important;
#p-logo::after,
text-decoration: underline !important;
.ew-global-menu a,
.ew-hero-kicker,
.ew-hero-title,
.ew-panel-title,
.ew-section-title,
.ew-category-title,
#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4 {
font-family: "Cinzel", Georgia, serif !important;
}
}


#footer #footer-icons {
body,
display: none !important;
#content,
.ew-home,
#mw-panel .vector-menu-content-list li a,
#mw-panel .portal .body li a,
.ew-global-search input[type="search"] {
font-family: "Crimson Text", Georgia, serif !important;
}
}


/* ---------- MAIN PAGE ---------- */
.ew-global-menu a { font-weight: 600; letter-spacing: .045em; }
.ew-hero-title { font-weight: 600; }
.ew-hero-kicker { font-family: "Cinzel", Georgia, serif !important; font-weight: 600; }
#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .mw-portlet h3,
#mw-panel .portal h3 { font-family: "Cinzel", Georgia, serif !important; font-weight: 600 !important; }


body.page-Main_Page #content {
/* Admin/source edit shortcut inserted by Common.js */
padding: var(--ew-topbar) 0 0 !important;
.ew-edit-link {
width: auto !important;
background: var(--ew-dark-0) !important;
min-width: 78px;
padding: 0 12px;
gap: 7px;
font: 600 11px/1 "Cinzel", Georgia, serif !important;
letter-spacing: .035em;
white-space: nowrap;
}
.ew-edit-link .ew-edit-pencil { font-size: 17px; line-height: 1; }
@media (max-width: 1250px) {
.ew-edit-link { min-width: 44px; width: 44px !important; padding: 0 !important; }
.ew-edit-link .ew-edit-label { display:none; }
}
}


body.page-Main_Page #firstHeading,
/* ========================================================================
body.page-Main_Page #siteSub,
v4.5 FONT + EDIT ACTION FIX
body.page-Main_Page #contentSub,
Google Fonts are loaded by MediaWiki:Common.js because ResourceLoader can
body.page-Main_Page .mw-indicators,
discard/ignore remote @import rules in site CSS.
body.page-Main_Page .catlinks,
======================================================================== */
body.page-Main_Page .vector-page-titlebar,
html body,
body.page-Main_Page .vector-page-toolbar-container,
#content,
body.page-Main_Page #jump-to-nav,
#bodyContent,
body.page-Main_Page .toc,
#mw-content-text,
body.page-Main_Page #toc {
.mw-parser-output,
display: none !important;
.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output td,
.mw-parser-output th,
#mw-panel .mw-list-item > a,
#mw-panel .mw-list-item > a > span,
.ew-home,
.ew-panel p,
.ew-card small,
.ew-recent-row,
.ew-global-search input[type="search"] {
font-family: "Crimson Text", Georgia, "Times New Roman", serif !important;
}
}


body.page-Main_Page #bodyContent,
#firstHeading,
#content h1,
body.page-Main_Page #mw-content-text,
body.page-Main_Page .mw-parser-output {
#content h2,
margin: 0 !important;
#content h3,
padding: 0 !important;
#content h4,
#content h5,
#content h6,
#p-logo::after,
#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .portal h3,
#ew-global-topbar,
.ew-global-menu,
.ew-hero-kicker,
.ew-hero-title,
.ew-panel h2,
.ew-card-label {
font-family: "Cinzel", Georgia, serif !important;
}
}


body.page-Main_Page .mw-parser-output > p:empty {
/* Use Vector's own edit controls. Do not create a second custom one. */
display: none;
#ca-edit,
#ca-ve-edit,
#ca-viewsource {
display: list-item !important;
}
}


body.page-Main_Page .ew-home {
/* Legacy styles from v4.4 custom edit button are intentionally disabled. */
.ew-edit-link { display: none !important; }
width: 100% !important;
max-width: none !important;


/* ========================================================================
v4.6 DISTINCT FANTASY TYPOGRAPHY
Cormorant Garamond = readable lore/body text
Marcellus SC = navigation and article/section headings
Cinzel Decorative = Erindal branding and large hero title only
======================================================================== */

/* Body/lore prose: visibly more literary than Georgia/Times. */
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-panel .mw-list-item > a,
#mw-panel .mw-list-item > a > span,
.ew-home,
.ew-panel p,
.ew-card small,
.ew-recent-row,
.ew-global-search input[type="search"] {
font-family: "Cormorant Garamond", Garamond, Georgia, serif !important;
font-weight: 500;
}
}


/* ---------- GENERAL ARTICLE WIDTH ---------- */
/* Sidebar text needs a little more weight at small sizes. */
#mw-panel .mw-list-item > a,
#mw-panel .mw-list-item > a > span {
font-size: 16px !important;
font-weight: 600 !important;
letter-spacing: .005em;
}


body:not(.page-Main_Page) .mw-parser-output {
/* Elegant Roman small-caps look for UI/section headings. */
max-width: 1180px;
#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .portal h3,
#ew-global-topbar,
.ew-global-menu,
.ew-hero-kicker,
.ew-panel h2,
.ew-card-label,
.ew-section-title,
.ew-panel-title,
.ew-category-title {
font-family: "Marcellus SC", "Times New Roman", serif !important;
font-weight: 400 !important;
}
}


body:not(.page-Main_Page) .mw-parser-output p {
/* Branding gets the truly decorative face, but only where it won't hurt readability. */
font-size: 16px;
#p-logo::after,
line-height: 1.58;
.ew-hero-title {
font-family: "Cinzel Decorative", "Cinzel", Georgia, serif !important;
font-weight: 700 !important;
}
}


body:not(.page-Main_Page) .mw-parser-output h2 {
#p-logo::after {
margin-top: 1.5em;
letter-spacing: .055em !important;
padding-bottom: 5px;
border-bottom: 1px solid var(--ew-rule);
}
}


.ew-hero-title {
.mw-editsection {
font-family: Arial, sans-serif;
letter-spacing: .025em !important;
font-size: 11px;
}
}


/* MediaWiki file markup wrappers */
/* Keep navigation crisp and clearly different from body copy. */
.ew-global-menu a {
.ew-hero-image > span,
.ew-hero-image > a,
font-family: "Marcellus SC", serif !important;
.ew-map-image > span,
font-weight: 400 !important;
.ew-map-image > a,
letter-spacing: .035em !important;
.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;
}
}


/* Slightly larger body text makes the Cormorant forms visible and improves lore readability. */
.ew-home,
.ew-panel p,
.mw-parser-output p,
.mw-parser-output li {
font-size: 17px;
line-height: 1.38;
}


/* ========================================================================
/* ========================================================================
TYPOGRAPHY - CONSOLIDATED CURRENT STATE
v4.7 FANTASY NAV + READABLE ARTICLE TYPOGRAPHY

Almendra SC = sidebar, top navigation, headings
Final values from the former v4.4-v4.8 typography passes. Older font
Alegreya = normal wiki/article prose
experiments were removed so each element has one authoritative rule.
Cinzel Decorative remains for ERINDAL WIKI branding / hero title
======================================================================== */
======================================================================== */


/* Readable body/lore face. */
/* Main readable wiki typeface. This applies to normal articles as well as
the front page, so long lore entries remain comfortable to read. */
html body,
html body,
#content,
#content,
Line 971: Line 569:
}
}


#ew-server-topbar,
/* The intentionally fantasy-facing UI. Almendra SC has clearly medieval /
calligraphic shapes, but stays legible at navigation sizes. */
#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,
#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .portal h3,
#ew-global-topbar,
.ew-global-menu,
.ew-global-menu,
.ew-global-menu a,
.ew-global-menu a {
.ew-hero-kicker,
.ew-panel h2,
.ew-card-label,
.ew-section-title,
.ew-panel-title,
.ew-category-title,
#firstHeading,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
}
}


.ew-global-menu { font-weight: 400 !important; }
/* Sidebar: stronger decorative character without sacrificing readability. */
#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-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-size: 13px !important;
font-weight: 400 !important;
letter-spacing: .07em !important;
}

/* Top navigation should visibly match the sidebar rather than looking like
a conservative Roman inscription font. */
.ew-global-menu a {
.ew-global-menu a {
font-size: 15px !important;
font-size: 15px !important;
Line 1,025: Line 583:
}
}


/* Article headings get fantasy character, prose remains Alegreya. */
/* Content-facing headings and labels. */
#firstHeading,
#content h1,
#content h2,
#content h3,
.ew-panel h2 {
font-weight: 400 !important;
letter-spacing: .018em !important;
}

/* Keep the strongest display face only for the identity / hero. */
#p-logo::after,
.ew-hero-title {
font-family: "Cinzel Decorative", "Almendra SC", Georgia, serif !important;
font-weight: 700 !important;
}

/* Normal wiki prose tuning. */
.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;
}

/* ========================================================================
v4.8 READABLE CONTENT TYPOGRAPHY
Almendra SC = navigation chrome only
Alegreya SC = readable fantasy headings / labels / article names
Alegreya = body prose
Cinzel Decorative = Erindal identity / hero only
======================================================================== */

/* Navigation keeps the decorative Almendra face the user liked. */
#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,
#mw-panel .vector-menu-heading,
#mw-panel .vector-menu-heading-label,
#mw-panel .portal h3,
#ew-global-topbar,
.ew-global-menu,
.ew-global-menu a {
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
}

/* Main wiki headings: fantasy-flavoured, but much easier to scan than Almendra. */
#firstHeading,
#firstHeading,
#content h1,
#content h1,
Line 1,100: Line 608:
}
}


/* Category labels were particularly hard to read in Almendra SC. */
.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 1,110: Line 617:
}
}


/* Featured article title such as Kurn Daruhm: larger, less ornamental. */
.ew-featured h3,
.ew-featured h3,
.ew-featured h3 a,
.ew-featured h3 a,
Line 1,122: Line 628:
}
}


/* Homepage section titles need clear hierarchy on parchment. */
.ew-panel h2,
.ew-panel h2,
.ew-panel-title,
.ew-panel-title,
Line 1,136: Line 641:
}
}


/* Regular article titles/headings: readable enough for long wiki use. */
#firstHeading { font-size: 34px !important; line-height: 1.12 !important; }
#firstHeading { font-size: 34px !important; line-height: 1.12 !important; }
#content h2 { font-size: 26px !important; line-height: 1.18 !important; }
#content h2 { font-size: 26px !important; line-height: 1.18 !important; }
Line 1,142: Line 646:
#content h4 { font-size: 18px !important; line-height: 1.22 !important; }
#content h4 { font-size: 18px !important; line-height: 1.22 !important; }


/* Preserve the strongest display font 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 1,149: Line 653:
}
}


.ew-sidebar-brand::after { letter-spacing: .055em !important; }
/* Hero kicker is content-facing, so make it cleaner than Almendra. */
.ew-hero-title { letter-spacing: .025em !important; }

.ew-hero-kicker {
.ew-hero-kicker {
font-family: "Alegreya SC", "Alegreya", Georgia, serif !important;
font-family: "Alegreya SC", "Alegreya", Georgia, serif !important;
Line 1,156: Line 662:
}
}


/* Long-form prose sizing. */
/* Body remains deliberately readable. */
html body,
#content,
#bodyContent,
#mw-content-text,
.mw-parser-output,
.mw-parser-output p,
.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output li,
.mw-parser-output td,
.mw-parser-output th,
.mw-parser-output dd,
.mw-parser-output dd,
.mw-parser-output dt,
.mw-parser-output dt,
.ew-panel p,
.ew-home,
.ew-card small,
.ew-panel p {
font-size: 16.5px !important;
.ew-recent-row,
line-height: 1.48 !important;
.ew-global-search input[type="search"] {
font-family: "Alegreya", Georgia, serif !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
COUNTRY PAGES
Structural rules shared by the designed article systems.
Shared structure only. Country-specific palettes belong on the page wrapper.
Page-specific colours and unique behavior remain local.
========================================================= */
========================================================= */


.country-page {
.country-page,
.history-page,
color: var(--country-ink, var(--ew-ink));
.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;
font-family: "Alegreya", Georgia, serif;
line-height: 1.62;
line-height: 1.62;
}
}


.country-hero,

.country-hero {
.history-hero,
.city-hero,
.deity-hero,
.wiki-hero {
position: relative;
position: relative;
min-height: 240px;
margin: 0 0 1.4rem;
overflow: hidden;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px;
background: var(--country-deep, var(--ew-dark-2));
box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
}
}


.country-hero .mw-file-description,
.country-hero,
.country-hero .mw-file-element,
.history-hero,
.city-hero,
.country-hero__image {
.deity-hero {
display: block;
box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
width: 100%;
height: clamp(240px, 22vw, 320px);
object-fit: cover;
}
}


.country-hero__overlay,
/* Do not show the blue missing-file link before the hero artwork is uploaded. */
.history-hero__overlay,
.country-hero a.new.country-hero__image {
.city-hero__overlay,
display: none !important;
.deity-hero__overlay,
}
.wiki-hero__overlay {

.country-hero__overlay {
position: absolute;
position: absolute;
inset: 0;
inset: 0;
Line 1,218: Line 728:
flex-direction: column;
flex-direction: column;
justify-content: flex-end;
justify-content: flex-end;
padding: clamp(1.25rem, 3vw, 2.5rem);
color: #fffaf2;
background:
linear-gradient(180deg, rgba(20, 12, 9, 0.06) 18%, rgba(20, 12, 9, 0.88) 100%),
linear-gradient(90deg, rgba(20, 12, 9, 0.52), transparent 64%);
pointer-events: none;
pointer-events: none;
}
}


.country-hero__eyebrow {
.country-hero__eyebrow,
.history-hero__eyebrow,
.city-hero__eyebrow,
.deity-hero__eyebrow,
.wiki-hero__eyebrow {
margin-bottom: 0.25rem;
margin-bottom: 0.25rem;
color: #efb879;
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.85rem;
font-size: 0.85rem;
Line 1,235: Line 743:
}
}


.country-hero__title {
.country-hero__title,
.history-hero__title,
.city-hero__title,
.deity-hero__title,
.wiki-hero__title {
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: clamp(2.1rem, 4vw, 3.6rem);
font-weight: 700;
font-weight: 700;
line-height: 0.96;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
}
}


.country-hero__subtitle {
.country-hero__subtitle,
.history-hero__subtitle,
margin-top: 0.55rem;
.city-hero__subtitle,
color: #eadcc9;
.deity-hero__subtitle,
font-size: clamp(1rem, 2vw, 1.35rem);
.wiki-hero__subtitle {
font-style: italic;
font-style: italic;
}
}


.country-overview {
.country-overview,
.history-overview,
.city-overview,
.deity-overview {
display: grid;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
gap: 2rem;
gap: 2rem;
align-items: start;
align-items: start;
Line 1,258: Line 771:
}
}


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


.country-overview__lead > p:first-child::first-letter {
.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;
float: left;
margin: 0.08em 0.1em 0 0;
margin: 0.08em 0.1em 0 0;
color: var(--country-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 3.7em;
font-weight: 700;
font-weight: 700;
line-height: 0.78;
}
}


.country-quickfacts {
.country-record,
.history-record,
display: grid;
.city-record,
grid-template-columns: repeat(2, minmax(0, 1fr));
.deity-record,
gap: 0.75rem;
.wiki-record {
margin-top: 1.4rem;
}

.country-quickfact {
min-height: 74px;
padding: 0.8rem 0.95rem;
border: 1px solid var(--country-line, var(--ew-border));
border-left: 4px solid var(--country-accent, var(--ew-gold));
border-radius: 8px;
background: linear-gradient(135deg, var(--country-paper, var(--ew-paper-light)), var(--country-paper-alt, var(--ew-paper)));
box-shadow: 0 4px 12px rgba(63, 43, 31, 0.07);
}

.country-quickfact span {
display: block;
margin-bottom: 0.2rem;
color: var(--country-muted, #6f665d);
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.country-record {
overflow: hidden;
overflow: hidden;
border: 1px solid var(--country-line, var(--ew-border));
border-radius: 12px;
border-radius: 12px;
background: var(--country-paper, var(--ew-paper-light));
box-shadow: 0 10px 22px rgba(55, 37, 27, 0.13);
}
}


.country-record__heading {
.country-record__heading,
.history-record__heading,
.city-record__heading,
.deity-record__heading {
padding: 0.85rem 1rem;
padding: 0.85rem 1rem;
color: #fff7ec;
background: linear-gradient(135deg, var(--country-deep, var(--ew-dark-2)), #4a2b20);
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-size: 1.25rem;
Line 1,319: Line 809:
}
}


.country-record__emblem,
.country-record__row,
.history-record__row,
.country-record__map {
.city-record__row,
padding: 1rem;
.deity-record__row {
text-align: center;
}

.country-record__emblem img,
.country-record__map img {
max-width: 100%;
height: auto;
}

.country-record__row {
display: grid;
display: grid;
grid-template-columns: minmax(100px, 0.9fr) minmax(0, 1.3fr);
gap: 0.75rem;
gap: 0.75rem;
padding: 0.62rem 0.85rem;
padding: 0.62rem 0.85rem;
border-top: 1px solid var(--country-line, var(--ew-border));
}
}


.country-record__row span {
.country-record__row span,
.history-record__row span,
color: var(--country-muted, #6f665d);
.city-record__row span,
.deity-record__row span {
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
font-weight: 700;
}
}


.country-page h2 {
.country-card-grid,
.deity-card-grid,
display: flex;
.wiki-card-grid {
gap: 0.75rem;
align-items: center;
margin-top: 2.35rem;
border-bottom: 0;
color: var(--country-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.75rem;
font-weight: 700;
}

.country-page h2::after {
content: "";
flex: 1;
height: 1px;
background: linear-gradient(90deg, var(--country-accent, var(--ew-gold)), transparent);
}

.country-page h3 {
color: var(--country-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
}

.country-feature {
display: grid;
grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
gap: 1.5rem;
align-items: center;
margin: 1rem 0 1.75rem;
}

.country-feature--image-left {
grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
}

.country-feature__media {
overflow: hidden;
border-radius: 10px;
box-shadow: 0 8px 20px rgba(50, 33, 24, 0.16);
}

.country-feature__media img {
display: block;
width: 100%;
min-height: 230px;
object-fit: cover;
}

.country-card-grid {
display: grid;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
Line 1,401: Line 835:
}
}


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


.history-figure,
.country-card-grid--four {
.deity-figure,
grid-template-columns: repeat(4, minmax(0, 1fr));
.wiki-figure {
}
box-sizing: border-box;

margin: 1.35rem 0 1.9rem;
.country-mini-card,
.country-place-card,
.country-person-card {
overflow: hidden;
overflow: hidden;
border: 1px solid var(--country-line, var(--ew-border));
border-radius: 10px;
border-radius: 10px;
background: var(--country-paper, var(--ew-paper-light));
box-shadow: 0 5px 14px rgba(62, 42, 31, 0.08);
}
}


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


.city-index__grid,
.country-mini-card h3,
.deity-index__grid,
.country-place-card h3,
.wiki-index__grid {
.country-person-card h3 {
margin: 0 0 0.35rem;
display: grid;
font-size: 1.15rem;
}
}


.city-index__grid > div,
.country-mini-card p,
.deity-index__grid > div,
.country-place-card p,
.wiki-index__grid > div {
.country-person-card p {
margin: 0;
min-width: 0;
}
}


.city-index__grid span,
.country-place-card__body {
.city-index__grid strong,
padding: 0.85rem 1rem;
.deity-index__grid span,
.deity-index__grid strong,
.wiki-index__grid span,
.wiki-index__grid strong {
display: block;
}
}


.city-index__grid span,
.country-place-card .mw-file-description,
.deity-index__grid span,
.country-place-card__image,
.wiki-index__grid span {
.country-place-card__image img {
font-family: "Alegreya SC", Georgia, serif;
display: block;
width: 100%;
font-size: 0.76rem;
height: 135px;
font-weight: 700;
object-fit: cover;
letter-spacing: 0.08em;
text-transform: uppercase;
}
}


.city-index__grid strong,
/* Missing territory/city art should not leave a large empty image panel. */
.deity-index__grid strong,
.country-place-card a.new.country-place-card__image {
.wiki-index__grid strong {
display: none !important;
margin-top: 0.12rem;
font-size: 0.98rem;
line-height: 1.2;
}
}


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


.deity-card,
.country-person-card__portrait {
.wiki-card {
margin: -1rem -1rem 0.85rem;
overflow: hidden;
min-width: 0;
padding: 1rem;
border-radius: 9px;
}
}


.deity-card h3,
.country-person-card__portrait img {
.wiki-card h3 {
display: block;
width: 100%;
margin: 0 0 0.35rem;
height: 230px;
font-size: 1.17rem;
object-fit: cover;
object-position: center 20%;
}
}


.deity-card p,
.country-relations {
.wiki-card p {
display: grid;
gap: 0.7rem;
margin: 0.35rem 0 0;
}
}


.history-note,
.country-relations > div {
.city-note {
position: relative;
padding: 0.85rem 1rem;
margin: 1.25rem 0;
border: 1px solid var(--country-line, var(--ew-border));
border-left: 4px solid var(--country-accent, var(--ew-gold));
border-radius: 8px;
border-radius: 8px;
background: rgba(245, 240, 230, 0.68);
}
}


.history-note strong,
.country-relations p {
.city-note strong {
margin: 0.3rem 0 0;
font-family: "Alegreya SC", Georgia, serif;
}
}


.history-page__body,
.relation {
.city-page__body {
display: inline-block;
margin-left: 0.65rem;
padding: 0.1rem 0.5rem;
border-radius: 999px;
color: #fff;
font-size: 0.76rem;
font-weight: 700;
vertical-align: 0.08em;
}

.relation--friendly { background: #39715a; }
.relation--guarded { background: #6f6678; }
.relation--uneasy { background: #a06b2f; }
.relation--tense { background: #9a4f37; }
.relation--hostile { background: #7f3030; }

.country-mainlink,
.country-related {
margin: 0.8rem 0 1.2rem;
padding: 0.75rem 1rem;
border-left: 4px solid var(--country-accent, var(--ew-gold));
background: linear-gradient(90deg, rgba(152, 77, 46, 0.11), transparent);
}

@media (max-width: 1050px) {
.country-card-grid--four {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

@media (max-width: 760px) {
.country-overview,
.country-feature,
.country-feature--image-left {
grid-template-columns: 1fr;
}

.country-record {
order: -1;
}

.country-card-grid,
.country-card-grid--three,
.country-card-grid--four {
grid-template-columns: 1fr;
}

.country-hero {
min-height: 220px;
border-radius: 10px;
}

.country-hero .mw-file-description,
.country-hero .mw-file-element,
.country-hero__image {
height: 250px;
}

.country-quickfacts {
grid-template-columns: 1fr;
}

.country-record__row {
grid-template-columns: 1fr;
gap: 0.15rem;
}
}

/* =========================================================
COUNTRY PAGE WIDTH
Country layouts fill the complete article area for every visitor.
Ordinary text-heavy articles retain the 1180px reading-width limit.
========================================================= */
.country-page {
width: calc(100vw - var(--ew-sidebar) - 84px) !important;
max-width: none !important;
box-sizing: border-box;
box-sizing: border-box;
width: 100%;
max-width: none;
margin: 0;
}
}


.history-page__body .toc,
@media (max-width: 900px) {
.city-page__body .toc,
.country-page {
.history-page__body #toc,
width: calc(100vw - var(--ew-sidebar) - 48px) !important;
.city-page__body #toc {
}
margin: 0 0 1.8rem;
padding: 0.9rem 1.1rem;
border-radius: 9px;
}
}


.history-page__body h2,
@media (max-width: 700px) {
.city-page__body h2,
.country-page {
.deity-page__body h2,
width: calc(100vw - 48px) !important;
.wiki-page__body h2 {
}
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
}
}


.city-page__body h2::after,
/* ========================================================================
.deity-page__body h2::after,
v5.0 SERVER-RENDERED TOPBAR + COLLAPSIBLE SIDEBAR
.wiki-page__body h2::after {

The visible navigation now comes from the "erindal-topbar" section of
MediaWiki:Sidebar. It is therefore present in the HTML immediately and no
longer waits for MediaWiki:Common.js to construct it.
======================================================================== */

/* Disable the obsolete JavaScript-built bar if an old cached script creates it. */
#ew-global-topbar {
display: none !important;
}

/* MediaWiki renders this portlet inside #mw-panel; fixed positioning turns it
into the global horizontal navigation without delaying its first paint. */
#mw-panel #p-erindal-topbar {
position: fixed !important;
z-index: 105 !important;
top: 0 !important;
left: var(--ew-sidebar) !important;
right: 0 !important;
width: auto !important;
height: var(--ew-topbar) !important;
margin: 0 !important;
padding: 0 350px 0 30px !important;
box-sizing: border-box !important;
overflow: visible !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;
}

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


.city-index__grid a,
#mw-panel #p-erindal-topbar::before {
.deity-index__grid a,
left: 4px;
.wiki-index__grid a {
border-width: 1px 0 0 1px;
}

#mw-panel #p-erindal-topbar::after {
right: 4px;
border-width: 1px 1px 0 0;
}

#mw-panel #p-erindal-topbar .vector-menu-heading,
#mw-panel #p-erindal-topbar > h3 {
display: none !important;
}

#mw-panel #p-erindal-topbar .vector-menu-content,
#mw-panel #p-erindal-topbar .vector-menu-content-list {
display: block !important;
position: static !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
overflow: visible !important;
background: none !important;
}

#mw-panel #p-erindal-topbar .vector-menu-content-list {
display: flex !important;
align-items: stretch !important;
list-style: none !important;
}

#mw-panel #p-erindal-topbar .mw-list-item {
position: relative !important;
display: flex !important;
align-items: stretch !important;
height: var(--ew-topbar) !important;
margin: 0 !important;
padding: 0 !important;
font-size: 15px !important;
line-height: 1 !important;
}

#mw-panel #p-erindal-topbar .mw-list-item > a,
#mw-panel #p-erindal-topbar .mw-list-item > a:visited {
display: flex !important;
align-items: center !important;
height: var(--ew-topbar) !important;
margin: 0 !important;
padding: 0 17px !important;
box-sizing: border-box !important;
color: #f3eee5 !important;
background: transparent !important;
border-radius: 0 !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 15px !important;
font-weight: 400 !important;
line-height: 1 !important;
letter-spacing: .045em !important;
text-transform: uppercase !important;
text-decoration: none !important;
white-space: nowrap !important;
}

#mw-panel #p-erindal-topbar .mw-list-item > a::before {
content: none !important;
display: none !important;
}

#mw-panel #p-erindal-topbar .mw-list-item > a:hover,
#mw-panel #p-erindal-topbar .mw-list-item > a:focus {
color: var(--ew-gold-soft) !important;
background: rgba(255,255,255,.035) !important;
}

/* Dropdowns are an enhancement. The six main links remain visible and usable
even before JavaScript has loaded. */
.ew-topbar-caret {
width: 19px;
height: var(--ew-topbar);
margin: 0 5px 0 -10px;
padding: 0;
border: 0;
background: transparent;
color: #f3eee5;
font: 14px/1 Arial, sans-serif;
cursor: pointer;
}

.ew-topbar-caret:hover,
.ew-topbar-caret:focus {
color: var(--ew-gold-soft);
}

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

.ew-topbar-dropdown a,
.ew-topbar-dropdown a:visited {
display: block !important;
padding: 9px 12px !important;
color: #f1ede6 !important;
background: transparent !important;
font-family: "Almendra SC", "Cinzel", Georgia, serif !important;
font-size: 15px !important;
line-height: 1.15 !important;
text-decoration: none !important;
white-space: nowrap !important;
}

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

#mw-panel #p-erindal-topbar .ew-has-dropdown:hover .ew-topbar-dropdown,
#mw-panel #p-erindal-topbar .ew-has-dropdown.ew-menu-open .ew-topbar-dropdown {
display: block;
display: block;
text-decoration: none;
}
}


.history-figure .mw-file-element,
/* Use Vector's server-rendered search form instead of constructing another one
.deity-figure .mw-file-element,
after page load. */
.history-figure__image,
#p-search {
.deity-figure__image {
position: fixed !important;
height: clamp(220px, 28vw, 340px);
z-index: 116 !important;
object-fit: cover;
top: 10px !important;
right: 17px !important;
left: auto !important;
display: block !important;
width: 300px !important;
height: 35px !important;
margin: 0 !important;
padding: 0 !important;
}
}


.deity-quote,
#p-search h3,
.wiki-quote {
#p-search label {
font-size: 1.08rem;
display: none !important;
font-style: italic;
}

#p-search #searchform,
#p-search #simpleSearch {
width: 100% !important;
height: 35px !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
}

#p-search #simpleSearch {
display: flex !important;
overflow: hidden !important;
background: rgba(0,0,0,.28) !important;
border: 1px solid rgba(151,128,91,.42) !important;
border-radius: 4px !important;
}

#p-search #searchInput {
position: static !important;
flex: 1 1 auto !important;
min-width: 0 !important;
width: auto !important;
height: 33px !important;
margin: 0 !important;
padding: 0 11px !important;
color: #eee8de !important;
background: transparent !important;
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
font-family: "Alegreya", Georgia, serif !important;
font-size: 15px !important;
}

#p-search #searchInput::placeholder {
color: #d4cbc0 !important;
opacity: .88;
}

#p-search #mw-searchButton {
display: none !important;
}

#p-search #searchButton {
position: static !important;
flex: 0 0 39px !important;
width: 39px !important;
height: 33px !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
border: 0 !important;
border-left: 1px solid rgba(151,128,91,.34) !important;
text-indent: -9999px !important;
cursor: pointer !important;
background-color: transparent !important;
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 17px 17px !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f1eade' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") !important;
}

/* Sidebar button. Its state is saved for this browser by Common.js. */
#ew-sidebar-toggle {
position: fixed;
z-index: 140;
top: 10px;
left: calc(var(--ew-sidebar) - 18px);
display: grid;
place-items: center;
width: 36px;
height: 36px;
padding: 0;
color: var(--ew-gold-soft);
background: #07141c;
border: 1px solid rgba(207,163,80,.62);
border-radius: 50%;
box-shadow: 0 3px 10px rgba(0,0,0,.36);
font: 23px/1 Georgia, serif;
cursor: pointer;
}

#ew-sidebar-toggle:hover,
#ew-sidebar-toggle:focus {
color: #fff4d6;
background: #102431;
outline: none;
}

/* Collapsed layout. Keep the server-rendered topbar visible even though it is
technically a child of the sidebar panel. */
html.ew-sidebar-collapsed {
--ew-sidebar: 0px;
}

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

html.ew-sidebar-collapsed #mw-panel > :not(#p-erindal-topbar) {
display: none !important;
}

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

html.ew-sidebar-collapsed #ew-sidebar-toggle {
left: 10px;
}

@media (max-width: 1180px) {
#mw-panel #p-erindal-topbar {
padding-right: 270px !important;
}

#mw-panel #p-erindal-topbar .mw-list-item > a {
padding: 0 11px !important;
font-size: 14px !important;
}

#p-search {
width: 220px !important;
}
}

@media (max-width: 900px) {
#mw-panel #p-erindal-topbar .mw-list-item:nth-child(n+5) {
display: none !important;
}
}

@media (max-width: 700px) {
#mw-panel {
display: block !important;
width: 0 !important;
padding: 0 !important;
overflow: visible !important;
background: none !important;
border: 0 !important;
box-shadow: none !important;
}

#mw-panel > :not(#p-erindal-topbar) {
display: none !important;
}

#mw-panel #p-erindal-topbar {
left: 0 !important;
padding: 0 230px 0 10px !important;
}

#mw-panel #p-erindal-topbar .mw-list-item:nth-child(n+3) {
display: none !important;
}

#p-search {
right: 9px !important;
width: 210px !important;
}

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


/* ========================================================================
/* ========================================================================
v6.0 SERVER-RENDERED SHELL REPAIR
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,977: Line 1,004:
display: flex !important;
display: flex !important;
align-items: center !important;
align-items: center !important;
width: calc(100vw - var(--ew-sidebar)) !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;
box-sizing: border-box !important;
overflow: visible !important;
overflow: visible !important;
box-sizing: border-box !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 2,037: 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 2,044: 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 2,054: Line 1,077:
}
}


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

#ew-server-topbar .ew-global-section > summary::marker {
#ew-server-topbar .ew-global-section > summary::marker {
display: none;
content: "";
content: "";
}
}
Line 2,065: 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 2,077: 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 2,092: 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 2,102: 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 2,121: 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 2,147: 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 2,171: 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 2,183: 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 2,216: 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;
}


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

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

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

@media (max-width: 700px) {
html:not(.ew-sidebar-collapsed) {
--ew-sidebar: 218px;
}

#mw-panel {
display: block !important;
}

#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;
}
}
/* =========================================================
/* =========================================================
FINAL SHARED HERO SCALE
NATIONAL HISTORY PAGES
Nation, history, city and deity pages deliberately use one size.
Shared structure only. History-page palettes belong on the page wrapper.
Keep this block last so older duplicate rules cannot win.
========================================================= */
========================================================= */


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

margin: 0 0 1.4rem !important;
/* The main Erindal article rules normally stop every parser output at 1180px.
border-radius: 14px !important;
Nation-history pages are designed as full-page layouts, so they must be
allowed to use all of the space available beside the sidebar. */


.history-hero {
position: relative;
min-height: 240px;
margin: 0 0 1.4rem;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px;
background: var(--history-deep, var(--ew-dark-2));
box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
}
}


.country-hero .mw-file-description,
.country-hero .mw-file-element,
.history-hero .mw-file-description,
.history-hero .mw-file-description,
.history-hero .mw-file-element,
.history-hero .mw-file-element,
.city-hero .mw-file-description,
.history-hero__image {
.city-hero .mw-file-element,
display: block;
.deity-hero .mw-file-description,
width: 100%;
.deity-hero .mw-file-element,
height: clamp(240px, 22vw, 320px);
.wiki-hero .mw-file-description,
object-fit: cover;
.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 a.new.history-hero__image {
.history-hero__overlay,
display: none !important;
.city-hero__overlay,
.deity-hero__overlay,
.wiki-hero__overlay {
padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}
}


.country-hero__title,
.history-hero__overlay {
.history-hero__title,
position: absolute;
.city-hero__title,
inset: 0;
.deity-hero__title,
display: flex;
.wiki-hero__title {
flex-direction: column;
max-width: 900px !important;
justify-content: flex-end;
padding: clamp(1.25rem, 3vw, 2.5rem);
font-size: clamp(2.1rem, 4vw, 3.6rem) !important;
line-height: 0.96 !important;
color: #fffaf2;
background:
linear-gradient(180deg, rgba(20, 12, 9, 0.06) 18%, rgba(20, 12, 9, 0.88) 100%),
linear-gradient(90deg, rgba(20, 12, 9, 0.52), transparent 64%);
pointer-events: none;
}
}


.country-hero__subtitle,
.history-hero__eyebrow {
.history-hero__subtitle,
margin-bottom: 0.25rem;
.city-hero__subtitle,
color: #efb476;
.deity-hero__subtitle,
font-family: "Alegreya SC", Georgia, serif;
.wiki-hero__subtitle {
font-size: 0.85rem;
margin-top: 0.55rem !important;
font-weight: 700;
font-size: clamp(1rem, 2vw, 1.35rem) !important;
letter-spacing: 0.16em;
}
}


/* Missing files leave no blue filename inside the hero. */
.history-hero__title {
.country-hero a.new,
max-width: 900px;
.history-hero a.new,
font-family: "Alegreya SC", Georgia, serif;
.city-hero a.new,
font-size: clamp(2.1rem, 4vw, 3.6rem);
.deity-hero a.new,
font-weight: 700;
.wiki-hero a.new {
line-height: 0.96;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
}

.history-hero__subtitle {
margin-top: 0.55rem;
color: #eadcc9;
font-size: clamp(1rem, 2vw, 1.35rem);
font-style: italic;
}

.history-overview {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
gap: 2rem;
align-items: start;
margin-bottom: 2.25rem;
}

.history-overview__lead {
font-size: 1.08rem;
}

.history-overview__lead > p:first-child::first-letter {
float: left;
margin: 0.08em 0.1em 0 0;
color: var(--history-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 3.8em;
font-weight: 700;
line-height: 0.76;
}

.history-record {
overflow: hidden;
border: 1px solid var(--history-line, var(--ew-border));
border-radius: 12px;
background: var(--history-paper, var(--ew-paper-light));
box-shadow: 0 9px 22px rgba(55, 37, 27, 0.12);
}

.history-record__heading {
padding: 0.85rem 1rem;
color: #fff7ec;
background: linear-gradient(135deg, var(--history-deep, var(--ew-dark-2)), #503023);
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.04em;
text-align: center;
}

.history-record__row {
display: grid;
grid-template-columns: minmax(100px, 0.9fr) minmax(0, 1.3fr);
gap: 0.75rem;
padding: 0.62rem 0.85rem;
border-top: 1px solid var(--history-line, var(--ew-border));
}

.history-record__row span {
color: var(--history-muted, #6f665d);
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
}

.history-era-index {
box-sizing: border-box;
margin: 1.8rem 0 2.4rem;
padding: 1.15rem;
border: 1px solid var(--history-line, var(--ew-border));
border-radius: 12px;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.42), transparent),
var(--history-paper-alt, var(--ew-paper));
}

.history-era-index__heading {
margin: 0 0 0.85rem;
color: var(--history-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-weight: 700;
text-align: center;
}

.history-era-index__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.72rem;
align-items: stretch;
}

.history-era-index__grid > div {
box-sizing: border-box;
min-width: 0;
}

.history-era-index__grid a {
display: block;
box-sizing: border-box;
height: 100%;
padding: 0.72rem 0.82rem;
border: 1px solid rgba(91, 59, 41, 0.18);
border-left: 4px solid var(--history-accent, var(--ew-gold));
border-radius: 7px;
color: var(--history-ink, var(--ew-ink));
background: rgba(255, 252, 246, 0.68);
text-decoration: none;
transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.history-era-index__grid a:hover {
transform: translateY(-1px);
background: #fffaf2;
box-shadow: 0 5px 12px rgba(54, 36, 25, 0.1);
}

.history-era-index__grid span,
.history-era-index__grid strong {
display: block;
}

.history-era-index__grid span {
color: var(--history-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.76rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.history-era-index__grid strong {
margin-top: 0.12rem;
font-size: 0.98rem;
line-height: 1.2;
}

.history-page__body {
position: relative;
box-sizing: border-box;
width: 100%;
max-width: none;
margin: 0;
padding-left: 2.25rem;
border-left: 2px solid rgba(153, 75, 44, 0.28);
}

.history-page__body p {
margin: 0.82rem 0;
}

.history-page__body h2 {
position: relative;
margin: 2.65rem 0 1rem;
padding: 0 0 0.55rem;
border-bottom: 1px solid var(--history-line, var(--ew-border));
color: var(--history-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: clamp(1.55rem, 3vw, 2rem);
font-weight: 700;
}

.history-page__body h2::before {
position: absolute;
top: 0.35em;
left: calc(-2.25rem - 7px);
width: 12px;
height: 12px;
border: 2px solid var(--history-paper, var(--ew-paper-light));
border-radius: 50%;
background: var(--history-accent, var(--ew-gold));
box-shadow: 0 0 0 2px rgba(153, 75, 44, 0.32);
content: "";
}

.history-page__body h3 {
margin-top: 1.75rem;
color: var(--history-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.3rem;
font-weight: 700;
}

.history-page__body a,
.history-record a {
color: #784029;
}

.history-page__body .toc,
.history-page__body #toc {
margin: 0 0 1.8rem;
padding: 0.9rem 1.1rem;
border: 1px solid var(--history-line, var(--ew-border));
border-radius: 9px;
background: var(--history-paper, var(--ew-paper-light));
}

.history-note {
margin: 1.25rem 0;
padding: 0.9rem 1rem;
border: 1px solid var(--history-line, var(--ew-border));
border-left: 5px solid var(--history-accent, var(--ew-gold));
border-radius: 8px;
background: linear-gradient(135deg, var(--history-paper, var(--ew-paper-light)), var(--history-paper-alt, var(--ew-paper)));
}

.history-note--disputed {
--history-accent: #776453;
}

.history-note--aftermath {
--history-accent: #7c6331;
}

.history-note strong {
color: var(--history-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
}

.history-page__body .thumb {
margin-top: 1.1rem;
border-color: var(--history-line, var(--ew-border));
}

.history-page__body table.wikitable {
border-color: var(--history-line, var(--ew-border));
background: var(--history-paper, var(--ew-paper-light));
}

.history-page__body table.wikitable th {
color: #fff8ed;
background: var(--history-deep, var(--ew-dark-2));
}

.history-figure {
box-sizing: border-box;
margin: 1.35rem 0 1.9rem;
overflow: hidden;
border: 1px solid var(--history-line, var(--ew-border));
border-radius: 10px;
background: var(--history-paper, var(--ew-paper-light));
box-shadow: 0 8px 20px rgba(50, 33, 24, 0.14);
}

.history-figure .mw-file-description {
display: block;
width: 100%;
max-width: none;
}

.history-figure .mw-file-element,
.history-figure__image {
display: block;
width: 100% !important;
max-width: none !important;
height: clamp(220px, 28vw, 340px);
object-fit: cover;
}

.history-figure a.new {
display: none !important;
display: none !important;
}
}


.history-figure__caption {
padding: 0.65rem 0.9rem 0.72rem;
color: var(--history-muted, #6f665d);
background: linear-gradient(135deg, var(--history-paper, var(--ew-paper-light)), var(--history-paper-alt, var(--ew-paper)));
font-size: 0.94rem;
font-style: italic;
line-height: 1.35;
}


/* =========================================================
@media (max-width: 760px) {
FLOWING RECORD LAYOUT
.history-page__body {
Desktop record boxes behave like traditional wiki infoboxes: they float
padding-left: 1.25rem;
beside the article instead of forcing everything below their full height.
}
========================================================= */

.history-page__body h2::before {
left: calc(-1.25rem - 7px);
}

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

.history-overview {
grid-template-columns: 1fr;
}

.history-record {
width: min(100%, 560px);
order: -1;
}

.history-era-index__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.history-hero {
min-height: 220px;
border-radius: 10px;
}

.history-hero .mw-file-description,
.history-hero .mw-file-element,
.history-hero__image {
height: 250px;
}

.history-hero__overlay {
padding: 1.25rem;
}

.history-era-index__grid {
grid-template-columns: 1fr;
}

.history-record__row {
grid-template-columns: 1fr;
gap: 0.15rem;
}
}


/* =========================================================
/* =========================================================
HISTORY AND CHRONOLOGY PORTALS — FULL CONTENT WIDTH
ERINDAL CITY PAGES
The original general article rule caps parser output at 1180px. These are
Shared structure only. City-specific palettes belong on the page wrapper.
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,
.city-page {
body.page-Calendar_of_Erindal .mw-parser-output,
box-sizing: border-box;
body.page-Death_Souls_and_Resurrection .mw-parser-output {
width: calc(100vw - var(--ew-sidebar) - 84px) !important;
max-width: none !important;
box-sizing: border-box !important;
color: var(--city-ink, var(--ew-ink));
font-family: "Alegreya", Georgia, serif;
line-height: 1.62;
}







.city-hero {
position: relative;
min-height: 240px;
margin: 0 0 1.4rem;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px;
background: var(--city-deep, var(--ew-dark-2));
box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
}

.city-hero .mw-file-description,
.city-hero .mw-file-element,
.city-hero__image {
display: block;
width: 100% !important;
width: 100% !important;
max-width: none !important;
max-width: none !important;
height: clamp(240px, 22vw, 320px);
object-fit: cover;
}
}


/* Match the country pages: a missing upload should not leave blue alt text
sitting over the dark hero background. */
.city-hero a.new.city-hero__image {
display: none !important;
}


.city-hero__overlay {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
box-sizing: border-box;
padding: clamp(1.25rem, 3vw, 2.5rem);
color: #fffaf2;
background:
linear-gradient(180deg, rgba(20, 12, 9, 0.06) 18%, rgba(20, 12, 9, 0.88) 100%),
linear-gradient(90deg, rgba(20, 12, 9, 0.52), transparent 64%);
pointer-events: none;
}


/* ========================================================================
.city-hero__eyebrow {
CATEGORY HUBS
margin-bottom: 0.25rem;
Reusable visual treatment for MediaWiki category pages.
color: var(--city-accent-light, var(--ew-gold-soft));
Category-specific colours belong in the category page's own .wiki source.
font-family: "Alegreya SC", Georgia, serif;
======================================================================== */
font-size: 0.85rem;
font-weight: 700;
letter-spacing: 0.16em;
}


body.ns-14 {
.city-hero__title {
--category-accent: var(--ew-gold);
max-width: 900px;
--category-accent-light: var(--ew-gold-soft);
font-family: "Alegreya SC", Georgia, serif;
--category-deep: #102733;
font-size: clamp(2.1rem, 4vw, 3.6rem);
--category-heading: var(--category-deep);
font-weight: 700;
--category-paper: #f5f0e7;
line-height: 0.96;
--category-paper-alt: #e8dfd0;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
--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 {
.city-hero__subtitle {
--category-deep: #0b202b;
max-width: 900px;
--category-heading: #f0d79c;
margin-top: 0.55rem;
color: #eadcc9;
--category-paper: #172228;
--category-paper-alt: #202d33;
font-size: clamp(1rem, 2vw, 1.35rem);
--category-ink: #eee5d8;
font-style: italic;
--category-muted: #c6bcae;
--category-link: #8fc8ec;
--category-line: rgba(210, 172, 101, .24);
}
}


@media (prefers-color-scheme: dark) {
.city-overview {
html[data-ew-theme="system"] body.ns-14 {
display: grid;
--category-deep: #0b202b;
grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
--category-heading: #f0d79c;
gap: 2rem;
--category-paper: #172228;
align-items: start;
--category-paper-alt: #202d33;
margin-bottom: 2.25rem;
--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. */
.city-overview__lead {
body.ns-14 #mw-content-text {
font-size: 1.08rem;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
}
}


body.ns-14 .mw-parser-output {
.city-overview__lead > p:first-child::first-letter {
box-sizing: border-box !important;
float: left;
width: calc(100vw - var(--ew-sidebar) - 84px) !important;
margin: 0.08em 0.1em 0 0;
max-width: none !important;
color: var(--city-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 3.8em;
font-weight: 700;
line-height: 0.76;
}
}


/* Keep category pages feeling like part of the Erindal article system. */
.city-record {
body.ns-14 #firstHeading {
overflow: hidden;
margin-bottom: 0.9rem;
border: 1px solid var(--city-line, var(--ew-border));
color: var(--category-heading);
border-radius: 12px;
background: var(--city-paper, var(--ew-paper-light));
box-shadow: 0 9px 22px rgba(55, 37, 27, 0.12);
}

.city-record__heading {
padding: 0.85rem 1rem;
color: #fff8ed;
background: linear-gradient(135deg, var(--city-deep, var(--ew-dark-2)), color-mix(in srgb, var(--city-deep, var(--ew-dark-2)) 66%, var(--city-accent, var(--ew-gold))));
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
letter-spacing: 0.025em;
font-weight: 700;
letter-spacing: 0.04em;
text-align: center;
}
}


.category-hub {
.city-record__row {
display: grid;
grid-template-columns: minmax(100px, 0.9fr) minmax(0, 1.3fr);
gap: 0.75rem;
padding: 0.62rem 0.85rem;
border-top: 1px solid var(--city-line, var(--ew-border));
}

.city-record__row span {
color: var(--city-muted, #6f665d);
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
}

.city-index {
box-sizing: border-box;
margin: 1.8rem 0 2.4rem;
padding: 1.15rem;
border: 1px solid var(--city-line, var(--ew-border));
border-radius: 12px;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.42), transparent),
var(--city-paper-alt, var(--ew-paper));
}

.city-index__heading {
margin: 0 0 0.85rem;
color: var(--city-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-weight: 700;
text-align: center;
}

.city-index__grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.72rem;
align-items: stretch;
}

.city-index__grid > div {
box-sizing: border-box;
min-width: 0;
}

.city-index__grid a {
display: block;
box-sizing: border-box;
height: 100%;
padding: 0.72rem 0.82rem;
border: 1px solid rgba(91, 59, 41, 0.18);
border-left: 4px solid var(--city-accent, var(--ew-gold));
border-radius: 7px;
color: var(--city-ink, var(--ew-ink));
background: rgba(255, 252, 246, 0.7);
text-decoration: none;
transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.city-index__grid a:hover {
transform: translateY(-1px);
background: #fffaf2;
box-shadow: 0 5px 12px rgba(54, 36, 25, 0.1);
}

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

.city-index__grid span {
color: var(--city-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.76rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

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

.city-page__body {
box-sizing: border-box;
box-sizing: border-box;
width: 100%;
width: 100%;
max-width: none;
margin: 0 0 1.7rem;
color: var(--category-ink);
margin: 0;
}

.city-page__body p {
margin: 0.82rem 0;
}

.city-page__body h2 {
display: flex;
gap: 0.75rem;
align-items: center;
margin: 2.35rem 0 1rem;
border-bottom: 0;
color: var(--city-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.75rem;
font-weight: 700;
}

.city-page__body h2::after {
content: "";
flex: 1;
height: 1px;
background: linear-gradient(90deg, var(--city-accent, var(--ew-gold)), transparent);
}

.city-page__body h3 {
margin-top: 1.75rem;
color: var(--city-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.32rem;
font-weight: 700;
}

.city-page__body a,
.city-record a {
color: color-mix(in srgb, var(--city-accent, var(--ew-gold)) 76%, #1c2730);
}

.city-page__body .toc,
.city-page__body #toc {
margin: 0 0 1.8rem;
padding: 0.9rem 1.1rem;
border: 1px solid var(--city-line, var(--ew-border));
border-radius: 9px;
background: var(--city-paper, var(--ew-paper-light));
}

.city-district-grid,
.city-location-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.9rem;
margin: 1.1rem 0 1.5rem;
}

.city-location-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.city-district-card,
.city-location-card {
box-sizing: border-box;
min-width: 0;
padding: 1rem 1.05rem;
border: 1px solid var(--city-line, var(--ew-border));
border-top: 4px solid var(--city-accent, var(--ew-gold));
border-radius: 9px;
background: linear-gradient(145deg, var(--city-paper, var(--ew-paper-light)), rgba(255, 255, 255, 0.5));
box-shadow: 0 5px 14px rgba(49, 35, 25, 0.08);
}

.city-district-card h3,
.city-location-card h3 {
margin: 0 0 0.35rem;
color: var(--city-deep, var(--ew-dark-2));
font-size: 1.18rem;
}

.city-district-card p,
.city-location-card p {
margin: 0.35rem 0 0;
}

.city-note {
margin: 1.25rem 0;
padding: 0.95rem 1.05rem;
border: 1px solid var(--city-line, var(--ew-border));
border-left: 5px solid var(--city-accent, var(--ew-gold));
border-radius: 8px;
background: linear-gradient(135deg, var(--city-paper, var(--ew-paper-light)), var(--city-paper-alt, var(--ew-paper)));
}

.city-note--danger {
--city-accent: #7f3f32;
}

.city-note--history {
--city-accent: #7b653d;
}

.city-note--disputed {
--city-accent: #596876;
}

.city-note strong {
color: var(--city-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
}

@media (max-width: 1050px) {
.city-index__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

@media (max-width: 760px) {
.city-overview {
grid-template-columns: 1fr;
}

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

.city-hero {
min-height: 220px;
border-radius: 10px;
}

.city-hero .mw-file-description,
.city-hero .mw-file-element,
.city-hero__image {
height: 250px;
}

.city-hero__overlay {
padding: 1.25rem;
}

.city-index__grid,
.city-district-grid,
.city-location-grid {
grid-template-columns: 1fr;
}

.city-record__row {
grid-template-columns: 1fr;
gap: 0.15rem;
}
}

/* =========================================================
ERINDAL DEITY PAGES
Shared structure only. Individual deity palettes are page-local custom
properties in each deity .wiki page. Common.css contains no named deity
themes and uses the global Erindal theme only as a safe fallback.
========================================================= */

/* MediaWiki site CSS does not support the parent-selector approach here.
The wrapper therefore owns its full-width sizing directly, with no
body.page-<deity-name> rules. */

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


.category-hub__header {
.deity-hero {
position: relative;
position: relative;
min-height: 240px;
margin: 0 0 1.4rem;
overflow: hidden;
overflow: hidden;
padding: 1.55rem 1.7rem 1.45rem;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px;
border: 1px solid var(--category-line);
border-radius: 13px;
background: var(--deity-deep, var(--ew-dark-2));
background:
box-shadow: 0 12px 30px rgba(28, 18, 13, 0.19);
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 {
.deity-hero .mw-file-description,
content: "";
.deity-hero .mw-file-element,
.deity-hero__image {
display: block;
width: 100%;
height: clamp(240px, 22vw, 320px);
object-fit: cover;
}

.deity-hero__overlay {
position: absolute;
position: absolute;
inset: 0;
right: -45px;
display: flex;
bottom: -90px;
width: 300px;
flex-direction: column;
height: 220px;
justify-content: flex-end;
border: 1px solid var(--category-line);
padding: clamp(1.25rem, 3vw, 2.5rem);
border-radius: 50%;
color: var(--deity-hero-text, #fffaf2);
background:
box-shadow:
linear-gradient(180deg, rgba(20, 12, 9, 0.04) 20%, rgba(20, 12, 9, 0.88) 100%),
0 0 0 34px rgba(255, 255, 255, 0.035),
linear-gradient(90deg, rgba(20, 12, 9, 0.62), transparent 68%);
0 0 0 72px rgba(255, 255, 255, 0.02);
pointer-events: none;
pointer-events: none;
}
}


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


.category-hub__title {
.deity-hero__title {
position: relative;
z-index: 1;
margin: 0;
color: #fff8ed;
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: clamp(2.1rem, 4vw, 3.6rem);
font-size: clamp(2rem, 3vw, 3rem);
font-weight: 700;
font-weight: 700;
line-height: 0.96;
line-height: 1.05;
letter-spacing: 0.025em;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
}
}


.category-hub__subtitle {
.deity-hero__subtitle {
position: relative;
z-index: 1;
max-width: 780px;
margin-top: 0.55rem;
margin-top: 0.55rem;
color: var(--deity-hero-subtitle, #eadcc9);
color: rgba(255, 248, 237, 0.88);
font-size: clamp(1rem, 2vw, 1.35rem);
font-size: 1.02rem;
font-style: italic;
line-height: 1.5;
}
}


.category-hub__intro {
.deity-hero a.new,
margin: 1rem 0 0;
.deity-figure a.new {
padding: 0.95rem 1.1rem;
display: none !important;
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 {
.deity-overview {
display: grid;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 2rem;
gap: 0.8rem;
align-items: start;
margin-top: 1rem;
margin-bottom: 2.25rem;
}
}


.category-hub__grid--2 {
.deity-overview__lead {
grid-template-columns: repeat(2, minmax(0, 1fr));
font-size: 1.08rem;
}
}


.deity-overview__lead > p:first-child::first-letter {
float: left;
margin: 0.08em 0.1em 0 0;
color: var(--deity-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 3.7em;
font-weight: 700;
line-height: 0.78;
}


/* A secondary status card can sit beneath a 3-column category grid without
.deity-record {
pretending to be another functional organization type. On desktop it uses
overflow: hidden;
the middle column; on smaller layouts it remains centred, then becomes
border: 1px solid var(--deity-line, var(--ew-border));
full-width on mobile. */
border-radius: 12px;
.category-hub__card--centered {
background: var(--deity-paper, var(--ew-paper-light));
grid-column: 2 / 3;
box-shadow: 0 10px 22px rgba(55, 37, 27, 0.13);
}
}


.deity-record__heading {
padding: 0.85rem 1rem;
color: var(--deity-record-heading-text, #fff7ec);
background: linear-gradient(135deg, var(--deity-deep, var(--ew-dark-2)), var(--deity-deep-alt, var(--ew-dark-1)));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.04em;
text-align: center;
}


.category-hub__card {
.deity-visual {
border-bottom: 1px solid var(--deity-line, var(--ew-border));
background: linear-gradient(145deg, var(--deity-visual-bg, var(--ew-paper)), var(--deity-paper, var(--ew-paper-light)));
}

.deity-visual__tabs {
display: none;
}

.deity-visual.is-enhanced .deity-visual__tabs {
display: grid !important;
box-sizing: border-box;
width: 100%;
min-width: 0;
min-width: 0;
padding: 1rem 1.05rem 0.95rem;
border-bottom: 1px solid var(--deity-line, var(--ew-border));
border: 1px solid var(--category-line);
background: rgba(0, 0, 0, 0.04);
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,
.deity-record .deity-visual__tabs > .deity-visual__tab {
.category-hub__card-title {
display: flex;
display: block;
flex: 0 0 50% !important;
margin: 0 0 0.28rem;
align-items: center;
color: var(--category-heading);
justify-content: center;
box-sizing: border-box;
width: 50% !important;
max-width: 50% !important;
min-width: 0;
min-height: 46px;
padding: 0.58rem 0.45rem;
color: var(--deity-muted, #665f57);
border-bottom: 3px solid transparent;
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.86rem;
font-size: 1.13rem;
font-weight: 700;
font-weight: 700;
line-height: 1;
line-height: 1.15;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
float: none !important;
cursor: pointer;
}
}


.category-hub__card p {
.deity-visual__panel a.new {
display: flex !important;
margin: 0 0 0.65rem;
color: var(--category-muted);
align-items: center;
justify-content: center;
line-height: 1.45;
box-sizing: border-box;
width: 100% !important;
height: 270px !important;
padding: 1.25rem;
color: var(--deity-muted, #665f57) !important;
background: rgba(255, 255, 255, 0.22);
font-style: italic;
line-height: 1.3;
text-align: center;
text-decoration: none;
}
}


.category-hub__card a {
.deity-visual__panel a.new::before {
color: var(--category-link);
content: "Missing image: ";
font-style: normal;
font-weight: 700;
font-weight: 700;
text-decoration: none;
}
}


.category-hub__card a:hover,
.deity-visual__tab + .deity-visual__tab {
.category-hub__card a:focus {
border-left: 1px solid var(--deity-line, var(--ew-border));
text-decoration: underline;
}
}


/* Automatic MediaWiki category output ----------------------------------- */
.deity-visual__tab:hover,
.deity-visual__tab:focus,
.deity-visual__tab.is-active {
color: var(--deity-deep, var(--ew-dark-2));
border-bottom-color: var(--deity-accent, var(--ew-gold));
background: rgba(255, 255, 255, 0.42);
outline: 0;
}


body.ns-14 #mw-subcategories,
.deity-visual__panel {
body.ns-14 #mw-pages {
box-sizing: border-box;
width: 100%;
margin-top: 1.8rem;
height: 270px;
min-height: 270px;
max-height: 270px;
overflow: hidden;
}
}


body.ns-14 #mw-subcategories > h2,
.deity-visual__panel + .deity-visual__panel {
body.ns-14 #mw-pages > h2 {
border-top: 1px solid var(--deity-line, var(--ew-border));
margin: 0 0 0.45rem;
}
padding-bottom: 0.42rem;

color: var(--category-heading);
/* Match the JavaScript default panel state from the first paint. */
border-bottom: 1px solid var(--category-line);
.deity-visual:not(.is-enhanced) .deity-visual__panel--appearance {
display: flex;
align-items: center;
justify-content: center;
border-top: 0;
}

.deity-visual:not(.is-enhanced) .deity-visual__panel--symbol {
display: none !important;
border-top: 0;
}

.deity-visual.is-enhanced .deity-visual__panel {
display: none;
border-top: 0;
}

.deity-visual.is-enhanced .deity-visual__panel.is-active {
display: flex;
align-items: center;
justify-content: center;
}

.deity-visual__panel .mw-file-description,
.deity-visual__panel .mw-file-element,
.deity-visual__appearance,
.deity-visual__symbol {
display: block;
box-sizing: border-box;
width: 100% !important;
}

.deity-visual__panel .mw-file-description {
height: 100%;
}

.deity-visual__appearance,
.deity-visual__panel--appearance .mw-file-element {
height: 270px !important;
object-fit: cover;
object-position: 50% 18%;
}

.deity-visual__panel--symbol {
padding: 0;
text-align: center;
}

.deity-visual__symbol,
.deity-visual__panel--symbol .mw-file-element {
box-sizing: border-box;
width: 100% !important;
max-width: none !important;
height: 270px !important;
padding: 1rem;
object-fit: contain;
object-position: center;
}

.deity-record__row {
display: grid;
grid-template-columns: minmax(105px, 0.9fr) minmax(0, 1.35fr);
gap: 0.75rem;
padding: 0.62rem 0.85rem;
border-top: 1px solid var(--deity-line, var(--ew-border));
}

.deity-record__row span {
color: var(--deity-muted, #665f57);
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
font-size: 1.45rem;
letter-spacing: 0.025em;
}
}


body.ns-14 #mw-subcategories > p,
.deity-index {
body.ns-14 #mw-pages > p {
margin: 0 0 2rem;
color: var(--category-muted);
overflow: hidden;
border: 1px solid var(--deity-line, var(--ew-border));
border-radius: 11px;
background: linear-gradient(145deg, var(--deity-paper, var(--ew-paper-light)), var(--deity-paper-alt, var(--ew-paper)));
}
}


/* Turn the stock alphabetical columns into parchment directory cards. */
.deity-index__heading {
body.ns-14 .mw-category {
padding: 0.8rem 1rem 0.7rem;
display: grid !important;
color: var(--deity-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.15rem;
font-weight: 700;
text-align: center;
}

.deity-index__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
gap: 0.85rem;
margin-top: 1rem;
background: var(--deity-line, var(--ew-border));
}
}


body.ns-14 .mw-category-generated .mw-category-group,
.deity-index__grid > div {
body.ns-14 .mw-category .mw-category-group {
box-sizing: border-box;
min-width: 0;
min-width: 0;
margin: 0 !important;
background: rgba(250, 247, 240, 0.96);
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 {
.deity-index__grid a {
display: block;
margin: 0 0 0.45rem;
padding: 0 0 0.32rem;
min-height: 56px;
color: var(--category-accent);
padding: 0.72rem 0.85rem;
border-bottom: 1px solid var(--category-line);
color: inherit;
text-decoration: none;
}

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

.deity-index__grid span {
color: var(--deity-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.76rem;
font-size: 1.2rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.08em;
text-transform: uppercase;
}
}


body.ns-14 .mw-category-group ul {
.deity-index__grid strong {
margin-top: 0.12rem;
margin: 0 !important;
font-size: 0.98rem;
padding: 0 !important;
list-style: none !important;
line-height: 1.2;
}
}


body.ns-14 .mw-category-group li {
.deity-page__body h2 {
display: flex;
margin: 0 !important;
gap: 0.75rem;
padding: 0.28rem 0 !important;
align-items: center;
margin: 2.35rem 0 1rem;
border-bottom: 0;
color: var(--deity-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.75rem;
font-weight: 700;
}
}


body.ns-14 .mw-category-group li + li {
.deity-page__body h2::after {
border-top: 1px dotted var(--category-line);
content: "";
flex: 1;
height: 1px;
background: linear-gradient(90deg, var(--deity-accent, var(--ew-gold)), transparent);
}
}


body.ns-14 .mw-category-group a {
.deity-page__body h3 {
color: var(--deity-accent, var(--ew-gold));
color: var(--category-link);
font-family: "Alegreya SC", Georgia, serif;
font-weight: 600;
text-decoration: none;
}
}


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


/* Subcategories use the same visual language where MediaWiki exposes them. */
.deity-quote,
body.ns-14 #mw-subcategories .mw-category {
.deity-note {
margin: 1.25rem 0;
margin-bottom: 0.4rem;
padding: 0.95rem 1.05rem;
border: 1px solid var(--deity-line, var(--ew-border));
border-left: 5px solid var(--deity-accent, var(--ew-gold));
border-radius: 8px;
background: linear-gradient(135deg, var(--deity-paper, var(--ew-paper-light)), var(--deity-paper-alt, var(--ew-paper)));
}
}


.deity-quote {
color: var(--deity-deep, var(--ew-dark-2));
font-size: 1.08rem;
font-style: italic;
}


/* ========================================================================
.deity-quote__source {
MAIN CATEGORY HUBS - HIDE DUPLICATE SUBCATEGORIES
display: block;
The nine top-level category hubs already show curated category cards.
margin-top: 0.35rem;
Hide MediaWiki's automatic #mw-subcategories block only on those pages.
color: var(--deity-muted, #665f57);
Compact/mini category hubs remain unchanged.
font-size: 0.9rem;
======================================================================== */
font-style: normal;
text-align: right;
}


body.ns-14.page-Category_Nations_and_Realms #mw-subcategories,
.deity-card-grid {
body.ns-14.page-Category_Ancestries_and_Cultures #mw-subcategories,
display: grid;
body.ns-14.page-Category_Races_and_Peoples #mw-subcategories,
grid-template-columns: repeat(2, minmax(0, 1fr));
body.ns-14.page-Category_Characters #mw-subcategories,
gap: 1rem;
body.ns-14.page-Category_Organizations #mw-subcategories,
margin: 1rem 0 1.75rem;
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;
}
}


/* ========================================================================
.deity-card-grid--three {
RESPONSIVE LAYOUT - VECTOR 2022
grid-template-columns: repeat(3, minmax(0, 1fr));
======================================================================== */
}


@media (min-width: 1900px) {
.deity-card {
.ew-category-grid {
min-width: 0;
grid-template-columns: repeat(5, minmax(0, 1fr));
padding: 1rem;
border: 1px solid var(--deity-line, var(--ew-border));
border-top: 4px solid var(--deity-accent, var(--ew-gold));
border-radius: 9px;
background: linear-gradient(145deg, var(--deity-paper, var(--ew-paper-light)), rgba(255, 255, 255, 0.52));
box-shadow: 0 5px 14px rgba(49, 35, 25, 0.08);
}

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

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

.deity-figure {
box-sizing: border-box;
margin: 1.35rem 0 1.9rem;
overflow: hidden;
border: 1px solid var(--deity-line, var(--ew-border));
border-radius: 10px;
background: var(--deity-paper, var(--ew-paper-light));
box-shadow: 0 8px 20px rgba(50, 33, 24, 0.14);
}

.deity-figure .mw-file-description,
.deity-figure .mw-file-element,
.deity-figure__image {
display: block;
width: 100% !important;
max-width: none !important;
}

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

.deity-figure__caption {
padding: 0.65rem 0.9rem 0.72rem;
color: var(--deity-muted, #665f57);
background: linear-gradient(135deg, var(--deity-paper, var(--ew-paper-light)), var(--deity-paper-alt, var(--ew-paper)));
font-size: 0.94rem;
font-style: italic;
line-height: 1.35;
}

@media (max-width: 1050px) {
.deity-card-grid--three {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
}


.ew-strip {
@media (max-width: 900px) {
grid-column: span 4;
.deity-page {
width: calc(100vw - var(--ew-sidebar) - 48px) !important;
}
}
}
}


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

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

.deity-record__row {
grid-template-columns: 1fr;
gap: 0.15rem;
}

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


@media (max-width: 700px) {
.deity-page {
width: calc(100vw - 48px) !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 {
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,
.country-hero__image,
.history-hero .mw-file-description,
.history-hero .mw-file-element,
.history-hero__image,
.city-hero .mw-file-description,
.city-hero .mw-file-element,
.city-hero__image,
.deity-hero .mw-file-description,
.deity-hero .mw-file-element,
.deity-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 {
padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.country-hero__title,
.history-hero__title,
.city-hero__title,
.deity-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 {
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 {
display: none !important;
}

@media (max-width: 760px) {
.country-hero,
.history-hero,
.city-hero,
.deity-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 {
padding: 1.25rem !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.
========================================================= */
@media (min-width: 951px) {
@media (min-width: 951px) {
.country-overview,
.country-overview,
Line 3,654: Line 1,709:
float: right !important;
float: right !important;
box-sizing: border-box !important;
box-sizing: border-box !important;
margin: 0 0 1.5rem 2rem !important;
}

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


Line 3,679: Line 1,729:
.country-page::after,
.country-page::after,
.history-page::after,
.history-page::after,
.city-page::after {
.city-page::after,
.deity-page::after,
.wiki-page::after {
content: "";
content: "";
display: block;
display: block;
Line 3,686: Line 1,738:
}
}


@media (max-width: 1240px) {
/* =========================================================
#ew-server-topbar .ew-global-section > summary {
HISTORY AND CHRONOLOGY PORTALS — FULL CONTENT WIDTH
padding-right: 9px !important;
The original general article rule caps parser output at 1180px. These are
padding-left: 9px !important;
designed reference pages and should use the same available width as city,
font-size: 14px !important;
nation, national-history and deity layouts.
}
========================================================= */

body.page-Category_History_and_Timeline .mw-parser-output,
#ew-server-topbar .ew-global-search {
body.page-History_and_Timeline .mw-parser-output,
flex-basis: 210px !important;
body.page-Chronology_of_Erindal .mw-parser-output,
width: 210px !important;
body.page-Calendar_of_Erindal .mw-parser-output,
}
body.page-Death_Souls_and_Resurrection .mw-parser-output {

box-sizing: border-box !important;
#ew-theme-toggle {
width: 100% !important;
max-width: none !important;
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) {
@media (max-width: 950px) {
Line 3,719: Line 1,790:
margin: 0 auto 1.5rem !important;
margin: 0 auto 1.5rem !important;
}
}
}


.category-hub__card--centered {
/* =========================================================
grid-column: 1 / -1;
DEITY ARTICLE / INFOBOX LAYOUT — SINGLE FLOWING SYSTEM
width: calc((100% - .8rem) / 2);
Desktop uses the same traditional infobox flow for every deity page.
justify-self: center;
The Divine Record must occur before the prose it should wrap beside.
This is source structure, not deity-specific CSS.
========================================================= */
@media (min-width: 951px) {
.deity-overview,
.deity-article-layout {
display: block !important;
margin-bottom: 1.5rem !important;
}
}


.category-hub__grid,
/* Legacy/current deity pages where the record sits directly in the overview. */
.deity-overview .deity-record {
body.ns-14 .mw-category {
grid-template-columns: repeat(2, minmax(0, 1fr));
float: right !important;
box-sizing: border-box !important;
width: 370px !important;
max-width: 34% !important;
margin: 0 0 1.5rem 2rem !important;
}
}
}


@media (max-width: 900px) {
/* New deity-page structure: rail first in source, then main. */
:root {
.deity-article-layout__rail {
--ew-sidebar-open: 218px;
float: right !important;
--ew-sidebar: var(--ew-sidebar-open);
box-sizing: border-box !important;
width: 370px !important;
max-width: 34% !important;
margin: 0 0 1.5rem 2rem !important;
}
}


html.ew-sidebar-collapsed {
.deity-article-layout__rail .deity-record {
float: none !important;
--ew-sidebar: 0px;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
}
}


.ew-sidebar-brand::before {
.deity-overview__lead,
left: 8px;
.deity-article-layout__main,
top: 30px;
.deity-page__body {
display: block !important;
width: 58px;
min-width: 0 !important;
height: 58px;
}
}


.ew-sidebar-brand::after {
.deity-index {
min-width: 0 !important;
left: 72px;
overflow: hidden !important;
top: 34px;
font-size: 21px;
}
}


#ew-server-topbar .ew-global-section:nth-child(n+4) {
.deity-article-layout .deity-index {
margin: 0 0 1.5rem !important;
display: none !important;
}
}


body.skin-vector-2022 #content {
.deity-article-layout__main .toc,
padding-right: 24px !important;
.deity-article-layout__main #toc {
float: none !important;
padding-left: 24px !important;
box-sizing: border-box !important;
width: min(100%, 300px) !important;
max-width: 100% !important;
margin: 0 0 1.5rem !important;
}
}


body.page-Main_Page #content {
/* Never force article sections below a tall Divine Record on desktop. */
padding-right: 0 !important;
.deity-page > .deity-page__body {
display: block !important;
padding-left: 0 !important;
clear: none !important;
box-sizing: border-box !important;
width: auto !important;
max-width: none !important;
min-width: 0 !important;
}
}


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


@media (max-width: 950px) {
@media (max-width: 760px) {
:root,
.deity-overview,
.deity-article-layout {
html.ew-sidebar-collapsed {
display: grid !important;
--ew-sidebar: 0px;
grid-template-columns: minmax(0, 1fr) !important;
gap: 1.5rem !important;
}
}


#ew-sidebar {
.deity-overview .deity-record,
box-shadow: inset -12px 0 24px rgba(0, 0, 0, .38), 8px 0 28px rgba(0, 0, 0, .46) !important;
.deity-article-layout__rail,
.deity-article-layout__rail .deity-record {
float: none !important;
box-sizing: border-box !important;
width: min(100%, 580px) !important;
max-width: 100% !important;
margin: 0 auto !important;
}
}


html:not(.ew-sidebar-collapsed) #ew-sidebar-toggle {
.deity-article-layout__rail {
grid-column: 1 !important;
left: calc(var(--ew-sidebar-open) - 14px) !important;
grid-row: 1 !important;
}
}


#ew-server-topbar {
.deity-article-layout__main {
grid-column: 1 !important;
left: 0 !important;
grid-row: 2 !important;
padding-left: 12px !important;
min-width: 0 !important;
}
}


#ew-server-topbar .ew-global-section:nth-child(n+3) {
.deity-page > .deity-page__body {
display: block !important;
display: none !important;
clear: both !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
}
}
}


#ew-server-topbar .ew-global-search {
/* Centred, unmistakable appearance/symbol selector. */
flex-basis: min(220px, 43vw) !important;
.deity-record .deity-visual__tabs {
display: grid !important;
width: min(220px, 43vw) !important;
}
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
align-items: stretch !important;
box-sizing: border-box !important;
width: 100% !important;
min-height: 52px !important;
padding: 4px !important;
border-bottom: 1px solid var(--deity-line, var(--ew-border)) !important;
background: var(--deity-tabs-bg, var(--ew-paper)) !important;
}


.ew-topbar-tool {
.deity-record .deity-visual__tabs .deity-visual__tab {
display: grid !important;
display: none !important;
}
place-items: center !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
min-height: 44px !important;
padding: 0.55rem 0.45rem !important;
overflow: visible !important;
color: var(--deity-tab-text, var(--ew-ink)) !important;
border: 1px solid transparent !important;
border-radius: 6px !important;
background: transparent !important;
font-family: "Alegreya SC", Georgia, serif !important;
font-size: 0.88rem !important;
font-weight: 700 !important;
line-height: 1.1 !important;
text-align: center !important;
white-space: nowrap !important;
text-overflow: clip !important;
box-shadow: none !important;
cursor: pointer !important;
}


body.skin-vector-2022 #content,
.deity-record .deity-visual__tabs .deity-visual__tab + .deity-visual__tab {
body.skin-vector-2022 #footer {
border-left-color: var(--deity-line, var(--ew-border)) !important;
margin-left: 0 !important;
}
}


.country-overview,
.deity-record .deity-visual__tabs .deity-visual__tab:hover,
.country-feature,
.deity-record .deity-visual__tabs .deity-visual__tab:focus-visible {
.country-feature--image-left,
color: var(--deity-deep, var(--ew-dark-2)) !important;
.country-card-grid,
border-color: var(--deity-accent, var(--ew-gold)) !important;
.country-card-grid--three,
background: rgba(255, 250, 241, 0.68) !important;
.country-card-grid--four,
outline: 2px solid transparent !important;
.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,
/* Divine Appearance is the default visible panel, so its button starts
.history-record__row,
visually active before Common.js runs. */
.city-record__row,
.deity-record .deity-visual:not(.is-enhanced) .deity-visual__tabs .deity-visual__tab:first-child,
.deity-record__row,
.deity-record .deity-visual__tabs .deity-visual__tab.is-active,
.wiki-record__rows > div {
.deity-record .deity-visual__tabs .deity-visual__tab[aria-selected="true"] {
grid-template-columns: 1fr;
color: var(--deity-tab-active-text, #fffaf2) !important;
gap: .15rem;
border-color: var(--deity-tab-active-border, var(--ew-gold)) !important;
}
background: linear-gradient(180deg, var(--deity-tab-active-top, var(--ew-dark-2)) 0%, var(--deity-tab-active-bottom, var(--ew-dark-1)) 100%) !important;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 2px 5px rgba(54, 27, 17, 0.28) !important;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.42) !important;
}


.city-record,
/* =========================================================
.deity-record {
ERINDAL ARTICLE SYSTEM: ORGANIZATIONS, CHARACTERS AND MAGIC
width: min(100%, 580px);
Shared structure only. Each article defines its own palette on .wiki-page.
order: -1;
========================================================= */
}


.history-figure .mw-file-element,
.wiki-page {
.history-figure__image,
box-sizing: border-box;
.deity-figure .mw-file-element,
width: calc(100vw - var(--ew-sidebar) - 84px) !important;
.deity-figure__image {
max-width: none !important;
height: 220px;
color: var(--wiki-ink, var(--ew-ink));
}
font-family: "Alegreya", Georgia, serif;
line-height: 1.62;
}


.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,
.wiki-hero {
.city-page,
position: relative;
.deity-page,
box-sizing: border-box !important;
.wiki-page,
height: clamp(240px, 22vw, 320px) !important;
body.ns-14 .mw-parser-output {
min-height: 240px !important;
max-height: 320px !important;
width: calc(100vw - 48px) !important;
}
margin: 0 0 1.4rem !important;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px !important;
background: var(--wiki-deep, var(--ew-dark-2));
box-shadow: 0 12px 30px rgba(25, 20, 17, 0.19);
}
}


@media (max-width: 560px) {
.wiki-hero .mw-file-description,
#ew-server-topbar .ew-global-section:nth-child(n+2),
.wiki-hero .mw-file-element,
#ew-server-topbar .ew-global-search {
.wiki-hero__image {
display: block !important;
display: none !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;
}


#ew-server-topbar .ew-global-menu {
.wiki-hero a.new {
display: none !important;
flex: 1 1 auto !important;
}
}


#ew-server-topbar .ew-global-section:first-child {
.wiki-hero__overlay {
display: block !important;
position: absolute;
}
inset: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: clamp(1.25rem, 3vw, 2.5rem) !important;
color: #fffaf2;
background:
linear-gradient(180deg, rgba(12, 16, 20, 0.03) 18%, rgba(10, 13, 16, 0.9) 100%),
linear-gradient(90deg, rgba(9, 13, 16, 0.66), transparent 70%);
pointer-events: none;
}


#ew-theme-toggle {
.wiki-hero__eyebrow {
display: grid !important;
margin-bottom: 0.25rem;
}
color: #efc078;
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.85rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}


body.skin-vector-2022 #content {
.wiki-hero__title {
max-width: 900px !important;
padding-right: 16px !important;
padding-left: 16px !important;
font-family: "Alegreya SC", Georgia, serif;
}
font-size: clamp(2.1rem, 4vw, 3.6rem) !important;
font-weight: 700;
line-height: 0.96 !important;
text-shadow: 0 3px 16px rgba(0, 0, 0, 0.72);
}


body.page-Main_Page #content {
.wiki-hero__subtitle {
margin-top: 0.55rem !important;
padding-right: 0 !important;
padding-left: 0 !important;
color: #e9dfd0;
}
font-size: clamp(1rem, 2vw, 1.35rem) !important;
font-style: italic;
}


.country-page,
.wiki-article-layout {
.history-page,
display: grid;
.city-page,
grid-template-columns: minmax(0, 1fr) 370px;
.deity-page,
gap: 2rem;
.wiki-page,
align-items: start;
body.ns-14 .mw-parser-output {
width: calc(100vw - 32px) !important;
}
}
}


@media (max-width: 620px) {
.wiki-article-layout__main,
.category-hub__header {
.wiki-article-layout__rail,
padding: 1.2rem;
.wiki-page__body {
}
min-width: 0;
}


.category-hub__grid,
.wiki-lead {
.category-hub__grid--2,
margin-bottom: 1.35rem;
body.ns-14 .mw-category {
font-size: 1.08rem;
grid-template-columns: 1fr;
}
}


.category-hub__card--centered {
.wiki-lead > p:first-child::first-letter {
float: left;
width: 100%;
}
margin: 0.08em 0.1em 0 0;
color: var(--wiki-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 3.7em;
font-weight: 700;
line-height: 0.78;
}
}


@media (prefers-reduced-motion: reduce) {
.wiki-record {
#ew-sidebar,
overflow: hidden;
#ew-server-topbar,
border: 1px solid var(--wiki-line, var(--ew-border));
#ew-sidebar-toggle,
border-radius: 12px;
body.skin-vector-2022 #content,
background: var(--wiki-paper, var(--ew-paper-light));
body.skin-vector-2022 #footer {
box-shadow: 0 10px 22px rgba(38, 32, 28, 0.13);
transition: none !important;
}
}
}


/* ========================================================================
.wiki-record__title {
END ERINDAL WIKI VECTOR-2022.CSS v1.0
padding: 0.85rem 1rem;
======================================================================== */
color: #fff8ee;
background: linear-gradient(135deg, var(--wiki-deep, var(--ew-dark-2)), var(--wiki-accent, var(--ew-gold)));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.04em;
text-align: center;
}


/* Accessibility and mobile layout refinements — September 2026 */
.wiki-record__image {
body.page-Main_Page .mw-parser-output > p:has(> br:only-child) {
display: flex;
display: none !important;
align-items: center;
justify-content: center;
box-sizing: border-box;
height: 285px;
padding: 0.8rem;
overflow: hidden;
border-bottom: 1px solid var(--wiki-line, var(--ew-border));
background: linear-gradient(145deg, var(--wiki-paper-alt, var(--ew-paper)), var(--wiki-paper, var(--ew-paper-light)));
}
}


body:not(.page-Main_Page) .mw-parser-output p a:not(.mw-file-description),
.wiki-record__image--portrait {
body:not(.page-Main_Page) .mw-parser-output li a:not(.mw-file-description) {
box-sizing: border-box;
text-decoration: underline;
height: 270px;
text-decoration-thickness: .06em;
min-height: 270px;
text-underline-offset: .13em;
max-height: 270px;
padding: 0;
overflow: hidden;
background: var(--wiki-paper, var(--ew-paper-light));
}
}


@media (max-width: 760px) {
.wiki-record__image .mw-file-description {
#ew-server-topbar {
display: block;
padding-left: 48px !important;
width: 100%;
}
height: 100%;
}


#ew-sidebar-toggle {
.wiki-record__image .mw-file-element {
top: 5px !important;
display: block;
}
width: 100% !important;
max-width: none !important;
height: 100% !important;
object-fit: contain;
object-position: center;
}
}


/* Character portraits use the normal MediaWiki infobox behaviour:
show the whole image at the record width, preserve its aspect ratio,
and leave the file link intact so clicking opens the MediaWiki file page
where the original/full-resolution image is available. */
.wiki-record__image--portrait .mw-file-description {
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-sizing: border-box;
width: 100% !important;
height: 270px !important;
}


/* Keep Vector article actions in a single horizontal row. */
.wiki-record__image--portrait .mw-file-element {
body.skin-vector-2022 .vector-page-tools-landmark {
display: block !important;
width: auto !important;
width: auto !important;
max-width: 100% !important;
height: 270px !important;
max-height: 270px !important;
object-fit: contain !important;
object-position: center !important;
margin: 0 auto !important;
}
}


/* Restore Vector's standard compact article header while the custom Main Page uses the full canvas. */
/* Organization record emblems
body.skin-vector-2022.page-Main_Page .mw-body {
---------------------------------------------------------
grid-template-columns: minmax(0, 1fr) 0 !important;
IMPORTANT: target .wiki-record--organization itself.
MediaWiki may insert <span>/<a> wrappers around [[File:...]], so relying
only on a class attached to the image/wrapper proved unreliable.

Unlike portraits, an emblem should NOT be forced to fill either dimension.
It keeps its natural aspect ratio and is constrained only by max-width /
max-height. Clicking the image still uses MediaWiki's normal file link. */
.wiki-record.wiki-record--organization .wiki-record__image {
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-sizing: border-box !important;
width: 100% !important;
height: 230px !important;
min-height: 230px !important;
max-height: 230px !important;
padding: 0.7rem !important;
overflow: hidden !important;
border-bottom: 1px solid var(--wiki-line, var(--ew-border));
background: var(--wiki-paper, var(--ew-paper-light));
}
}


body.skin-vector-2022 .vector-page-toolbar .mw-list-item.selected > a {
/* MediaWiki can place one or more spans around the file link. */
color: var(--ew-text) !important;
.wiki-record.wiki-record--organization .wiki-record__image > span,
border-bottom-color: var(--ew-text) !important;
.wiki-record.wiki-record--organization .wiki-record__image .mw-file-description {
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-sizing: border-box !important;
width: 100% !important;
height: 100% !important;
max-width: 100% !important;
max-height: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
}


/* Extend article title and toolbar rules across the full canvas; keep actions at the far right. */
/* This is the actual image. Do not give it width:100% or height:100%.
body.skin-vector-2022:not(.page-Main_Page) .mw-body {
Those declarations were what kept making the tall Holy Flame emblem huge.
grid-template-columns: minmax(0, 59.25rem) minmax(0, 1fr) !important;
Natural ratio + two maximums gives the same compact-thumbnail behaviour
wanted from a wiki infobox. */
.wiki-record.wiki-record--organization .wiki-record__image .mw-file-element,
.wiki-record.wiki-record--organization .wiki-record__image img,
.wiki-record.wiki-record--organization .wiki-record__emblem-image {
display: block !important;
box-sizing: border-box !important;
width: auto !important;
height: auto !important;
max-width: 88% !important;
max-height: 205px !important;
margin: auto !important;
padding: 0 !important;
object-fit: contain !important;
object-position: center !important;
}
}


body.skin-vector-2022:not(.page-Main_Page) .vector-page-titlebar,
.wiki-record__image a.new {
body.skin-vector-2022:not(.page-Main_Page) .vector-page-toolbar {
display: flex !important;
grid-column: 1 / -1 !important;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: var(--wiki-muted, #6f665d) !important;
font-style: italic;
text-align: center;
}
}


/* Main Page: remove Vector's empty strip below the footer. */
.wiki-record__rows > div {
body.page-Main_Page .mw-footer-container {
display: grid;
padding-bottom: 0 !important;
grid-template-columns: minmax(110px, 0.9fr) minmax(0, 1.35fr);
gap: 0.75rem;
padding: 0.65rem 0.85rem;
border-top: 1px solid var(--wiki-line, var(--ew-border));
}
}


/* Dark category-hub palette must override page-local inline light palettes. */
.wiki-record__rows > div:first-child {
html[data-ew-theme="dark"] body.ns-14 .category-hub {
border-top: 0;
--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) {
.wiki-record__rows span {
html[data-ew-theme="system"] body.ns-14 .category-hub {
color: var(--wiki-muted, #6f665d);
--category-heading: #f0d79c !important;
font-family: "Alegreya SC", Georgia, serif;
--category-paper: #172228 !important;
font-weight: 700;
--category-paper-alt: #202d33 !important;
}
--category-ink: #eee5d8 !important;

--category-muted: #c6bcae !important;
.wiki-record__rows strong {
--category-link: #8fc8ec !important;
min-width: 0;
--category-line: rgba(210, 172, 101, 0.24) !important;
overflow-wrap: anywhere;
}

.wiki-record a,
.wiki-page a {
color: #174f72;
}

.wiki-index {
margin: 0 0 1.5rem;
overflow: hidden;
border: 1px solid var(--wiki-line, var(--ew-border));
border-radius: 11px;
background: linear-gradient(145deg, var(--wiki-paper, var(--ew-paper-light)), var(--wiki-paper-alt, var(--ew-paper)));
}

.wiki-index__heading {
padding: 0.8rem 1rem 0.7rem;
color: var(--wiki-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.15rem;
font-weight: 700;
text-align: center;
}

.wiki-index__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
background: var(--wiki-line, var(--ew-border));
}

.wiki-index__grid > div {
min-width: 0;
background: rgba(250, 247, 240, 0.96);
}

.wiki-index__grid a {
display: block;
min-height: 56px;
padding: 0.72rem 0.85rem;
color: inherit;
text-decoration: none;
}

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

.wiki-index__grid span {
color: var(--wiki-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.76rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

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

.wiki-article-layout__main .toc,
.wiki-article-layout__main #toc {
float: none !important;
box-sizing: border-box !important;
width: min(100%, 300px) !important;
max-width: 100% !important;
margin: 0 0 1.5rem !important;
}

.wiki-page > .wiki-page__body {
display: block;
clear: both;
box-sizing: border-box;
width: 100%;
max-width: none;
min-width: 0;
}

.wiki-page__body h2 {
display: flex;
gap: 0.75rem;
align-items: center;
margin: 2.35rem 0 1rem;
border-bottom: 0;
color: var(--wiki-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.75rem;
font-weight: 700;
}

.wiki-page__body h2::after {
content: "";
flex: 1;
height: 1px;
background: linear-gradient(90deg, var(--wiki-accent, var(--ew-gold)), transparent);
}

.wiki-page__body h3 {
color: var(--wiki-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
}

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

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

.wiki-card {
min-width: 0;
padding: 1rem;
border: 1px solid var(--wiki-line, var(--ew-border));
border-top: 4px solid var(--wiki-accent, var(--ew-gold));
border-radius: 9px;
background: linear-gradient(145deg, var(--wiki-paper, var(--ew-paper-light)), rgba(255, 255, 255, 0.55));
box-shadow: 0 5px 14px rgba(45, 38, 32, 0.08);
}

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

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

.wiki-process {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
margin: 1rem 0 1.75rem;
counter-reset: none;
}

.wiki-process > div {
position: relative;
min-width: 0;
padding: 1.1rem;
border: 1px solid var(--wiki-line, var(--ew-border));
border-radius: 9px;
background: linear-gradient(145deg, var(--wiki-paper, var(--ew-paper-light)), rgba(255, 255, 255, 0.55));
}

.wiki-process > div > span {
display: grid;
place-items: center;
width: 2rem;
height: 2rem;
margin-bottom: 0.55rem;
color: white;
border-radius: 50%;
background: var(--wiki-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
font-weight: 700;
}

.wiki-process h3 {
margin: 0 0 0.3rem;
}

.wiki-process p {
margin: 0;
}

.wiki-figure {
box-sizing: border-box;
margin: 1.35rem 0 1.9rem;
overflow: hidden;
border: 1px solid var(--wiki-line, var(--ew-border));
border-radius: 10px;
background: var(--wiki-paper, var(--ew-paper-light));
box-shadow: 0 8px 20px rgba(40, 34, 30, 0.14);
}

.wiki-figure .mw-file-description,
.wiki-figure .mw-file-element {
display: block;
width: 100% !important;
max-width: none !important;
}

.wiki-figure .mw-file-element {
height: clamp(220px, 31vw, 430px);
object-fit: cover;
}

.wiki-figure__caption {
padding: 0.65rem 0.9rem 0.72rem;
color: var(--wiki-muted, #6f665d);
background: linear-gradient(135deg, var(--wiki-paper, var(--ew-paper-light)), var(--wiki-paper-alt, var(--ew-paper)));
font-size: 0.94rem;
font-style: italic;
line-height: 1.35;
}

.wiki-quote {
margin: 1.25rem 0;
padding: 0.95rem 1.05rem;
border: 1px solid var(--wiki-line, var(--ew-border));
border-left: 5px solid var(--wiki-accent, var(--ew-gold));
border-radius: 8px;
background: linear-gradient(135deg, var(--wiki-paper, var(--ew-paper-light)), var(--wiki-paper-alt, var(--ew-paper)));
color: var(--wiki-deep, var(--ew-dark-2));
font-size: 1.08rem;
font-style: italic;
}

.wiki-quote p {
margin: 0;
}

.wiki-quote cite {
display: block;
margin-top: 0.35rem;
color: var(--wiki-muted, #6f665d);
font-size: 0.9rem;
font-style: normal;
text-align: right;
}

.wiki-table {
width: 100%;
margin: 1rem 0 1.6rem;
border-collapse: collapse;
background: rgba(248, 245, 238, 0.86);
}

.wiki-table th {
color: #fff8ee;
background: var(--wiki-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
text-align: left;
}

.wiki-table th,
.wiki-table td {
padding: 0.65rem 0.75rem;
border: 1px solid var(--wiki-line, var(--ew-border));
vertical-align: top;
}

@media (max-width: 1050px) {
.wiki-card-grid--three,
.wiki-index__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
}
}

@media (max-width: 950px) {
.wiki-article-layout {
grid-template-columns: minmax(0, 1fr);
gap: 1.5rem;
}

.wiki-article-layout__rail {
grid-column: 1;
grid-row: 1;
}

.wiki-article-layout__main {
grid-column: 1;
grid-row: 2;
}

.wiki-article-layout__rail .wiki-record {
width: min(100%, 580px);
margin: 0 auto;
}

.wiki-page {
width: calc(100vw - var(--ew-sidebar) - 48px) !important;
}
}

@media (max-width: 760px) {
.wiki-hero {
height: 250px !important;
min-height: 250px !important;
max-height: 250px !important;
border-radius: 10px !important;
}

.wiki-hero__overlay {
padding: 1.25rem !important;
}

.wiki-index__grid,
.wiki-card-grid,
.wiki-card-grid--three,
.wiki-process {
grid-template-columns: 1fr;
}

.wiki-record__rows > div {
grid-template-columns: 1fr;
gap: 0.15rem;
}

.wiki-table {
display: block;
overflow-x: auto;
}
}

@media (max-width: 700px) {
.wiki-page {
width: calc(100vw - 48px) !important;
}
}

/* Desktop records use traditional wiki flow. The record is first in the
source, floats at the top-right and article text continues beside it until
the record ends. This prevents both a blank wall and a record postponed to
the bottom of a long page. */
@media (min-width: 951px) {
.wiki-article-layout {
display: block;
}

.wiki-article-layout__rail {
float: right;
box-sizing: border-box;
width: 370px;
max-width: 34%;
margin: 0 0 1.5rem 2rem;
}

.wiki-article-layout__main {
display: block;
min-width: 0;
}

.wiki-page__body {
clear: none !important;
}

.wiki-page::after {
content: "";
display: block;
clear: both;
}
}


/* ========================================================================
END ERINDAL WIKI COMMON.CSS v6.0
======================================================================== */

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;
  }
}