MediaWiki:Common.css: Difference between revisions
From HADES
Jump to navigationJump to search
Possession (talk | contribs) No edit summary |
Possession (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
/* | /* ================================================================ | ||
H A D E S — MediaWiki:Common.css | |||
Based on the 2026 album "Hades" | |||
Baroque gothic · candlelit mahogany · rose-gold shrine | |||
================================================================ */ | |||
/* | /* ── GOOGLE FONTS ─────────────────────────────────────────────── */ | ||
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;600;700&family=IM+Fell+English:ital@0;1&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=UnifrakturMaguntia&family=Playfair+Display+SC:wght@400;700&family=Petit+Formal+Script&display=swap'); | |||
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400 | |||
/* | /* ── ONLINEWEBFONTS ───────────────────────────────────────────── */ | ||
/* Rothenburg Decorative — ornate gothic caps */ | |||
@font-face { | |||
font-family: 'RothenburgDecorative'; | |||
- | src: url('https://db.onlinewebfonts.com/t/a2a1ffe66c3aa67e462ccd5a66c56b62.woff2') format('woff2'), | ||
url('https://db.onlinewebfonts.com/t/a2a1ffe66c3aa67e462ccd5a66c56b62.woff') format('woff'); | |||
font-display: swap; | |||
- | |||
} | } | ||
/* MedievalSharp — blackletter decorative */ | |||
/* | @font-face { | ||
font-family: 'MedievalSharp'; | |||
src: url('https://db.onlinewebfonts.com/t/1e5a1c6a58aed05f7c23d8b6c4d22b1d.woff2') format('woff2'), | |||
@ | url('https://db.onlinewebfonts.com/t/1e5a1c6a58aed05f7c23d8b6c4d22b1d.woff') format('woff'); | ||
font-display: swap; | |||
} | } | ||
/* GothicUltraOT — heavy gothic */ | |||
@ | @font-face { | ||
font-family: 'GothicUltra'; | |||
src: url('https://db.onlinewebfonts.com/t/ec70a8b001c29e3f95b6f1b97049ef5e.woff2') format('woff2'), | |||
url('https://db.onlinewebfonts.com/t/ec70a8b001c29e3f95b6f1b97049ef5e.woff') format('woff'); | |||
font-display: swap; | |||
} | } | ||
/* Cantique — baroque script serif */ | |||
@ | @font-face { | ||
font-family: 'Cantique'; | |||
src: url('https://db.onlinewebfonts.com/t/c8a7fd3c8c2ab2c21f7e7a44e3a12bfe.woff2') format('woff2'), | |||
url('https://db.onlinewebfonts.com/t/c8a7fd3c8c2ab2c21f7e7a44e3a12bfe.woff') format('woff'); | |||
font-display: swap; | |||
} | } | ||
/* ── DESIGN TOKENS ───────────────────────────────────────────── */ | |||
:root { | |||
/* ── backgrounds */ | |||
--h-bg: #0b0704; | |||
--h-bg2: #150e08; | |||
--h-bg3: #1e1208; | |||
--h-panel: #0f0905; | |||
--h-mirror: #100808; | |||
/* ── borders */ | |||
--h-border: #3a1e0c; | |||
--h-border2: #6b3a18; | |||
--h-border3: #8a5a28; | |||
/* ── gold palette */ | |||
--h-gold: #c8860a; | |||
--h-gold2: #e8b030; | |||
--h-gold3: #f8d060; | |||
--h-gold-dim: #7a4e10; | |||
--h-gold-deep: #3e2408; | |||
/* ── rose / candle palette */ | |||
--h-rose: #a84858; | |||
--h-rose2: #d08090; | |||
--h-rose3: #f0b0c0; | |||
--h-candle: #f8c840; | |||
--h-flame: #ff7010; | |||
--h-wax: #f2ede0; | |||
--h-wax2: #d8d0c0; | |||
/* ── blue-lavender (hair accent) */ | |||
--h-blue: #6878a8; | |||
--h-blue2: #90a0c8; | |||
/* ── text */ | |||
--h-text: #e0ceb0; | |||
--h-text-dim: #9a7a50; | |||
--h-text-muted: #5a3e28; | |||
--h-cream: #f0e8d0; | |||
/* ── glows */ | |||
--h-glow-gold: 0 0 20px rgba(200, 134, 10, 0.55), 0 0 40px rgba(200, 134, 10, 0.2); | |||
--h-glow-rose: 0 0 16px rgba(208, 128, 144, 0.45); | |||
--h-glow-candle:0 0 24px rgba(248, 200, 64, 0.5), 0 0 50px rgba(248, 200, 64, 0.15); | |||
/* ── fonts */ | |||
--h-font-title: 'UnifrakturMaguntia', 'RothenburgDecorative', cursive; | |||
--h-font-head: 'Cinzel Decorative', 'GothicUltra', serif; | |||
--h-font-subhead: 'Cinzel', 'Playfair Display SC', serif; | |||
--h-font-body: 'IM Fell English', 'Cormorant Garamond', serif; | |||
--h-font-label: 'Playfair Display SC', 'Cinzel', serif; | |||
--h-font-script: 'Petit Formal Script', 'Cantique', cursive; | |||
} | } | ||
/* ── SCROLLBAR ──────────────────────────────────────────────── */ | |||
html { | |||
scrollbar-color: var(--h-border2) var(--h-bg2); | |||
scrollbar-width: thin; | |||
} | } | ||
::-webkit-scrollbar { width: 8px; } | |||
::-webkit-scrollbar-track { background: var(--h-bg2); } | |||
::-webkit-scrollbar-thumb { | |||
background: linear-gradient(to bottom, var(--h-gold-dim), var(--h-border2)); | |||
border-radius: 1px; | |||
} | } | ||
/* | /* ── BODY & BASE ────────────────────────────────────────────── */ | ||
body { | |||
background-color: var(--h-bg) !important; | |||
body | color: var(--h-text) !important; | ||
font-family: var(--h-font-body) !important; | |||
background-color: var(-- | font-size: 16px; | ||
line-height: 1.8; | |||
/* Damask background pattern + radial warm glow */ | |||
background-image: | background-image: | ||
radial-gradient(ellipse at 50% 0%, rgba(40, | url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cdefs%3E%3Cstyle%3E.d%7Bfill:none;stroke:%23c8860a;stroke-width:0.4;opacity:0.07%7D%3C/style%3E%3C/defs%3E%3Cellipse class='d' cx='60' cy='30' rx='10' ry='18'/%3E%3Cellipse class='d' cx='60' cy='90' rx='10' ry='18'/%3E%3Cellipse class='d' cx='30' cy='60' rx='18' ry='10'/%3E%3Cellipse class='d' cx='90' cy='60' rx='18' ry='10'/%3E%3Cpath class='d' d='M60,12 Q72,30 60,48 Q48,30 60,12Z'/%3E%3Cpath class='d' d='M60,72 Q72,90 60,108 Q48,90 60,72Z'/%3E%3Cpath class='d' d='M12,60 Q30,72 48,60 Q30,48 12,60Z'/%3E%3Cpath class='d' d='M72,60 Q90,72 108,60 Q90,48 72,60Z'/%3E%3Ccircle class='d' cx='60' cy='60' r='6'/%3E%3Ccircle class='d' cx='30' cy='30' r='3'/%3E%3Ccircle class='d' cx='90' cy='30' r='3'/%3E%3Ccircle class='d' cx='30' cy='90' r='3'/%3E%3Ccircle class='d' cx='90' cy='90' r='3'/%3E%3C/svg%3E"), | ||
radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200,134,10,0.08) 0%, transparent 65%), | |||
radial-gradient(ellipse 60% 40% at 50% 100%, rgba(168,72,88,0.06) 0%, transparent 60%); | |||
cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12,2 L14,9 L21,9 L15.5,13.5 L17.5,21 L12,16.5 L6.5,21 L8.5,13.5 L3,9 L10,9Z' fill='%23c8860a' opacity='0.7' stroke='%23e8b030' stroke-width='0.5'/%3E%3C/svg%3E") 12 12, auto; | |||
} | } | ||
/* | /* Grain texture overlay */ | ||
body::before { | body::before { | ||
content: ''; | content: ''; | ||
position: fixed; | position: fixed; | ||
inset: 0; | inset: 0; | ||
background-image: | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.028'/%3E%3C/svg%3E"); | ||
pointer-events: none; | pointer-events: none; | ||
z-index: | z-index: 9997; | ||
} | } | ||
/* | /* Vignette */ | ||
body::after { | |||
content: ''; | |||
position: fixed; | |||
inset: 0; | |||
background: radial-gradient( | |||
ellipse 110% 110% at 50% 50%, | |||
transparent 40%, | |||
rgba(5, 2, 0, 0.65) 100% | |||
); | |||
pointer-events: none; | |||
z-index: 9996; | |||
animation: h-breathe 8s ease-in-out infinite; | |||
} | } | ||
.mw- | /* ── TYPOGRAPHY ─────────────────────────────────────────────── */ | ||
h1, h2, h3, h4, h5, h6, | |||
.firstHeading, #firstHeading, .mw-headline { | |||
font-family: var(--h-font-head) !important; | |||
color: var(--h-gold2) !important; | |||
text-shadow: var(--h-glow-gold) !important; | |||
letter-spacing: 0.05em; | |||
line-height: 1.3; | |||
} | } | ||
/* | /* Page title — gothic grandeur */ | ||
h1, .firstHeading, #firstHeading { | |||
font-family: var(--h-font-title) !important; | |||
font-size: 2.6em !important; | |||
color: var(--h-gold3) !important; | |||
. | text-shadow: | ||
0 0 30px rgba(248,200,64,0.6), | |||
# | 0 0 60px rgba(200,134,10,0.3), | ||
2px 4px 8px rgba(0,0,0,0.9) !important; | |||
border-bottom: none !important; | |||
padding-bottom: 0.4em !important; | |||
color: var(-- | |||
position: relative; | position: relative; | ||
/* Ornamental border under title */ | |||
background-image: | |||
linear-gradient(to right, transparent, var(--h-gold-dim), var(--h-gold), var(--h-gold-dim), transparent); | |||
background-position: 0 100%; | |||
background-size: 100% 1px; | |||
background-repeat: no-repeat; | |||
animation: h-title-flicker 6s ease-in-out infinite; | |||
} | } | ||
/* Ornamental crown before/after title */ | |||
# | h1::before, #firstHeading::before { | ||
content: '✦'; | |||
color: var(-- | color: var(--h-gold); | ||
font-family: serif; | |||
margin-right: 0.4em; | |||
opacity: 0.8; | |||
animation: h-flicker 4s infinite; | |||
font-size: 0.55em; | |||
vertical-align: middle; | |||
} | } | ||
h1::after, #firstHeading::after { | |||
content: '✦'; | |||
color: var(--h-gold); | |||
# | font-family: serif; | ||
margin-left: 0.4em; | |||
color: var(-- | opacity: 0.8; | ||
animation: h-flicker 4s 0.5s infinite; | |||
font-size: 0.55em; | |||
vertical-align: middle; | |||
} | } | ||
h2 { | |||
font-size: 1.6em !important; | |||
border-bottom: 1px solid var(--h-border2) !important; | |||
padding-bottom: 0.25em !important; | |||
border-bottom: 1px solid | |||
position: relative; | position: relative; | ||
} | } | ||
h2::after { | |||
content: ''; | content: ''; | ||
position: absolute; | position: absolute; | ||
bottom: -1px; | bottom: -1px; left: 0; | ||
width: 60px; height: 1px; | |||
background: var(--h-gold); | |||
box-shadow: 0 0 8px var(--h-gold); | |||
background: | |||
} | } | ||
h3 { font-size: 1.3em !important; color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose) !important; } | |||
h4 { font-size: 1.1em !important; color: var(--h-gold) !important; font-family: var(--h-font-subhead) !important; } | |||
p { | |||
font-family: var(--h-font-body); | |||
color: var(--h-text); | |||
line-height: 1.85; | |||
margin-bottom: 1em; | |||
height: | |||
} | } | ||
/* First letter drop cap */ | |||
.mw- | .mw-parser-output > p:first-of-type::first-letter { | ||
font-family: var(--h-font-title); | |||
font-size: 3.8em; | |||
float: left; | |||
line-height: 0.75; | |||
margin: 0.08em 0.1em 0 0; | |||
color: var(--h-gold2); | |||
text- | text-shadow: var(--h-glow-gold); | ||
} | } | ||
/* | /* ── LINKS ──────────────────────────────────────────────────── */ | ||
a, a:visited { | |||
color: var(--h-gold2) !important; | |||
text-decoration: none !important; | |||
transition: color 0.25s, text-shadow 0.25s; | |||
} | |||
a:hover { | |||
color: var(--h-gold3) !important; | |||
text-shadow: 0 0 12px rgba(248,200,64,0.6) !important; | |||
} | } | ||
a.new, a.new:visited { color: var(--h-rose) !important; } | |||
a.new:hover { color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose) !important; } | |||
/* | /* Remove underline pseudo-element from previous theme if inherited */ | ||
a::after { display: none !important; } | |||
} | |||
/* | /* ── LAYOUT WRAPPER ────────────────────────────────────────── */ | ||
#mw-page-base, #mw-head-base { background: var(--h-bg) !important; } | |||
#mw-wrapper, #content-wrapper { background: transparent !important; } | |||
} | |||
/* | /* ── HEADER — safe; only colours, no structural changes ──── */ | ||
#mw-head, | |||
.mw- | .mw-header, | ||
header#mw-header { | |||
background: var(--h-panel) !important; | |||
border-bottom: 1px solid var(--h-border2) !important; | |||
box-shadow: 0 3px 24px rgba(0,0,0,0.7), 0 1px 0 rgba(200,134,10,0.15) !important; | |||
/* NO position/display/flex changes */ | |||
} | } | ||
/* Site title */ | |||
.mw- | #p-wiki-name a, | ||
. | .mw-wiki-title, | ||
.sitetitle, | |||
#site-navigation .wiki-title { | |||
font-family: var(--h-font-title) !important; | |||
color: var(--h-gold2) !important; | |||
font-size: 1.5em !important; | |||
text-shadow: var(--h-glow-gold) !important; | |||
letter-spacing: 0.06em !important; | |||
} | } | ||
/* | /* ── SEARCH BAR — colour only, preserve structure ─────────── */ | ||
#searchInput, | #searchInput, | ||
input[name="search"], | |||
. | .cdx-text-input__input, | ||
background: | .mw-search-input { | ||
border: 1px solid | background: var(--h-bg3) !important; | ||
border: 1px solid var(--h-border2) !important; | |||
color: | color: var(--h-text) !important; | ||
font-family: | font-family: var(--h-font-body) !important; | ||
font-size: | font-size: 0.95em !important; | ||
/* NO width/height/position changes */ | |||
transition: | transition: border-color 0.2s, box-shadow 0.2s; | ||
} | } | ||
#searchInput:focus, | #searchInput:focus, | ||
. | .cdx-text-input__input:focus { | ||
border-color: var(-- | border-color: var(--h-gold) !important; | ||
box-shadow: 0 0 | box-shadow: 0 0 10px rgba(200,134,10,0.4) !important; | ||
outline: none !important; | outline: none !important; | ||
} | } | ||
/* Search button */ | /* Search button */ | ||
#searchButton, | #searchButton, | ||
. | .cdx-button, | ||
. | .mw-search-button { | ||
background: | background: var(--h-bg3) !important; | ||
border: | border: 1px solid var(--h-border2) !important; | ||
color: | color: var(--h-gold) !important; | ||
font-family: var(--h-font-label) !important; | |||
font-size: 0.8em !important; | |||
transition: all 0.2s | letter-spacing: 0.05em; | ||
cursor: pointer; | |||
transition: all 0.2s; | |||
} | } | ||
#searchButton:hover, | #searchButton:hover, | ||
. | .cdx-button:hover { | ||
border-color: var(--h-gold) !important; | |||
box-shadow: | box-shadow: var(--h-glow-gold) !important; | ||
} | } | ||
/* | /* ── TOOLBAR (page tabs) — colour only ─────────────────────── */ | ||
#p-views .mw-list-item a, | |||
.mw-portlet-views a, | |||
#mw- | #p-cactions a, | ||
.vector-tab-noicon a { | |||
background: transparent !important; | |||
color: var(--h-text-dim) !important; | |||
font-family: var(--h-font-label) !important; | |||
font-size: 0.78em !important; | |||
font-size: | text-transform: uppercase; | ||
letter-spacing: 0.12em; | |||
border: 1px solid transparent !important; | |||
padding: 0.3em 0.7em !important; | |||
transition: all 0.2s; | |||
/* NO position/display changes */ | |||
} | } | ||
#p-views .mw-list-item a:hover, | |||
.mw-portlet-views a:hover { | |||
background: rgba(200,134,10,0.08) !important; | |||
border-color: var(--h-border2) !important; | |||
color: var(--h-gold2) !important; | |||
# | |||
. | |||
} | } | ||
#p-views .selected a, | |||
# | .mw-portlet-views .selected a { | ||
background: rgba(200,134,10,0.12) !important; | |||
border-color: var(--h-gold-dim) !important; | |||
color: var(--h-gold2) !important; | |||
} | } | ||
/* | /* ── SIDEBAR — colour only, NO dimension changes ───────────── */ | ||
#mw-panel, | |||
.mw-sidebar, | |||
#sidebar, | |||
#mw-navigation, | |||
.sidebar-inner { | |||
background: var(--h-panel) !important; | |||
border- | border-right: 1px solid var(--h-border) !important; | ||
/* NO width/height/position changes */ | |||
position | |||
} | } | ||
.mw-portlet, | |||
.portal, | |||
div.portal { | |||
background: rgba(255,255,255,0.015) !important; | |||
border: 1px solid var(--h-border) !important; | |||
border-radius: 1px !important; | |||
margin-bottom: 0.8em !important; | |||
padding: 0.4em 0.5em !important; | |||
} | } | ||
.mw-portlet h3, .portal h3, .mw-portlet-heading { | |||
color: | font-family: var(--h-font-label) !important; | ||
font-size: 0.72em !important; | |||
color: var(--h-gold-dim) !important; | |||
text-transform: uppercase !important; | |||
letter-spacing: 0.18em !important; | |||
text-shadow: none !important; | |||
border-bottom: 1px solid var(--h-border) !important; | |||
padding-bottom: 0.35em !important; | |||
margin-bottom: 0.35em !important; | |||
} | } | ||
.mw-portlet ul li a, | |||
font-family | .portal ul li a { | ||
font-family: var(--h-font-body) !important; | |||
font-size: | font-size: 0.9em !important; | ||
color: var(--h-text-dim) !important; | |||
display: block; | |||
padding: 0.12em 0.4em !important; | |||
transition: all 0.2s; | |||
border-radius: 1px; | |||
} | } | ||
.mw-portlet ul li a:hover, | |||
.portal ul li a:hover { | |||
background: rgba(200,134,10,0.07) !important; | |||
color: var(-- | color: var(--h-gold) !important; | ||
padding-left: 0.8em !important; | |||
text-shadow: 0 0 8px rgba(200,134,10,0.3) !important; | |||
} | } | ||
.mw-portlet ul li a::after { display: none !important; } | |||
/* | /* ── MAIN CONTENT AREA ──────────────────────────────────────── */ | ||
#mw-content-text, | |||
.mw-body, | |||
#content, | |||
.page-content { | |||
background: rgba(21, 14, 8, 0.9) !important; | |||
border: 1px solid var(--h-border) !important; | |||
box-shadow: | |||
0 0 60px rgba(0,0,0,0.5), | |||
inset 0 0 80px rgba(0,0,0,0.3), | |||
0 0 0 3px rgba(200,134,10,0.04) !important; | |||
padding: 2em 2.2em !important; | |||
position: relative; | |||
} | } | ||
/* | /* Gothic arch corner ornaments */ | ||
#mw-content-text::before, #content::before { | |||
content: ''; | |||
position: absolute; | |||
top: 0; left: 0; | |||
width: 48px; height: 48px; | |||
border-top: 1px solid var(--h-gold-dim); | |||
border-left: 1px solid var(--h-gold-dim); | |||
pointer-events: none; | |||
border- | |||
opacity: 0.6; | opacity: 0.6; | ||
} | } | ||
#mw-content-text::after, #content::after { | |||
content: ''; | |||
position: absolute; | |||
bottom: 0; right: 0; | |||
# | width: 48px; height: 48px; | ||
border-bottom: 1px solid var(--h-rose); | |||
border-right: 1px solid var(--h-rose); | |||
pointer-events: none; | |||
opacity: 0.4; | |||
} | } | ||
/* ── TABLES ─────────────────────────────────────────────────── */ | |||
table.wikitable, | |||
table.wikitable > * > tr > th, | |||
table.wikitable > * > tr > td { | |||
background: rgba(21,14,8,0.92) !important; | |||
border-color: var(--h-border2) !important; | |||
color: var(--h-text) !important; | |||
} | } | ||
table.wikitable > * > tr > th { | |||
background: rgba(62,36,8,0.6) !important; | |||
font-family: var(--h-font-label) !important; | |||
color: var(--h-gold2) !important; | |||
letter-spacing: 0.06em; | |||
font-size: 0.88em; | |||
} | } | ||
table.wikitable > * > tr:nth-child(even) > td { | |||
background: rgba(255,255,255,0.02) !important; | |||
} | } | ||
table.wikitable > * > tr:hover > td { | |||
. | background: rgba(200,134,10,0.05) !important; | ||
} | } | ||
. | /* ── INFOBOXES ──────────────────────────────────────────────── */ | ||
.portable-infobox, | |||
font- | aside.portable-infobox, | ||
table.infobox, | |||
.infobox { | |||
background: var(--h-bg2) !important; | |||
border: 1px solid var(--h-border2) !important; | |||
font-family: var(--h-font-body) !important; | |||
color: var(--h-text) !important; | |||
box-shadow: | |||
0 0 40px rgba(0,0,0,0.5), | |||
inset 0 0 30px rgba(0,0,0,0.2), | |||
0 0 0 1px rgba(200,134,10,0.08) !important; | |||
position: relative; | |||
overflow: hidden; | |||
} | } | ||
/* Warm candle glow at top of infobox */ | |||
.portable-infobox::before, | |||
table.infobox::before { | |||
content: ''; | |||
position: absolute; | |||
top: -30px; left: 50%; | |||
transform: translateX(-50%); | |||
width: 200px; height: 80px; | |||
background: radial-gradient(ellipse, rgba(248,200,64,0.12) 0%, transparent 70%); | |||
pointer-events: none; | |||
animation: h-candle-glow 3s ease-in-out infinite; | |||
/* | |||
.infobox, | |||
table. | |||
background: | |||
} | } | ||
.pi-title, .pi-header, | |||
.infobox caption, .infobox th[colspan] { | |||
background: rgba(62,36,8,0.7) !important; | |||
font-family: var(--h-font-head) !important; | |||
color: var(--h-gold3) !important; | |||
text-shadow: var(--h-glow-candle) !important; | |||
font-size: 1em !important; | |||
text-align: center !important; | text-align: center !important; | ||
padding: 0 !important; | padding: 0.7em !important; | ||
letter-spacing: 0.08em; | |||
border-bottom: 1px solid var(--h-border2) !important; | |||
} | } | ||
.pi-data-label, .infobox th { | |||
.infobox | color: var(--h-gold) !important; | ||
font-family: var(--h-font-label) !important; | |||
font-size: 0.78em !important; | |||
text-transform: uppercase; | |||
letter-spacing: 0.08em; | |||
background: rgba(0,0,0,0.2) !important; | |||
} | } | ||
.pi-data-value, .infobox td { | |||
.infobox | color: var(--h-text) !important; | ||
border-color: var(--h-border) !important; | |||
background: transparent !important; | |||
} | } | ||
.pi-image { border-bottom: 1px solid var(--h-border) !important; } | |||
/* | /* ── TOC ─────────────────────────────────────────────────────── */ | ||
#toc, .toc { | |||
background: rgba(21,14,8,0.95) !important; | |||
border: 1px solid var(--h-border2) !important; | |||
padding: 1em 1.4em !important; | |||
. | |||
background: | |||
border: 1px | |||
padding: | |||
position: relative; | position: relative; | ||
} | } | ||
#toc::before, .toc::before { | |||
content: ''; | |||
content: ' | |||
position: absolute; | position: absolute; | ||
inset: 4px; | |||
border: 1px solid rgba(200,134,10,0.1); | |||
pointer-events: none; | |||
} | } | ||
.toctitle, #toc .toctitle { | |||
font-family: var(--h-font-label) !important; | |||
color: var(--h-gold2) !important; | |||
font-size: 0.82em !important; | |||
text-transform: uppercase; | |||
letter-spacing: 0.15em; | |||
font-size: | |||
} | } | ||
.toc a { color: var(--h-text-dim) !important; font-family: var(--h-font-body) !important; } | |||
.toc a:hover { color: var(--h-gold2) !important; } | |||
.tocnumber { color: var(--h-text-muted) !important; } | |||
/* ── CATEGORIES ─────────────────────────────────────────────── */ | |||
#catlinks, .catlinks { | |||
background: var(--h-bg2) !important; | |||
border-top: 1px solid var(--h-border) !important; | |||
font-family: var(--h-font-label) !important; | |||
font-size: 0.78em !important; | |||
color: var(--h-text-muted) !important; | |||
font-family: | margin-top: 2em !important; | ||
padding: 0.5em 1em !important; | |||
letter-spacing: 0.04em; | |||
font-size: | |||
color: var(-- | |||
padding: | |||
letter-spacing: | |||
} | } | ||
.catlinks a { color: var(--h-rose2) !important; } | |||
.catlinks a:hover { color: var(--h-rose3) !important; } | |||
. | /* ── EDIT INTERFACE ────────────────────────────────────────── */ | ||
#toolbar, .wikiEditor-ui-toolbar { | |||
background: var(--h-bg3) !important; | |||
border-color: | border-color: var(--h-border) !important; | ||
} | } | ||
#wpTextbox1, textarea.mw-editTextarea { | |||
background: var(--h-mirror) !important; | |||
color: var(--h-text) !important; | |||
border: 1px solid var(--h-border2) !important; | |||
# | |||
background: | |||
border- | |||
font-family: 'IM Fell English', serif !important; | font-family: 'IM Fell English', serif !important; | ||
font-size: 1em !important; | |||
caret-color: var(--h-gold); | |||
line-height: 1.7; | |||
} | } | ||
#wpTextbox1:focus { border-color: var(--h-gold-dim) !important; outline: none !important; } | |||
.wikiEditor-ui { background: var(--h-bg2) !important; } | |||
/* ── BUTTONS ────────────────────────────────────────────────── */ | |||
.mw-ui-button, | |||
input[type="submit"], | |||
input[type="button"], | |||
button.mw-ui-button { | |||
background: var(--h-bg3) !important; | |||
color: var(--h-gold2) !important; | |||
border: 1px solid var(--h-border2) !important; | |||
font-family: var(--h-font-label) !important; | |||
font-size: 0.82em !important; | |||
letter-spacing: 0.1em; | |||
font-family: | |||
font-size: | |||
letter-spacing: | |||
text-transform: uppercase; | text-transform: uppercase; | ||
cursor: pointer; | |||
transition: all 0.25s; | |||
text-shadow: none !important; | |||
box-shadow: none !important; | |||
} | } | ||
.mw-ui-button:hover, | |||
input[type="submit"]:hover { | |||
background: rgba(200,134,10,0.12) !important; | |||
border-color: var(--h-gold) !important; | |||
box-shadow: var(--h-glow-gold) !important; | |||
background: | |||
border- | |||
} | } | ||
.mw-ui-button.mw-ui-primary { | |||
background: linear-gradient(135deg, rgba(62,36,8,0.8), rgba(100,58,18,0.6)) !important; | |||
border-color: var(--h-gold) !important; | |||
background: linear-gradient( | |||
} | } | ||
/* ── MESSAGES / NOTICES ─────────────────────────────────────── */ | |||
.mw-message-box, .warningbox, .ambox, .mbox-small { | |||
background: rgba(21,14,8,0.85) !important; | |||
border-left: 3px solid var(--h-gold-dim) !important; | |||
color: var(--h-text) !important; | |||
font-family: var(--h-font-body) !important; | |||
} | } | ||
.successbox { border-left-color: var(--h-rose) !important; } | |||
.errorbox { border-left-color: #6a1a1a !important; } | |||
/* ── CODE ───────────────────────────────────────────────────── */ | |||
code, pre, .mw-code { | |||
background: rgba(0,0,0,0.55) !important; | |||
border: 1px solid var(--h-border) !important; | |||
font-family: 'Courier New', monospace !important; | |||
font-size: 0.9em !important; | |||
color: var(--h-gold) !important; | |||
} | } | ||
pre { padding: 1em !important; overflow-x: auto; } | |||
/* ── DIFF ───────────────────────────────────────────────────── */ | |||
table.diff td.diff-addedline { background: rgba(168,72,88,0.08) !important; border-color: var(--h-rose) !important; } | |||
table.diff td.diff-deletedline { background: rgba(80,30,10,0.12) !important; border-color: var(--h-gold-dim) !important; } | |||
ins { background: rgba(168,72,88,0.12) !important; color: var(--h-rose2) !important; } | |||
del { background: rgba(80,30,10,0.15) !important; color: var(--h-text-muted) !important; } | |||
/* | /* ── BLOCKQUOTE ─────────────────────────────────────────────── */ | ||
blockquote { | |||
border-left: 2px solid var(--h-gold-dim) !important; | |||
margin: 1.2em 0 !important; | |||
. | padding: 0.6em 1.2em !important; | ||
background: rgba(200,134,10,0.03) !important; | |||
font- | color: var(--h-text-dim) !important; | ||
font-style: italic; | |||
font-family: var(--h-font-script) !important; | |||
font-size: 1.05em; | |||
} | } | ||
. | /* ── HORIZONTAL RULES ───────────────────────────────────────── */ | ||
background: | hr { | ||
border: none !important; | |||
height: 20px !important; | |||
margin: 1.5em 0 !important; | |||
background: | |||
linear-gradient(to right, transparent, var(--h-gold-dim), var(--h-gold), var(--h-gold-dim), transparent) | |||
center/100% 1px no-repeat, | |||
radial-gradient(circle, var(--h-gold) 0%, transparent 60%) | |||
center/12px 12px no-repeat !important; | |||
position: relative; | |||
} | } | ||
hr::after { | |||
content: '✦'; | |||
position: absolute; | |||
left: 50%; top: 50%; | |||
transform: translate(-50%, -50%); | |||
color: var(--h-gold); | |||
font-size: 0.8em; | |||
background: var(--h-bg2); | |||
padding: 0 0.5em; | |||
text-shadow: var(--h-glow-gold); | |||
animation: h-flicker 5s infinite; | |||
} | } | ||
. | /* ── IMAGES ─────────────────────────────────────────────────── */ | ||
background: | .thumb, figure.mw-halign-right, figure.mw-halign-left { | ||
border | background: var(--h-bg2) !important; | ||
border: 1px solid var(--h-border2) !important; | |||
padding: 5px !important; | |||
box-shadow: 0 0 20px rgba(0,0,0,0.5) !important; | |||
} | } | ||
.thumbcaption, figcaption { | |||
color: var(--h-text-dim) !important; | |||
font-family: var(--h-font-script) !important; | |||
font-size: 0.88em !important; | |||
font-style: italic; | |||
text-align: center; | |||
} | } | ||
img { | |||
filter: sepia(0.15) contrast(1.05); | |||
transition: filter 0.4s; | |||
} | } | ||
img:hover { | |||
filter: sepia(0.0) contrast(1.08) brightness(1.05); | |||
} | } | ||
/* | /* ── FOOTER ─────────────────────────────────────────────────── */ | ||
#footer, .mw-footer { | |||
background: var(--h-panel) !important; | |||
# | border-top: 1px solid var(--h-border) !important; | ||
background | color: var(--h-text-muted) !important; | ||
font-family: var(--h-font-label) !important; | |||
border: 1px solid | font-size: 0.75em !important; | ||
letter-spacing: 0.06em; | |||
font-family: | padding: 1em !important; | ||
font-size: | |||
padding: | |||
} | } | ||
#footer a, .mw-footer a { color: var(--h-text-dim) !important; } | |||
#footer a:hover { color: var(--h-gold) !important; } | |||
#footer li { list-style: none !important; } | |||
/* ── AMBIENT DECO LAYER ─────────────────────────────────────── */ | |||
.h-ambient { | |||
position: fixed; | |||
inset: 0; | |||
pointer-events: none; | |||
z-index: 0; | |||
overflow: hidden; | |||
} | } | ||
.h-candle-el { | |||
position: absolute; | |||
pointer-events: none; | |||
animation: h-float 8s ease-in-out infinite, h-flicker-opacity 3s ease-in-out infinite; | |||
} | } | ||
.h-arch-el { | |||
. | position: absolute; | ||
pointer-events: none; | |||
animation: h-arch-glow 6s ease-in-out infinite; | |||
} | } | ||
.h-petal { | |||
. | position: absolute; | ||
pointer-events: none; | |||
animation: h-petal-fall linear infinite; | |||
} | } | ||
.h-mote { | |||
. | |||
position: absolute; | position: absolute; | ||
pointer-events: none; | |||
width: 3px; height: 3px; | |||
border-radius: 50%; | border-radius: 50%; | ||
background: var(--h-gold3); | |||
animation: h-mote-drift ease-in-out infinite; | |||
} | |||
.h-damask-el { | |||
opacity: 0; | position: absolute; | ||
pointer-events: none; | |||
animation: h-damask-spin 40s linear infinite; | |||
opacity: 0.06; | |||
} | } | ||
/* ── ANIMATIONS ─────────────────────────────────────────────── */ | |||
@keyframes h-float { | |||
0%, 100% { transform: translateY(0px) rotate(0deg); } | |||
33% { transform: translateY(-10px) rotate(1.5deg); } | |||
66% { transform: translateY(-6px) rotate(-1deg); } | |||
} | } | ||
@keyframes h-flicker { | |||
0%, 85%, 100% { opacity: 0.8; } | |||
87% { opacity: 0.3; } | |||
89% { opacity: 0.8; } | |||
91% { opacity: 0.1; } | |||
93% { opacity: 0.9; } | |||
} | |||
} | } | ||
@keyframes h-flicker-opacity { | |||
0%, 100% { opacity: 0.12; } | |||
40% { opacity: 0.22; } | |||
: | 60% { opacity: 0.08; } | ||
} | } | ||
@keyframes h-title-flicker { | |||
0%, 90%, 100% { | |||
text-shadow: 0 0 30px rgba(248,200,64,0.6), 0 0 60px rgba(200,134,10,0.3), 2px 4px 8px rgba(0,0,0,0.9); | |||
} | |||
92% { | |||
text-shadow: 0 0 15px rgba(248,200,64,0.3), 0 0 30px rgba(200,134,10,0.1), 2px 4px 8px rgba(0,0,0,0.9); | |||
} | |||
94% { | |||
text-shadow: 0 0 40px rgba(248,200,64,0.8), 0 0 80px rgba(200,134,10,0.4), 2px 4px 8px rgba(0,0,0,0.9); | |||
} | |||
} | } | ||
@keyframes h-candle-glow { | |||
0%, 100% { opacity: 0.8; transform: translateX(-50%) scale(1); } | |||
50% { opacity: 0.5; transform: translateX(-50%) scale(1.15); } | |||
} | } | ||
@keyframes h-breathe { | |||
0%, 100% { opacity: 0.85; } | |||
50% { opacity: 0.65; } | |||
} | } | ||
@keyframes h-arch-glow { | |||
0%, 100% { filter: drop-shadow(0 0 8px rgba(200,134,10,0.15)); } | |||
50% { filter: drop-shadow(0 0 16px rgba(200,134,10,0.3)); } | |||
@ | |||
} | } | ||
@ | @keyframes h-petal-fall { | ||
0% { transform: translate(0, -20px) rotate(0deg); opacity: 0; } | |||
10% { opacity: 0.6; } | |||
90% { opacity: 0.3; } | |||
100% { transform: translate(var(--drift, 30px), 110vh) rotate(var(--rot, 360deg)); opacity: 0; } | |||
} | } | ||
@keyframes h-mote-drift { | |||
0% { transform: translate(0, 0); opacity: 0; } | |||
10% { opacity: 0.7; } | |||
90% { opacity: 0.3; } | |||
100% { transform: translate(var(--mx, 20px), var(--my, -80px)); opacity: 0; } | |||
} | } | ||
@keyframes h-damask-spin { | |||
from { transform: rotate(0deg); } | |||
to { transform: rotate(360deg); } | |||
} | } | ||
@keyframes h-wax-drip { | |||
0% { transform: scaleY(0); transform-origin: top; opacity: 1; } | |||
80% { transform: scaleY(1); opacity: 1; } | |||
100% { transform: scaleY(1); opacity: 0; } | |||
} | } | ||
@keyframes h-flame-dance { | |||
0%, 100% { transform: scaleX(1) scaleY(1) rotate(-1deg); } | |||
25% { transform: scaleX(0.9) scaleY(1.1) rotate(2deg); } | |||
50% { transform: scaleX(1.1) scaleY(0.95) rotate(-2deg); } | |||
75% { transform: scaleX(0.95) scaleY(1.05) rotate(1deg); } | |||
. | |||
} | } | ||
@keyframes h-spin-slow { | |||
from { transform: rotate(0deg); } | |||
to { transform: rotate(360deg); } | |||
} | } | ||
@keyframes h-pulse-rose { | |||
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(168,72,88,0.4)); } | |||
50% { transform: scale(1.08); filter: drop-shadow(0 0 12px rgba(208,128,144,0.6)); } | |||
} | } | ||
/* ── UTILITY CLASSES ────────────────────────────────────────── */ | |||
.h-gold { color: var(--h-gold2) !important; text-shadow: var(--h-glow-gold); } | |||
.h-rose { color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose); } | |||
} | .h-cream { color: var(--h-cream) !important; } | ||
.h-script { font-family: var(--h-font-script) !important; } | |||
.h-cinzel { font-family: var(--h-font-head) !important; } | |||
.h-fraktur { font-family: var(--h-font-title) !important; } | |||
.h-label { font-family: var(--h-font-label) !important; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.85em; } | |||
.h-float { animation: h-float 5s ease-in-out infinite !important; } | |||
.h-flicker { animation: h-flicker 4s infinite !important; } | |||
.h-glow-gold { text-shadow: var(--h-glow-gold) !important; } | |||
.h-glow-candle{ text-shadow: var(--h-glow-candle) !important; } | |||
Latest revision as of 01:19, 15 April 2026
/* ================================================================
H A D E S — MediaWiki:Common.css
Based on the 2026 album "Hades"
Baroque gothic · candlelit mahogany · rose-gold shrine
================================================================ */
/* ── GOOGLE FONTS ─────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;600;700&family=IM+Fell+English:ital@0;1&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=UnifrakturMaguntia&family=Playfair+Display+SC:wght@400;700&family=Petit+Formal+Script&display=swap');
/* ── ONLINEWEBFONTS ───────────────────────────────────────────── */
/* Rothenburg Decorative — ornate gothic caps */
@font-face {
font-family: 'RothenburgDecorative';
src: url('https://db.onlinewebfonts.com/t/a2a1ffe66c3aa67e462ccd5a66c56b62.woff2') format('woff2'),
url('https://db.onlinewebfonts.com/t/a2a1ffe66c3aa67e462ccd5a66c56b62.woff') format('woff');
font-display: swap;
}
/* MedievalSharp — blackletter decorative */
@font-face {
font-family: 'MedievalSharp';
src: url('https://db.onlinewebfonts.com/t/1e5a1c6a58aed05f7c23d8b6c4d22b1d.woff2') format('woff2'),
url('https://db.onlinewebfonts.com/t/1e5a1c6a58aed05f7c23d8b6c4d22b1d.woff') format('woff');
font-display: swap;
}
/* GothicUltraOT — heavy gothic */
@font-face {
font-family: 'GothicUltra';
src: url('https://db.onlinewebfonts.com/t/ec70a8b001c29e3f95b6f1b97049ef5e.woff2') format('woff2'),
url('https://db.onlinewebfonts.com/t/ec70a8b001c29e3f95b6f1b97049ef5e.woff') format('woff');
font-display: swap;
}
/* Cantique — baroque script serif */
@font-face {
font-family: 'Cantique';
src: url('https://db.onlinewebfonts.com/t/c8a7fd3c8c2ab2c21f7e7a44e3a12bfe.woff2') format('woff2'),
url('https://db.onlinewebfonts.com/t/c8a7fd3c8c2ab2c21f7e7a44e3a12bfe.woff') format('woff');
font-display: swap;
}
/* ── DESIGN TOKENS ───────────────────────────────────────────── */
:root {
/* ── backgrounds */
--h-bg: #0b0704;
--h-bg2: #150e08;
--h-bg3: #1e1208;
--h-panel: #0f0905;
--h-mirror: #100808;
/* ── borders */
--h-border: #3a1e0c;
--h-border2: #6b3a18;
--h-border3: #8a5a28;
/* ── gold palette */
--h-gold: #c8860a;
--h-gold2: #e8b030;
--h-gold3: #f8d060;
--h-gold-dim: #7a4e10;
--h-gold-deep: #3e2408;
/* ── rose / candle palette */
--h-rose: #a84858;
--h-rose2: #d08090;
--h-rose3: #f0b0c0;
--h-candle: #f8c840;
--h-flame: #ff7010;
--h-wax: #f2ede0;
--h-wax2: #d8d0c0;
/* ── blue-lavender (hair accent) */
--h-blue: #6878a8;
--h-blue2: #90a0c8;
/* ── text */
--h-text: #e0ceb0;
--h-text-dim: #9a7a50;
--h-text-muted: #5a3e28;
--h-cream: #f0e8d0;
/* ── glows */
--h-glow-gold: 0 0 20px rgba(200, 134, 10, 0.55), 0 0 40px rgba(200, 134, 10, 0.2);
--h-glow-rose: 0 0 16px rgba(208, 128, 144, 0.45);
--h-glow-candle:0 0 24px rgba(248, 200, 64, 0.5), 0 0 50px rgba(248, 200, 64, 0.15);
/* ── fonts */
--h-font-title: 'UnifrakturMaguntia', 'RothenburgDecorative', cursive;
--h-font-head: 'Cinzel Decorative', 'GothicUltra', serif;
--h-font-subhead: 'Cinzel', 'Playfair Display SC', serif;
--h-font-body: 'IM Fell English', 'Cormorant Garamond', serif;
--h-font-label: 'Playfair Display SC', 'Cinzel', serif;
--h-font-script: 'Petit Formal Script', 'Cantique', cursive;
}
/* ── SCROLLBAR ──────────────────────────────────────────────── */
html {
scrollbar-color: var(--h-border2) var(--h-bg2);
scrollbar-width: thin;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--h-bg2); }
::-webkit-scrollbar-thumb {
background: linear-gradient(to bottom, var(--h-gold-dim), var(--h-border2));
border-radius: 1px;
}
/* ── BODY & BASE ────────────────────────────────────────────── */
body {
background-color: var(--h-bg) !important;
color: var(--h-text) !important;
font-family: var(--h-font-body) !important;
font-size: 16px;
line-height: 1.8;
/* Damask background pattern + radial warm glow */
background-image:
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cdefs%3E%3Cstyle%3E.d%7Bfill:none;stroke:%23c8860a;stroke-width:0.4;opacity:0.07%7D%3C/style%3E%3C/defs%3E%3Cellipse class='d' cx='60' cy='30' rx='10' ry='18'/%3E%3Cellipse class='d' cx='60' cy='90' rx='10' ry='18'/%3E%3Cellipse class='d' cx='30' cy='60' rx='18' ry='10'/%3E%3Cellipse class='d' cx='90' cy='60' rx='18' ry='10'/%3E%3Cpath class='d' d='M60,12 Q72,30 60,48 Q48,30 60,12Z'/%3E%3Cpath class='d' d='M60,72 Q72,90 60,108 Q48,90 60,72Z'/%3E%3Cpath class='d' d='M12,60 Q30,72 48,60 Q30,48 12,60Z'/%3E%3Cpath class='d' d='M72,60 Q90,72 108,60 Q90,48 72,60Z'/%3E%3Ccircle class='d' cx='60' cy='60' r='6'/%3E%3Ccircle class='d' cx='30' cy='30' r='3'/%3E%3Ccircle class='d' cx='90' cy='30' r='3'/%3E%3Ccircle class='d' cx='30' cy='90' r='3'/%3E%3Ccircle class='d' cx='90' cy='90' r='3'/%3E%3C/svg%3E"),
radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200,134,10,0.08) 0%, transparent 65%),
radial-gradient(ellipse 60% 40% at 50% 100%, rgba(168,72,88,0.06) 0%, transparent 60%);
cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12,2 L14,9 L21,9 L15.5,13.5 L17.5,21 L12,16.5 L6.5,21 L8.5,13.5 L3,9 L10,9Z' fill='%23c8860a' opacity='0.7' stroke='%23e8b030' stroke-width='0.5'/%3E%3C/svg%3E") 12 12, auto;
}
/* Grain texture overlay */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.028'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 9997;
}
/* Vignette */
body::after {
content: '';
position: fixed;
inset: 0;
background: radial-gradient(
ellipse 110% 110% at 50% 50%,
transparent 40%,
rgba(5, 2, 0, 0.65) 100%
);
pointer-events: none;
z-index: 9996;
animation: h-breathe 8s ease-in-out infinite;
}
/* ── TYPOGRAPHY ─────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.firstHeading, #firstHeading, .mw-headline {
font-family: var(--h-font-head) !important;
color: var(--h-gold2) !important;
text-shadow: var(--h-glow-gold) !important;
letter-spacing: 0.05em;
line-height: 1.3;
}
/* Page title — gothic grandeur */
h1, .firstHeading, #firstHeading {
font-family: var(--h-font-title) !important;
font-size: 2.6em !important;
color: var(--h-gold3) !important;
text-shadow:
0 0 30px rgba(248,200,64,0.6),
0 0 60px rgba(200,134,10,0.3),
2px 4px 8px rgba(0,0,0,0.9) !important;
border-bottom: none !important;
padding-bottom: 0.4em !important;
position: relative;
/* Ornamental border under title */
background-image:
linear-gradient(to right, transparent, var(--h-gold-dim), var(--h-gold), var(--h-gold-dim), transparent);
background-position: 0 100%;
background-size: 100% 1px;
background-repeat: no-repeat;
animation: h-title-flicker 6s ease-in-out infinite;
}
/* Ornamental crown before/after title */
h1::before, #firstHeading::before {
content: '✦';
color: var(--h-gold);
font-family: serif;
margin-right: 0.4em;
opacity: 0.8;
animation: h-flicker 4s infinite;
font-size: 0.55em;
vertical-align: middle;
}
h1::after, #firstHeading::after {
content: '✦';
color: var(--h-gold);
font-family: serif;
margin-left: 0.4em;
opacity: 0.8;
animation: h-flicker 4s 0.5s infinite;
font-size: 0.55em;
vertical-align: middle;
}
h2 {
font-size: 1.6em !important;
border-bottom: 1px solid var(--h-border2) !important;
padding-bottom: 0.25em !important;
position: relative;
}
h2::after {
content: '';
position: absolute;
bottom: -1px; left: 0;
width: 60px; height: 1px;
background: var(--h-gold);
box-shadow: 0 0 8px var(--h-gold);
}
h3 { font-size: 1.3em !important; color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose) !important; }
h4 { font-size: 1.1em !important; color: var(--h-gold) !important; font-family: var(--h-font-subhead) !important; }
p {
font-family: var(--h-font-body);
color: var(--h-text);
line-height: 1.85;
margin-bottom: 1em;
}
/* First letter drop cap */
.mw-parser-output > p:first-of-type::first-letter {
font-family: var(--h-font-title);
font-size: 3.8em;
float: left;
line-height: 0.75;
margin: 0.08em 0.1em 0 0;
color: var(--h-gold2);
text-shadow: var(--h-glow-gold);
}
/* ── LINKS ──────────────────────────────────────────────────── */
a, a:visited {
color: var(--h-gold2) !important;
text-decoration: none !important;
transition: color 0.25s, text-shadow 0.25s;
}
a:hover {
color: var(--h-gold3) !important;
text-shadow: 0 0 12px rgba(248,200,64,0.6) !important;
}
a.new, a.new:visited { color: var(--h-rose) !important; }
a.new:hover { color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose) !important; }
/* Remove underline pseudo-element from previous theme if inherited */
a::after { display: none !important; }
/* ── LAYOUT WRAPPER ────────────────────────────────────────── */
#mw-page-base, #mw-head-base { background: var(--h-bg) !important; }
#mw-wrapper, #content-wrapper { background: transparent !important; }
/* ── HEADER — safe; only colours, no structural changes ──── */
#mw-head,
.mw-header,
header#mw-header {
background: var(--h-panel) !important;
border-bottom: 1px solid var(--h-border2) !important;
box-shadow: 0 3px 24px rgba(0,0,0,0.7), 0 1px 0 rgba(200,134,10,0.15) !important;
/* NO position/display/flex changes */
}
/* Site title */
#p-wiki-name a,
.mw-wiki-title,
.sitetitle,
#site-navigation .wiki-title {
font-family: var(--h-font-title) !important;
color: var(--h-gold2) !important;
font-size: 1.5em !important;
text-shadow: var(--h-glow-gold) !important;
letter-spacing: 0.06em !important;
}
/* ── SEARCH BAR — colour only, preserve structure ─────────── */
#searchInput,
input[name="search"],
.cdx-text-input__input,
.mw-search-input {
background: var(--h-bg3) !important;
border: 1px solid var(--h-border2) !important;
color: var(--h-text) !important;
font-family: var(--h-font-body) !important;
font-size: 0.95em !important;
/* NO width/height/position changes */
transition: border-color 0.2s, box-shadow 0.2s;
}
#searchInput:focus,
.cdx-text-input__input:focus {
border-color: var(--h-gold) !important;
box-shadow: 0 0 10px rgba(200,134,10,0.4) !important;
outline: none !important;
}
/* Search button */
#searchButton,
.cdx-button,
.mw-search-button {
background: var(--h-bg3) !important;
border: 1px solid var(--h-border2) !important;
color: var(--h-gold) !important;
font-family: var(--h-font-label) !important;
font-size: 0.8em !important;
letter-spacing: 0.05em;
cursor: pointer;
transition: all 0.2s;
}
#searchButton:hover,
.cdx-button:hover {
border-color: var(--h-gold) !important;
box-shadow: var(--h-glow-gold) !important;
}
/* ── TOOLBAR (page tabs) — colour only ─────────────────────── */
#p-views .mw-list-item a,
.mw-portlet-views a,
#p-cactions a,
.vector-tab-noicon a {
background: transparent !important;
color: var(--h-text-dim) !important;
font-family: var(--h-font-label) !important;
font-size: 0.78em !important;
text-transform: uppercase;
letter-spacing: 0.12em;
border: 1px solid transparent !important;
padding: 0.3em 0.7em !important;
transition: all 0.2s;
/* NO position/display changes */
}
#p-views .mw-list-item a:hover,
.mw-portlet-views a:hover {
background: rgba(200,134,10,0.08) !important;
border-color: var(--h-border2) !important;
color: var(--h-gold2) !important;
}
#p-views .selected a,
.mw-portlet-views .selected a {
background: rgba(200,134,10,0.12) !important;
border-color: var(--h-gold-dim) !important;
color: var(--h-gold2) !important;
}
/* ── SIDEBAR — colour only, NO dimension changes ───────────── */
#mw-panel,
.mw-sidebar,
#sidebar,
#mw-navigation,
.sidebar-inner {
background: var(--h-panel) !important;
border-right: 1px solid var(--h-border) !important;
/* NO width/height/position changes */
}
.mw-portlet,
.portal,
div.portal {
background: rgba(255,255,255,0.015) !important;
border: 1px solid var(--h-border) !important;
border-radius: 1px !important;
margin-bottom: 0.8em !important;
padding: 0.4em 0.5em !important;
}
.mw-portlet h3, .portal h3, .mw-portlet-heading {
font-family: var(--h-font-label) !important;
font-size: 0.72em !important;
color: var(--h-gold-dim) !important;
text-transform: uppercase !important;
letter-spacing: 0.18em !important;
text-shadow: none !important;
border-bottom: 1px solid var(--h-border) !important;
padding-bottom: 0.35em !important;
margin-bottom: 0.35em !important;
}
.mw-portlet ul li a,
.portal ul li a {
font-family: var(--h-font-body) !important;
font-size: 0.9em !important;
color: var(--h-text-dim) !important;
display: block;
padding: 0.12em 0.4em !important;
transition: all 0.2s;
border-radius: 1px;
}
.mw-portlet ul li a:hover,
.portal ul li a:hover {
background: rgba(200,134,10,0.07) !important;
color: var(--h-gold) !important;
padding-left: 0.8em !important;
text-shadow: 0 0 8px rgba(200,134,10,0.3) !important;
}
.mw-portlet ul li a::after { display: none !important; }
/* ── MAIN CONTENT AREA ──────────────────────────────────────── */
#mw-content-text,
.mw-body,
#content,
.page-content {
background: rgba(21, 14, 8, 0.9) !important;
border: 1px solid var(--h-border) !important;
box-shadow:
0 0 60px rgba(0,0,0,0.5),
inset 0 0 80px rgba(0,0,0,0.3),
0 0 0 3px rgba(200,134,10,0.04) !important;
padding: 2em 2.2em !important;
position: relative;
}
/* Gothic arch corner ornaments */
#mw-content-text::before, #content::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 48px; height: 48px;
border-top: 1px solid var(--h-gold-dim);
border-left: 1px solid var(--h-gold-dim);
pointer-events: none;
opacity: 0.6;
}
#mw-content-text::after, #content::after {
content: '';
position: absolute;
bottom: 0; right: 0;
width: 48px; height: 48px;
border-bottom: 1px solid var(--h-rose);
border-right: 1px solid var(--h-rose);
pointer-events: none;
opacity: 0.4;
}
/* ── TABLES ─────────────────────────────────────────────────── */
table.wikitable,
table.wikitable > * > tr > th,
table.wikitable > * > tr > td {
background: rgba(21,14,8,0.92) !important;
border-color: var(--h-border2) !important;
color: var(--h-text) !important;
}
table.wikitable > * > tr > th {
background: rgba(62,36,8,0.6) !important;
font-family: var(--h-font-label) !important;
color: var(--h-gold2) !important;
letter-spacing: 0.06em;
font-size: 0.88em;
}
table.wikitable > * > tr:nth-child(even) > td {
background: rgba(255,255,255,0.02) !important;
}
table.wikitable > * > tr:hover > td {
background: rgba(200,134,10,0.05) !important;
}
/* ── INFOBOXES ──────────────────────────────────────────────── */
.portable-infobox,
aside.portable-infobox,
table.infobox,
.infobox {
background: var(--h-bg2) !important;
border: 1px solid var(--h-border2) !important;
font-family: var(--h-font-body) !important;
color: var(--h-text) !important;
box-shadow:
0 0 40px rgba(0,0,0,0.5),
inset 0 0 30px rgba(0,0,0,0.2),
0 0 0 1px rgba(200,134,10,0.08) !important;
position: relative;
overflow: hidden;
}
/* Warm candle glow at top of infobox */
.portable-infobox::before,
table.infobox::before {
content: '';
position: absolute;
top: -30px; left: 50%;
transform: translateX(-50%);
width: 200px; height: 80px;
background: radial-gradient(ellipse, rgba(248,200,64,0.12) 0%, transparent 70%);
pointer-events: none;
animation: h-candle-glow 3s ease-in-out infinite;
}
.pi-title, .pi-header,
.infobox caption, .infobox th[colspan] {
background: rgba(62,36,8,0.7) !important;
font-family: var(--h-font-head) !important;
color: var(--h-gold3) !important;
text-shadow: var(--h-glow-candle) !important;
font-size: 1em !important;
text-align: center !important;
padding: 0.7em !important;
letter-spacing: 0.08em;
border-bottom: 1px solid var(--h-border2) !important;
}
.pi-data-label, .infobox th {
color: var(--h-gold) !important;
font-family: var(--h-font-label) !important;
font-size: 0.78em !important;
text-transform: uppercase;
letter-spacing: 0.08em;
background: rgba(0,0,0,0.2) !important;
}
.pi-data-value, .infobox td {
color: var(--h-text) !important;
border-color: var(--h-border) !important;
background: transparent !important;
}
.pi-image { border-bottom: 1px solid var(--h-border) !important; }
/* ── TOC ─────────────────────────────────────────────────────── */
#toc, .toc {
background: rgba(21,14,8,0.95) !important;
border: 1px solid var(--h-border2) !important;
padding: 1em 1.4em !important;
position: relative;
}
#toc::before, .toc::before {
content: '';
position: absolute;
inset: 4px;
border: 1px solid rgba(200,134,10,0.1);
pointer-events: none;
}
.toctitle, #toc .toctitle {
font-family: var(--h-font-label) !important;
color: var(--h-gold2) !important;
font-size: 0.82em !important;
text-transform: uppercase;
letter-spacing: 0.15em;
}
.toc a { color: var(--h-text-dim) !important; font-family: var(--h-font-body) !important; }
.toc a:hover { color: var(--h-gold2) !important; }
.tocnumber { color: var(--h-text-muted) !important; }
/* ── CATEGORIES ─────────────────────────────────────────────── */
#catlinks, .catlinks {
background: var(--h-bg2) !important;
border-top: 1px solid var(--h-border) !important;
font-family: var(--h-font-label) !important;
font-size: 0.78em !important;
color: var(--h-text-muted) !important;
margin-top: 2em !important;
padding: 0.5em 1em !important;
letter-spacing: 0.04em;
}
.catlinks a { color: var(--h-rose2) !important; }
.catlinks a:hover { color: var(--h-rose3) !important; }
/* ── EDIT INTERFACE ────────────────────────────────────────── */
#toolbar, .wikiEditor-ui-toolbar {
background: var(--h-bg3) !important;
border-color: var(--h-border) !important;
}
#wpTextbox1, textarea.mw-editTextarea {
background: var(--h-mirror) !important;
color: var(--h-text) !important;
border: 1px solid var(--h-border2) !important;
font-family: 'IM Fell English', serif !important;
font-size: 1em !important;
caret-color: var(--h-gold);
line-height: 1.7;
}
#wpTextbox1:focus { border-color: var(--h-gold-dim) !important; outline: none !important; }
.wikiEditor-ui { background: var(--h-bg2) !important; }
/* ── BUTTONS ────────────────────────────────────────────────── */
.mw-ui-button,
input[type="submit"],
input[type="button"],
button.mw-ui-button {
background: var(--h-bg3) !important;
color: var(--h-gold2) !important;
border: 1px solid var(--h-border2) !important;
font-family: var(--h-font-label) !important;
font-size: 0.82em !important;
letter-spacing: 0.1em;
text-transform: uppercase;
cursor: pointer;
transition: all 0.25s;
text-shadow: none !important;
box-shadow: none !important;
}
.mw-ui-button:hover,
input[type="submit"]:hover {
background: rgba(200,134,10,0.12) !important;
border-color: var(--h-gold) !important;
box-shadow: var(--h-glow-gold) !important;
}
.mw-ui-button.mw-ui-primary {
background: linear-gradient(135deg, rgba(62,36,8,0.8), rgba(100,58,18,0.6)) !important;
border-color: var(--h-gold) !important;
}
/* ── MESSAGES / NOTICES ─────────────────────────────────────── */
.mw-message-box, .warningbox, .ambox, .mbox-small {
background: rgba(21,14,8,0.85) !important;
border-left: 3px solid var(--h-gold-dim) !important;
color: var(--h-text) !important;
font-family: var(--h-font-body) !important;
}
.successbox { border-left-color: var(--h-rose) !important; }
.errorbox { border-left-color: #6a1a1a !important; }
/* ── CODE ───────────────────────────────────────────────────── */
code, pre, .mw-code {
background: rgba(0,0,0,0.55) !important;
border: 1px solid var(--h-border) !important;
font-family: 'Courier New', monospace !important;
font-size: 0.9em !important;
color: var(--h-gold) !important;
}
pre { padding: 1em !important; overflow-x: auto; }
/* ── DIFF ───────────────────────────────────────────────────── */
table.diff td.diff-addedline { background: rgba(168,72,88,0.08) !important; border-color: var(--h-rose) !important; }
table.diff td.diff-deletedline { background: rgba(80,30,10,0.12) !important; border-color: var(--h-gold-dim) !important; }
ins { background: rgba(168,72,88,0.12) !important; color: var(--h-rose2) !important; }
del { background: rgba(80,30,10,0.15) !important; color: var(--h-text-muted) !important; }
/* ── BLOCKQUOTE ─────────────────────────────────────────────── */
blockquote {
border-left: 2px solid var(--h-gold-dim) !important;
margin: 1.2em 0 !important;
padding: 0.6em 1.2em !important;
background: rgba(200,134,10,0.03) !important;
color: var(--h-text-dim) !important;
font-style: italic;
font-family: var(--h-font-script) !important;
font-size: 1.05em;
}
/* ── HORIZONTAL RULES ───────────────────────────────────────── */
hr {
border: none !important;
height: 20px !important;
margin: 1.5em 0 !important;
background:
linear-gradient(to right, transparent, var(--h-gold-dim), var(--h-gold), var(--h-gold-dim), transparent)
center/100% 1px no-repeat,
radial-gradient(circle, var(--h-gold) 0%, transparent 60%)
center/12px 12px no-repeat !important;
position: relative;
}
hr::after {
content: '✦';
position: absolute;
left: 50%; top: 50%;
transform: translate(-50%, -50%);
color: var(--h-gold);
font-size: 0.8em;
background: var(--h-bg2);
padding: 0 0.5em;
text-shadow: var(--h-glow-gold);
animation: h-flicker 5s infinite;
}
/* ── IMAGES ─────────────────────────────────────────────────── */
.thumb, figure.mw-halign-right, figure.mw-halign-left {
background: var(--h-bg2) !important;
border: 1px solid var(--h-border2) !important;
padding: 5px !important;
box-shadow: 0 0 20px rgba(0,0,0,0.5) !important;
}
.thumbcaption, figcaption {
color: var(--h-text-dim) !important;
font-family: var(--h-font-script) !important;
font-size: 0.88em !important;
font-style: italic;
text-align: center;
}
img {
filter: sepia(0.15) contrast(1.05);
transition: filter 0.4s;
}
img:hover {
filter: sepia(0.0) contrast(1.08) brightness(1.05);
}
/* ── FOOTER ─────────────────────────────────────────────────── */
#footer, .mw-footer {
background: var(--h-panel) !important;
border-top: 1px solid var(--h-border) !important;
color: var(--h-text-muted) !important;
font-family: var(--h-font-label) !important;
font-size: 0.75em !important;
letter-spacing: 0.06em;
padding: 1em !important;
}
#footer a, .mw-footer a { color: var(--h-text-dim) !important; }
#footer a:hover { color: var(--h-gold) !important; }
#footer li { list-style: none !important; }
/* ── AMBIENT DECO LAYER ─────────────────────────────────────── */
.h-ambient {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 0;
overflow: hidden;
}
.h-candle-el {
position: absolute;
pointer-events: none;
animation: h-float 8s ease-in-out infinite, h-flicker-opacity 3s ease-in-out infinite;
}
.h-arch-el {
position: absolute;
pointer-events: none;
animation: h-arch-glow 6s ease-in-out infinite;
}
.h-petal {
position: absolute;
pointer-events: none;
animation: h-petal-fall linear infinite;
}
.h-mote {
position: absolute;
pointer-events: none;
width: 3px; height: 3px;
border-radius: 50%;
background: var(--h-gold3);
animation: h-mote-drift ease-in-out infinite;
}
.h-damask-el {
position: absolute;
pointer-events: none;
animation: h-damask-spin 40s linear infinite;
opacity: 0.06;
}
/* ── ANIMATIONS ─────────────────────────────────────────────── */
@keyframes h-float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
33% { transform: translateY(-10px) rotate(1.5deg); }
66% { transform: translateY(-6px) rotate(-1deg); }
}
@keyframes h-flicker {
0%, 85%, 100% { opacity: 0.8; }
87% { opacity: 0.3; }
89% { opacity: 0.8; }
91% { opacity: 0.1; }
93% { opacity: 0.9; }
}
@keyframes h-flicker-opacity {
0%, 100% { opacity: 0.12; }
40% { opacity: 0.22; }
60% { opacity: 0.08; }
}
@keyframes h-title-flicker {
0%, 90%, 100% {
text-shadow: 0 0 30px rgba(248,200,64,0.6), 0 0 60px rgba(200,134,10,0.3), 2px 4px 8px rgba(0,0,0,0.9);
}
92% {
text-shadow: 0 0 15px rgba(248,200,64,0.3), 0 0 30px rgba(200,134,10,0.1), 2px 4px 8px rgba(0,0,0,0.9);
}
94% {
text-shadow: 0 0 40px rgba(248,200,64,0.8), 0 0 80px rgba(200,134,10,0.4), 2px 4px 8px rgba(0,0,0,0.9);
}
}
@keyframes h-candle-glow {
0%, 100% { opacity: 0.8; transform: translateX(-50%) scale(1); }
50% { opacity: 0.5; transform: translateX(-50%) scale(1.15); }
}
@keyframes h-breathe {
0%, 100% { opacity: 0.85; }
50% { opacity: 0.65; }
}
@keyframes h-arch-glow {
0%, 100% { filter: drop-shadow(0 0 8px rgba(200,134,10,0.15)); }
50% { filter: drop-shadow(0 0 16px rgba(200,134,10,0.3)); }
}
@keyframes h-petal-fall {
0% { transform: translate(0, -20px) rotate(0deg); opacity: 0; }
10% { opacity: 0.6; }
90% { opacity: 0.3; }
100% { transform: translate(var(--drift, 30px), 110vh) rotate(var(--rot, 360deg)); opacity: 0; }
}
@keyframes h-mote-drift {
0% { transform: translate(0, 0); opacity: 0; }
10% { opacity: 0.7; }
90% { opacity: 0.3; }
100% { transform: translate(var(--mx, 20px), var(--my, -80px)); opacity: 0; }
}
@keyframes h-damask-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes h-wax-drip {
0% { transform: scaleY(0); transform-origin: top; opacity: 1; }
80% { transform: scaleY(1); opacity: 1; }
100% { transform: scaleY(1); opacity: 0; }
}
@keyframes h-flame-dance {
0%, 100% { transform: scaleX(1) scaleY(1) rotate(-1deg); }
25% { transform: scaleX(0.9) scaleY(1.1) rotate(2deg); }
50% { transform: scaleX(1.1) scaleY(0.95) rotate(-2deg); }
75% { transform: scaleX(0.95) scaleY(1.05) rotate(1deg); }
}
@keyframes h-spin-slow {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes h-pulse-rose {
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(168,72,88,0.4)); }
50% { transform: scale(1.08); filter: drop-shadow(0 0 12px rgba(208,128,144,0.6)); }
}
/* ── UTILITY CLASSES ────────────────────────────────────────── */
.h-gold { color: var(--h-gold2) !important; text-shadow: var(--h-glow-gold); }
.h-rose { color: var(--h-rose2) !important; text-shadow: var(--h-glow-rose); }
.h-cream { color: var(--h-cream) !important; }
.h-script { font-family: var(--h-font-script) !important; }
.h-cinzel { font-family: var(--h-font-head) !important; }
.h-fraktur { font-family: var(--h-font-title) !important; }
.h-label { font-family: var(--h-font-label) !important; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.85em; }
.h-float { animation: h-float 5s ease-in-out infinite !important; }
.h-flicker { animation: h-flicker 4s infinite !important; }
.h-glow-gold { text-shadow: var(--h-glow-gold) !important; }
.h-glow-candle{ text-shadow: var(--h-glow-candle) !important; }