MediaWiki:Common.css: Difference between revisions
Appearance
Tag: Undo |
No edit summary Tag: Reverted |
||
| Line 606: | Line 606: | ||
.race-card:hover .race-card-name { | .race-card:hover .race-card-name { | ||
color: #000814; | color: #000814; | ||
} | |||
/* ========================================================= | |||
UTOPIA WIKI HEADER - GAMING ELITE ANIMATIONS | |||
Color Palette: #000814, #001d3d, #003566, #ffc300, #ffd60a, #ffffff | |||
========================================================= */ | |||
/* ============ HEADER CONTAINER ============ */ | |||
.utopia-header-section { | |||
position: relative; | |||
overflow: hidden; | |||
background: linear-gradient(135deg, #000814 0%, #001d3d 50%, #003566 100%); | |||
border-radius: 0 0 16px 16px; | |||
box-shadow: | |||
0 8px 32px rgba(0, 8, 20, 0.6), | |||
0 0 80px rgba(255, 195, 0, 0.1) inset; | |||
margin-bottom: 2em; | |||
} | |||
/* Animated grid overlay */ | |||
.utopia-header-section::before { | |||
content: ''; | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
width: 100%; | |||
height: 100%; | |||
background-image: | |||
linear-gradient(rgba(255, 195, 0, 0.03) 1px, transparent 1px), | |||
linear-gradient(90deg, rgba(255, 195, 0, 0.03) 1px, transparent 1px); | |||
background-size: 50px 50px; | |||
animation: gridSlide 20s linear infinite; | |||
pointer-events: none; | |||
z-index: 1; | |||
} | |||
/* Glowing corner accents */ | |||
.utopia-header-section::after { | |||
content: ''; | |||
position: absolute; | |||
top: 0; | |||
right: 0; | |||
width: 300px; | |||
height: 300px; | |||
background: radial-gradient(circle at center, rgba(255, 195, 0, 0.15) 0%, transparent 70%); | |||
animation: pulseGlow 4s ease-in-out infinite; | |||
pointer-events: none; | |||
z-index: 1; | |||
} | |||
/* ============ LOGO ANIMATIONS ============ */ | |||
.utopia-header-section img[alt*="Utopiawiki"], | |||
.utopia-header-section img[src*="Utopiawiki"] { | |||
position: relative; | |||
filter: drop-shadow(0 0 20px rgba(255, 195, 0, 0.4)); | |||
animation: logoHover 6s ease-in-out infinite; | |||
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); | |||
z-index: 2; | |||
} | |||
.utopia-header-section img[alt*="Utopiawiki"]:hover, | |||
.utopia-header-section img[src*="Utopiawiki"]:hover { | |||
transform: scale(1.08) rotate(2deg) !important; | |||
filter: drop-shadow(0 0 30px rgba(255, 195, 0, 0.6)) drop-shadow(0 0 50px rgba(255, 213, 10, 0.3)); | |||
} | |||
/* ============ TEXT SECTIONS ============ */ | |||
/* Subtitle */ | |||
.utopia-header-section > div > div:first-of-type { | |||
position: relative; | |||
z-index: 2; | |||
animation: fadeInSlide 1s ease-out 0.2s backwards; | |||
font-family: 'Georgia', 'Times New Roman', serif; | |||
letter-spacing: 0.5px; | |||
text-shadow: 0 2px 8px rgba(0, 8, 20, 0.8); | |||
} | |||
/* Welcome text */ | |||
.utopia-header-section > div > div:nth-of-type(2) { | |||
position: relative; | |||
z-index: 2; | |||
animation: fadeInSlide 1.2s ease-out 0.4s backwards; | |||
text-shadow: 0 2px 8px rgba(0, 8, 20, 0.8); | |||
} | |||
/* Highlight "Utopia" word with special glow */ | |||
.utopia-header-section > div > div:nth-of-type(2) strong { | |||
color: #ffc300; | |||
font-weight: bold; | |||
text-shadow: | |||
0 0 10px rgba(255, 195, 0, 0.6), | |||
0 0 20px rgba(255, 195, 0, 0.4), | |||
0 0 30px rgba(255, 195, 0, 0.2); | |||
animation: textPulse 3s ease-in-out infinite; | |||
display: inline-block; | |||
} | |||
/* ============ DIVIDER LINE ============ */ | |||
.utopia-divider { | |||
position: relative; | |||
height: 2px; | |||
margin: 2.5em auto; | |||
max-width: 80%; | |||
background: linear-gradient( | |||
90deg, | |||
transparent 0%, | |||
rgba(255, 195, 0, 0.2) 10%, | |||
rgba(255, 195, 0, 0.8) 30%, | |||
#ffc300 50%, | |||
rgba(255, 195, 0, 0.8) 70%, | |||
rgba(255, 195, 0, 0.2) 90%, | |||
transparent 100% | |||
); | |||
animation: dividerGlow 3s ease-in-out infinite; | |||
z-index: 2; | |||
} | |||
.utopia-divider::before, | |||
.utopia-divider::after { | |||
content: ''; | |||
position: absolute; | |||
top: 50%; | |||
width: 8px; | |||
height: 8px; | |||
background: #ffc300; | |||
border-radius: 50%; | |||
box-shadow: 0 0 12px rgba(255, 195, 0, 0.8); | |||
animation: diamondPulse 2s ease-in-out infinite; | |||
} | |||
.utopia-divider::before { | |||
left: 0; | |||
transform: translate(-50%, -50%); | |||
} | |||
.utopia-divider::after { | |||
right: 0; | |||
transform: translate(50%, -50%); | |||
animation-delay: 1s; | |||
} | |||
/* ============ AGE LINKS SECTION ============ */ | |||
.utopia-ages { | |||
position: relative; | |||
z-index: 2; | |||
animation: fadeInSlide 1.4s ease-out 0.6s backwards; | |||
} | |||
/* Age link styling - Current Age */ | |||
.utopia-ages big:first-of-type a { | |||
display: inline-block; | |||
padding: 0.8em 2em; | |||
background: linear-gradient(135deg, #003566 0%, #001d3d 100%); | |||
border: 2px solid #ffc300; | |||
border-radius: 8px; | |||
position: relative; | |||
overflow: hidden; | |||
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); | |||
box-shadow: | |||
0 4px 15px rgba(255, 195, 0, 0.3), | |||
0 0 40px rgba(255, 195, 0, 0.1) inset; | |||
animation: currentAgePulse 2s ease-in-out infinite; | |||
} | |||
/* Sliding shine effect on current age */ | |||
.utopia-ages big:first-of-type a::before { | |||
content: ''; | |||
position: absolute; | |||
top: -50%; | |||
left: -50%; | |||
width: 200%; | |||
height: 200%; | |||
background: linear-gradient( | |||
45deg, | |||
transparent 30%, | |||
rgba(255, 213, 10, 0.3) 50%, | |||
transparent 70% | |||
); | |||
animation: slideShine 3s ease-in-out infinite; | |||
} | |||
.utopia-ages big:first-of-type a:hover { | |||
transform: translateY(-4px) scale(1.02); | |||
border-color: #ffd60a; | |||
box-shadow: | |||
0 8px 25px rgba(255, 195, 0, 0.5), | |||
0 0 60px rgba(255, 195, 0, 0.2) inset; | |||
} | |||
/* Age link styling - Archived */ | |||
.utopia-ages big:nth-of-type(2) a { | |||
display: inline-block; | |||
padding: 0.6em 1.5em; | |||
background: linear-gradient(135deg, rgba(0, 53, 102, 0.6) 0%, rgba(0, 29, 61, 0.6) 100%); | |||
border: 1px solid rgba(255, 195, 0, 0.4); | |||
border-radius: 6px; | |||
position: relative; | |||
overflow: hidden; | |||
transition: all 0.3s ease; | |||
opacity: 0.8; | |||
} | |||
.utopia-ages big:nth-of-type(2) a::before { | |||
content: ''; | |||
position: absolute; | |||
top: 50%; | |||
left: 50%; | |||
width: 0; | |||
height: 0; | |||
background: radial-gradient(circle, rgba(255, 195, 0, 0.2) 0%, transparent 70%); | |||
transform: translate(-50%, -50%); | |||
transition: all 0.5s ease; | |||
border-radius: 50%; | |||
} | |||
.utopia-ages big:nth-of-type(2) a:hover { | |||
opacity: 1; | |||
border-color: rgba(255, 195, 0, 0.7); | |||
background: linear-gradient(135deg, rgba(0, 53, 102, 0.8) 0%, rgba(0, 29, 61, 0.8) 100%); | |||
transform: translateY(-2px); | |||
} | |||
.utopia-ages big:nth-of-type(2) a:hover::before { | |||
width: 400px; | |||
height: 400px; | |||
} | |||
/* ============ FLOATING PARTICLES ============ */ | |||
@keyframes floatParticle { | |||
0% { | |||
transform: translate(0, 0) rotate(0deg); | |||
opacity: 0; | |||
} | |||
10% { | |||
opacity: 0.6; | |||
} | |||
90% { | |||
opacity: 0.6; | |||
} | |||
100% { | |||
transform: translate(var(--tx), -120vh) rotate(360deg); | |||
opacity: 0; | |||
} | |||
} | |||
/* ============ KEYFRAME ANIMATIONS ============ */ | |||
@keyframes gridSlide { | |||
0% { | |||
transform: translate(0, 0); | |||
} | |||
100% { | |||
transform: translate(50px, 50px); | |||
} | |||
} | |||
@keyframes pulseGlow { | |||
0%, 100% { | |||
opacity: 0.5; | |||
transform: scale(1); | |||
} | |||
50% { | |||
opacity: 1; | |||
transform: scale(1.2); | |||
} | |||
} | |||
@keyframes logoHover { | |||
0%, 100% { | |||
transform: translateY(0px); | |||
} | |||
50% { | |||
transform: translateY(-12px); | |||
} | |||
} | |||
@keyframes fadeInSlide { | |||
from { | |||
opacity: 0; | |||
transform: translateY(30px); | |||
} | |||
to { | |||
opacity: 1; | |||
transform: translateY(0); | |||
} | |||
} | |||
@keyframes textPulse { | |||
0%, 100% { | |||
text-shadow: | |||
0 0 10px rgba(255, 195, 0, 0.6), | |||
0 0 20px rgba(255, 195, 0, 0.4), | |||
0 0 30px rgba(255, 195, 0, 0.2); | |||
} | |||
50% { | |||
text-shadow: | |||
0 0 15px rgba(255, 195, 0, 0.8), | |||
0 0 30px rgba(255, 195, 0, 0.6), | |||
0 0 45px rgba(255, 195, 0, 0.3), | |||
0 0 60px rgba(255, 213, 10, 0.2); | |||
} | |||
} | |||
@keyframes dividerGlow { | |||
0%, 100% { | |||
filter: brightness(1); | |||
} | |||
50% { | |||
filter: brightness(1.3); | |||
} | |||
} | |||
@keyframes diamondPulse { | |||
0%, 100% { | |||
transform: translate(-50%, -50%) scale(1); | |||
box-shadow: 0 0 12px rgba(255, 195, 0, 0.8); | |||
} | |||
50% { | |||
transform: translate(-50%, -50%) scale(1.3); | |||
box-shadow: 0 0 20px rgba(255, 195, 0, 1), 0 0 30px rgba(255, 213, 10, 0.6); | |||
} | |||
} | |||
@keyframes currentAgePulse { | |||
0%, 100% { | |||
box-shadow: | |||
0 4px 15px rgba(255, 195, 0, 0.3), | |||
0 0 40px rgba(255, 195, 0, 0.1) inset; | |||
} | |||
50% { | |||
box-shadow: | |||
0 4px 25px rgba(255, 195, 0, 0.5), | |||
0 0 60px rgba(255, 195, 0, 0.2) inset; | |||
} | |||
} | |||
@keyframes slideShine { | |||
0% { | |||
transform: translate(-100%, -100%) rotate(45deg); | |||
} | |||
100% { | |||
transform: translate(100%, 100%) rotate(45deg); | |||
} | |||
} | |||
/* ============ PARALLAX EFFECT (JavaScript-driven) ============ */ | |||
.utopia-header-section[data-parallax="true"] img[alt*="Utopiawiki"], | |||
.utopia-header-section[data-parallax="true"] img[src*="Utopiawiki"] { | |||
transition: transform 0.2s ease-out; | |||
} | |||
/* ============ ACCESSIBILITY - REDUCED MOTION ============ */ | |||
@media (prefers-reduced-motion: reduce) { | |||
.utopia-header-section::before, | |||
.utopia-header-section::after, | |||
.utopia-header-section img, | |||
.utopia-divider, | |||
.utopia-divider::before, | |||
.utopia-divider::after, | |||
.utopia-ages big a, | |||
.utopia-ages big a::before, | |||
strong { | |||
animation: none !important; | |||
} | |||
.utopia-header-section img:hover, | |||
.utopia-ages big a:hover { | |||
transform: none !important; | |||
} | |||
} | |||
/* ============ RESPONSIVE ============ */ | |||
@media (max-width: 768px) { | |||
.utopia-header-section::after { | |||
width: 200px; | |||
height: 200px; | |||
} | |||
.utopia-divider { | |||
max-width: 90%; | |||
} | |||
.utopia-ages big:first-of-type a { | |||
padding: 0.6em 1.5em; | |||
font-size: 0.9em; | |||
} | |||
.utopia-ages big:nth-of-type(2) a { | |||
padding: 0.5em 1.2em; | |||
font-size: 0.85em; | |||
} | |||
} | } | ||
Revision as of 21:05, 16 February 2026
/* =========================================================
GLOBAL THEME – MediaWiki 1.45 / Vector 2022
========================================================= */
/* ---------- Background ---------- */
html,
body,
.vector-feature-page-tools-disabled .mw-page-container,
.vector-feature-page-tools-enabled .mw-page-container {
background: linear-gradient(0deg, #001D3D 0%, #000814 40%) !important;
background-attachment: fixed !important;
}
/* Transparent content containers */
.mw-page-container,
.mw-body,
.vector-body {
background: transparent !important;
}
/* ---------- Base text ---------- */
body,
.mw-body,
.mw-body-content,
#mw-content-text,
.vector-body {
color: #fff !important;
}
/* ---------- Headings ---------- */
h1, h2, h3, h4, h5, h6,
.mw-headline,
#firstHeading,
.mw-page-title-main,
.page-Main_Page h1 {
color: #FFC300 !important;
}
/* ---------- Logo ---------- */
.mw-logo-icon,
.mw-logo-icon img,
.mw-logo img,
.mw-logo a.mw-logo-container img {
height: 100px !important;
width: auto !important;
max-height: 100px !important;
}
.mw-logo-icon { background-size: auto 100px !important; }
@media (max-width: 720px) {
.mw-logo-icon,
.mw-logo-icon img,
.mw-logo img,
.mw-logo a.mw-logo-container img {
height: 32px !important;
max-height: 32px !important;
}
.mw-logo-icon { background-size: auto 32px !important; }
}
/* ---------- Header ---------- */
.vector-header-container,
.vector-header,
#mw-header-container,
.mw-header {
background: #000814 !important;
border-bottom: 2px solid #FFC300 !important;
}
/* Site name */
.mw-logo-wordmark,
.mw-logo-wordmark a {
color: #FFC300 !important;
font-size: 1.8em !important;
font-weight: bold !important;
text-decoration: none !important;
}
.mw-logo-wordmark a:hover { color: #FFD60A !important; }
/* Sidebar headings */
.vector-pinnable-header-label,
.vector-main-menu-heading,
.mw-portlet h3 {
color: #FFC300 !important;
}
/* =========================================================
PAGE CONTENT LINKS
========================================================= */
.mw-parser-output a { color: #4DA3FF !important; }
.mw-parser-output a:visited { color: #9B7CFF !important; }
.mw-parser-output a:hover { color: #6BB6FF !important; text-decoration: underline; }
.mw-parser-output a:active { color: #1F4FA3 !important; }
.mw-parser-output a.new,
.mw-parser-output a.new:visited { color: #CC2200 !important; }
/* Optional: keep only if something is overriding text colors inside articles */
/* .mw-parser-output { color: #fff !important; } */
/* =========================================================
GLOBAL TABLE THEME (ALL PAGES)
========================================================= */
.mw-parser-output .wikitable {
width: 100%;
border-collapse: collapse !important;
margin: 0.75em 0;
background: #303030 !important;
border: 1px solid #555555 !important;
}
.mw-parser-output .wikitable caption {
background: #001D3D !important;
color: #fff !important;
font-weight: bold;
padding: 0.5em 0.7em !important;
border-bottom: 1px solid #555555 !important;
}
.mw-parser-output .wikitable thead th {
background: #000 !important;
color: #EAEAEA !important;
font-weight: 700;
border: 1px solid #666666 !important;
padding: 0.5em 0.7em !important;
}
.mw-parser-output .wikitable tbody tr:nth-child(odd) { background-color: #303030 !important; }
.mw-parser-output .wikitable tbody tr:nth-child(even) { background-color: #505050 !important; }
.mw-parser-output .wikitable tbody td {
border: 1px solid #555555 !important;
color: #EAEAEA !important;
padding: 0.5em 0.7em !important;
}
/* =========================================================
TABLE OF CONTENTS – Vector 2022
========================================================= */
#vector-toc,
#toc {
background: #001D3D !important;
border: 1px solid #FFC300 !important;
border-radius: 6px;
padding: 0.75em;
}
#vector-toc .vector-pinnable-header-label,
#toc .toctitle {
color: #FFC300 !important;
font-weight: bold;
}
#vector-toc .vector-toc-text,
#toc a {
color: #EAEAEA !important;
opacity: 1 !important;
text-decoration: none;
}
/* Active item */
#vector-toc .vector-toc-list-item-active { background: transparent !important; }
#vector-toc .vector-toc-list-item-active > a.vector-toc-link { background-color: #FFD60A !important; }
#vector-toc .vector-toc-list-item-active > a.vector-toc-link .vector-toc-text {
color: #000814 !important;
font-weight: 700 !important;
}
/* Expanded parent rules */
#vector-toc .vector-toc-level-1.vector-toc-list-item-expanded > a.vector-toc-link .vector-toc-text {
color: #FFC300 !important;
font-weight: 600 !important;
}
#vector-toc .vector-toc-level-1.vector-toc-list-item-expanded.vector-toc-list-item-active > a.vector-toc-link .vector-toc-text {
color: #000814 !important;
font-weight: 700 !important;
}
#vector-toc .vector-toc-level-1.vector-toc-list-item-expanded ul .vector-toc-text {
color: #EAEAEA !important;
font-weight: normal !important;
}
/* Hover */
#vector-toc .vector-toc-list-item:not(.vector-toc-list-item-active) > a.vector-toc-link:hover .vector-toc-text {
color: #FFD60A !important;
}
#vector-toc .vector-toc-list-item-active > a.vector-toc-link:hover .vector-toc-text {
color: #000814 !important;
}
/* Remove wrappers */
.vector-toc-container,
#vector-toc-pinned-container,
.vector-pinned-container {
background: transparent !important;
border: none !important;
box-shadow: none !important;
}
/* Inline (article) TOC only */
.mw-parser-output > .toc {
background: #001D3D !important;
border: 1px solid #FFC300 !important;
}
/* =========================================================
Draft Cost Formula
========================================================= */
.formula-box {
background: #001D3D;
border: 1px solid #FFC300;
border-radius: 10px;
padding: 0.8em 1em;
margin: 0.75em 0;
color: #EAEAEA;
line-height: 1.6;
white-space: normal;
overflow-wrap: anywhere;
}
.formula-box a { color: #4DA3FF !important; }
.formula-box a:visited { color: #9B7CFF !important; }
/* =========================
Vector 2022 – RIGHT PAGE TOOLS: remove the fade/gradient
========================= */
.vector-page-tools::before,
.vector-page-tools::after,
.vector-page-tools-container::before,
.vector-page-tools-container::after,
.vector-page-tools-landmark::before,
.vector-page-tools-landmark::after,
.vector-sticky-pinned-container::before,
.vector-sticky-pinned-container::after,
.vector-page-tools .vector-sticky-pinned-container::before,
.vector-page-tools .vector-sticky-pinned-container::after {
background: none !important;
background-image: none !important;
box-shadow: none !important;
filter: none !important;
backdrop-filter: none !important;
mask-image: none !important;
-webkit-mask-image: none !important;
}
/* Change Navigation Icon/Link Colors */
#mw-panel .portal a,
#mw-panel .portal a:visited {
color: #FFC300 !important; /* Change to your desired color */
}
/* Change Footer Link Colors */
div#footer ul li a,
div#footer ul li a:visited {
color: #FFC300 !important; /* Change to your desired color */
}
/* Change Footer Text and Icons */
div#footer ul li {
color: #FFC300 !important;
}
/* Change Navigation Icon/Link Colors */
#mw-panel .portal a,
#mw-panel .portal a:visited {
color: #FFC300 !important; /* Change to your desired color */
}
/* ===== NAVIGATION ICONS - VECTOR 2022 ===== */
/* User menu icon (person icon) */
.vector-user-links .vector-icon,
.vector-user-menu-login .vector-icon,
.vector-user-menu-create-account .vector-icon {
filter: brightness(0) saturate(100%) invert(85%) sepia(67%) saturate(1000%) hue-rotate(0deg) brightness(103%) contrast(101%) !important;
}
/* Settings/hamburger menu icon */
.vector-main-menu-action-toggle .vector-icon,
.vector-page-tools-landmark .vector-icon {
filter: brightness(0) saturate(100%) invert(85%) sepia(67%) saturate(1000%) hue-rotate(0deg) brightness(103%) contrast(101%) !important;
}
/* All navigation icons */
.vector-icon,
.mw-ui-icon {
filter: brightness(0) saturate(100%) invert(85%) sepia(67%) saturate(1000%) hue-rotate(0deg) brightness(103%) contrast(101%) !important;
}
/* User menu links (username) */
.vector-user-links a,
.vector-user-menu-logged-in .vector-user-links-main a {
color: #FFC300 !important;
}
/* ===== FOOTER LINKS - VECTOR 2022 ===== */
/* All footer links */
#footer a,
#footer a:link,
#footer a:visited,
.mw-footer a,
.mw-footer a:link,
.mw-footer a:visited,
footer a,
footer a:link,
footer a:visited {
color: #FFC300 !important;
}
/* Footer text color */
#footer,
#footer li,
.mw-footer,
.mw-footer li,
footer,
footer li {
color: #FFC300 !important;
}
/* Older footer selectors (keeping for compatibility) */
div#footer ul li a,
div#footer ul li a:visited {
color: #FFC300 !important;
}
div#footer ul li {
color: #FFC300 !important;
}
/* =========================================================
VECTOR 2022 – PAGE ACTIONS / TABS COLOR CONTROL
Applies to: Main Page | Discussion | Read | Edit | History | Tools
========================================================= */
/* Default page action links (not active) */
.vector-page-toolbar a,
.vector-page-toolbar a:link,
.vector-page-toolbar a:visited,
.vector-page-toolbar .mw-ui-icon a {
color: #FFC300 !important;
}
/* Hover state (optional subtle brighten) */
.vector-page-toolbar a:hover {
color: #FFD60A !important;
}
/* ACTIVE / CURRENT TAB (e.g. Main Page, Edit when editing) */
.vector-page-toolbar .selected a,
.vector-page-toolbar .mw-ui-button.mw-ui-progressive,
.vector-page-toolbar .mw-ui-button.mw-ui-progressive:visited {
color: #FFFFFF !important;
}
/* Ensure active tab background doesn't force dark text */
.vector-page-toolbar .selected a,
.vector-page-toolbar .selected span {
color: #FFFFFF !important;
}
/* Missing page links stay red */
.vector-page-toolbar a.new,
.vector-page-toolbar a.new:visited {
color: #CC2200 !important;
}
/* ============ NAVPILLS ============ */
/* Navpills styling */
.navpills-container {
margin: 1.5em 0;
padding: 0;
}
.navpills {
display: flex;
flex-wrap: wrap;
gap: 0.8em;
list-style: none;
margin: 0;
padding: 0;
}
.navpill-item {
display: inline-block;
}
.navpill-item a {
text-decoration: none !important;
}
.navpill-item a span {
display: inline-block;
padding: 0.7em 1.3em;
background: linear-gradient(135deg, #003566 0%, #001D3D 100%);
color: #FFC300 !important;
border: 2px solid #FFC300;
border-radius: 6px;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
font-size: 1.05em;
box-shadow: 0 2px 8px rgba(255, 195, 0, 0.2);
}
.navpill-item a:hover span {
background: linear-gradient(135deg, #FFC300 0%, #FFD60A 100%);
color: #000814 !important;
border-color: #FFD60A;
box-shadow: 0 4px 12px rgba(255, 195, 0, 0.4);
transform: translateY(-2px);
}
/* Mobile responsive */
@media (max-width: 768px) {
.navpills {
flex-direction: column;
}
.navpill-item {
width: 100%;
}
.navpill-item a span {
display: block;
text-align: center;
}
}
/* ============ TABS ============ */
/* CSS-Only Tabs */
.wiki-tabs-container-css {
margin: 2em 0;
background: linear-gradient(180deg, #001D3D 0%, #000814 100%);
border: 2px solid #FFC300;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(255, 195, 0, 0.2);
}
/* Hide radio buttons */
.wiki-tab-radio {
display: none;
}
/* Tab Labels (Buttons) */
.wiki-tab-label {
display: inline-block;
padding: 1em 1.5em;
background: #001D3D;
color: #FFC300;
border-right: 1px solid rgba(255, 195, 0, 0.3);
font-size: 1.1em;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
text-align: center;
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
margin: 0;
border-bottom: 2px solid #000814;
}
.wiki-tab-label:hover {
background: #003566;
color: #FFD60A;
}
/* Active tab style */
.wiki-tab-radio:checked + .wiki-tab-label {
background: #FFC300;
color: #000814;
border-bottom: 3px solid #FFD60A;
}
/* Tab Content */
.wiki-tab-content {
display: none;
padding: 2em;
color: #FFFFFF;
}
/* Show content when tab is checked */
.wiki-tab-radio:checked ~ .wiki-tab-content {
display: block;
}
/* Mobile Responsive */
@media (max-width: 768px) {
.wiki-tab-label {
display: block;
width: 100%;
border-right: none;
border-bottom: 1px solid rgba(255, 195, 0, 0.3);
}
}
/* =========================================================
STICKY HEADER FIX - Keep blue background when scrolling
========================================================= */
/* Sticky header container */
.vector-sticky-header,
.vector-sticky-header-container {
background: #000814 !important;
border-bottom: 2px solid #FFC300 !important;
}
/* Sticky header elements */
.vector-sticky-header-start,
.vector-sticky-header-end,
.vector-sticky-header-context-bar {
background: #000814 !important;
}
/* Page title in sticky header */
.vector-sticky-header-context-bar-primary,
.vector-sticky-header .mw-page-title-main {
color: #FFC300 !important;
}
/* Sticky header buttons and icons */
.vector-sticky-header button,
.vector-sticky-header .vector-icon {
filter: brightness(0) saturate(100%) invert(85%) sepia(67%) saturate(1000%) hue-rotate(0deg) brightness(103%) contrast(101%) !important;
}
/* Sticky header links */
.vector-sticky-header a {
color: #FFC300 !important;
}
/* Race table text override */
.racebox td {
color: black !important;
}
.racebox th {
color: white !important; /* keeps your header colors */
}
/* Equal-width navpills grid */
.navpills-equal-grid .navpills {
display: grid !important;
grid-template-columns: repeat(3, 1fr) !important;
gap: 1em !important;
}
.navpills-equal-grid .navpill-item {
width: 100% !important;
display: block !important;
}
.navpills-equal-grid .navpill-item a span {
display: block !important;
width: 100% !important;
text-align: center !important;
padding: 0.5em !important;
box-sizing: border-box !important;
}
@media (max-width: 768px) {
.navpills-equal-grid .navpills {
grid-template-columns: 1fr !important;
}
}
/* Race card buttons with hover animation */
.race-card {
display: block;
text-align: center;
padding: 1.5em 1em;
background: linear-gradient(135deg, #003566 0%, #001D3D 100%);
border: 2px solid #FFC300;
border-radius: 8px;
transition: all 0.3s ease;
box-shadow: 0 2px 8px rgba(255, 195, 0, 0.2);
text-decoration: none;
}
.race-card:hover {
background: linear-gradient(135deg, #FFC300 0%, #FFD60A 100%);
border-color: #FFD60A;
box-shadow: 0 4px 12px rgba(255, 195, 0, 0.4);
transform: translateY(-4px);
}
.race-card img {
display: block;
margin: 0 auto;
transition: transform 0.3s ease;
}
.race-card:hover img {
transform: scale(1.05);
}
.race-card-name {
margin-top: 0.8em;
font-size: 1.2em;
font-weight: bold;
color: #FFC300;
transition: color 0.3s ease;
}
.race-card:hover .race-card-name {
color: #000814;
}
/* =========================================================
UTOPIA WIKI HEADER - GAMING ELITE ANIMATIONS
Color Palette: #000814, #001d3d, #003566, #ffc300, #ffd60a, #ffffff
========================================================= */
/* ============ HEADER CONTAINER ============ */
.utopia-header-section {
position: relative;
overflow: hidden;
background: linear-gradient(135deg, #000814 0%, #001d3d 50%, #003566 100%);
border-radius: 0 0 16px 16px;
box-shadow:
0 8px 32px rgba(0, 8, 20, 0.6),
0 0 80px rgba(255, 195, 0, 0.1) inset;
margin-bottom: 2em;
}
/* Animated grid overlay */
.utopia-header-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
linear-gradient(rgba(255, 195, 0, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 195, 0, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
animation: gridSlide 20s linear infinite;
pointer-events: none;
z-index: 1;
}
/* Glowing corner accents */
.utopia-header-section::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 300px;
height: 300px;
background: radial-gradient(circle at center, rgba(255, 195, 0, 0.15) 0%, transparent 70%);
animation: pulseGlow 4s ease-in-out infinite;
pointer-events: none;
z-index: 1;
}
/* ============ LOGO ANIMATIONS ============ */
.utopia-header-section img[alt*="Utopiawiki"],
.utopia-header-section img[src*="Utopiawiki"] {
position: relative;
filter: drop-shadow(0 0 20px rgba(255, 195, 0, 0.4));
animation: logoHover 6s ease-in-out infinite;
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
z-index: 2;
}
.utopia-header-section img[alt*="Utopiawiki"]:hover,
.utopia-header-section img[src*="Utopiawiki"]:hover {
transform: scale(1.08) rotate(2deg) !important;
filter: drop-shadow(0 0 30px rgba(255, 195, 0, 0.6)) drop-shadow(0 0 50px rgba(255, 213, 10, 0.3));
}
/* ============ TEXT SECTIONS ============ */
/* Subtitle */
.utopia-header-section > div > div:first-of-type {
position: relative;
z-index: 2;
animation: fadeInSlide 1s ease-out 0.2s backwards;
font-family: 'Georgia', 'Times New Roman', serif;
letter-spacing: 0.5px;
text-shadow: 0 2px 8px rgba(0, 8, 20, 0.8);
}
/* Welcome text */
.utopia-header-section > div > div:nth-of-type(2) {
position: relative;
z-index: 2;
animation: fadeInSlide 1.2s ease-out 0.4s backwards;
text-shadow: 0 2px 8px rgba(0, 8, 20, 0.8);
}
/* Highlight "Utopia" word with special glow */
.utopia-header-section > div > div:nth-of-type(2) strong {
color: #ffc300;
font-weight: bold;
text-shadow:
0 0 10px rgba(255, 195, 0, 0.6),
0 0 20px rgba(255, 195, 0, 0.4),
0 0 30px rgba(255, 195, 0, 0.2);
animation: textPulse 3s ease-in-out infinite;
display: inline-block;
}
/* ============ DIVIDER LINE ============ */
.utopia-divider {
position: relative;
height: 2px;
margin: 2.5em auto;
max-width: 80%;
background: linear-gradient(
90deg,
transparent 0%,
rgba(255, 195, 0, 0.2) 10%,
rgba(255, 195, 0, 0.8) 30%,
#ffc300 50%,
rgba(255, 195, 0, 0.8) 70%,
rgba(255, 195, 0, 0.2) 90%,
transparent 100%
);
animation: dividerGlow 3s ease-in-out infinite;
z-index: 2;
}
.utopia-divider::before,
.utopia-divider::after {
content: '';
position: absolute;
top: 50%;
width: 8px;
height: 8px;
background: #ffc300;
border-radius: 50%;
box-shadow: 0 0 12px rgba(255, 195, 0, 0.8);
animation: diamondPulse 2s ease-in-out infinite;
}
.utopia-divider::before {
left: 0;
transform: translate(-50%, -50%);
}
.utopia-divider::after {
right: 0;
transform: translate(50%, -50%);
animation-delay: 1s;
}
/* ============ AGE LINKS SECTION ============ */
.utopia-ages {
position: relative;
z-index: 2;
animation: fadeInSlide 1.4s ease-out 0.6s backwards;
}
/* Age link styling - Current Age */
.utopia-ages big:first-of-type a {
display: inline-block;
padding: 0.8em 2em;
background: linear-gradient(135deg, #003566 0%, #001d3d 100%);
border: 2px solid #ffc300;
border-radius: 8px;
position: relative;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow:
0 4px 15px rgba(255, 195, 0, 0.3),
0 0 40px rgba(255, 195, 0, 0.1) inset;
animation: currentAgePulse 2s ease-in-out infinite;
}
/* Sliding shine effect on current age */
.utopia-ages big:first-of-type a::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
45deg,
transparent 30%,
rgba(255, 213, 10, 0.3) 50%,
transparent 70%
);
animation: slideShine 3s ease-in-out infinite;
}
.utopia-ages big:first-of-type a:hover {
transform: translateY(-4px) scale(1.02);
border-color: #ffd60a;
box-shadow:
0 8px 25px rgba(255, 195, 0, 0.5),
0 0 60px rgba(255, 195, 0, 0.2) inset;
}
/* Age link styling - Archived */
.utopia-ages big:nth-of-type(2) a {
display: inline-block;
padding: 0.6em 1.5em;
background: linear-gradient(135deg, rgba(0, 53, 102, 0.6) 0%, rgba(0, 29, 61, 0.6) 100%);
border: 1px solid rgba(255, 195, 0, 0.4);
border-radius: 6px;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
opacity: 0.8;
}
.utopia-ages big:nth-of-type(2) a::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: radial-gradient(circle, rgba(255, 195, 0, 0.2) 0%, transparent 70%);
transform: translate(-50%, -50%);
transition: all 0.5s ease;
border-radius: 50%;
}
.utopia-ages big:nth-of-type(2) a:hover {
opacity: 1;
border-color: rgba(255, 195, 0, 0.7);
background: linear-gradient(135deg, rgba(0, 53, 102, 0.8) 0%, rgba(0, 29, 61, 0.8) 100%);
transform: translateY(-2px);
}
.utopia-ages big:nth-of-type(2) a:hover::before {
width: 400px;
height: 400px;
}
/* ============ FLOATING PARTICLES ============ */
@keyframes floatParticle {
0% {
transform: translate(0, 0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 0.6;
}
90% {
opacity: 0.6;
}
100% {
transform: translate(var(--tx), -120vh) rotate(360deg);
opacity: 0;
}
}
/* ============ KEYFRAME ANIMATIONS ============ */
@keyframes gridSlide {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(50px, 50px);
}
}
@keyframes pulseGlow {
0%, 100% {
opacity: 0.5;
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(1.2);
}
}
@keyframes logoHover {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-12px);
}
}
@keyframes fadeInSlide {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes textPulse {
0%, 100% {
text-shadow:
0 0 10px rgba(255, 195, 0, 0.6),
0 0 20px rgba(255, 195, 0, 0.4),
0 0 30px rgba(255, 195, 0, 0.2);
}
50% {
text-shadow:
0 0 15px rgba(255, 195, 0, 0.8),
0 0 30px rgba(255, 195, 0, 0.6),
0 0 45px rgba(255, 195, 0, 0.3),
0 0 60px rgba(255, 213, 10, 0.2);
}
}
@keyframes dividerGlow {
0%, 100% {
filter: brightness(1);
}
50% {
filter: brightness(1.3);
}
}
@keyframes diamondPulse {
0%, 100% {
transform: translate(-50%, -50%) scale(1);
box-shadow: 0 0 12px rgba(255, 195, 0, 0.8);
}
50% {
transform: translate(-50%, -50%) scale(1.3);
box-shadow: 0 0 20px rgba(255, 195, 0, 1), 0 0 30px rgba(255, 213, 10, 0.6);
}
}
@keyframes currentAgePulse {
0%, 100% {
box-shadow:
0 4px 15px rgba(255, 195, 0, 0.3),
0 0 40px rgba(255, 195, 0, 0.1) inset;
}
50% {
box-shadow:
0 4px 25px rgba(255, 195, 0, 0.5),
0 0 60px rgba(255, 195, 0, 0.2) inset;
}
}
@keyframes slideShine {
0% {
transform: translate(-100%, -100%) rotate(45deg);
}
100% {
transform: translate(100%, 100%) rotate(45deg);
}
}
/* ============ PARALLAX EFFECT (JavaScript-driven) ============ */
.utopia-header-section[data-parallax="true"] img[alt*="Utopiawiki"],
.utopia-header-section[data-parallax="true"] img[src*="Utopiawiki"] {
transition: transform 0.2s ease-out;
}
/* ============ ACCESSIBILITY - REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce) {
.utopia-header-section::before,
.utopia-header-section::after,
.utopia-header-section img,
.utopia-divider,
.utopia-divider::before,
.utopia-divider::after,
.utopia-ages big a,
.utopia-ages big a::before,
strong {
animation: none !important;
}
.utopia-header-section img:hover,
.utopia-ages big a:hover {
transform: none !important;
}
}
/* ============ RESPONSIVE ============ */
@media (max-width: 768px) {
.utopia-header-section::after {
width: 200px;
height: 200px;
}
.utopia-divider {
max-width: 90%;
}
.utopia-ages big:first-of-type a {
padding: 0.6em 1.5em;
font-size: 0.9em;
}
.utopia-ages big:nth-of-type(2) a {
padding: 0.5em 1.2em;
font-size: 0.85em;
}
}