Jump to content

MediaWiki:Common.css: Difference between revisions

From Utopia Game
No edit summary
Tag: Reverted
Undo revision 857 by YBthr (talk)
Tag: Undo
 
(2 intermediate revisions by the same user not shown)
Line 606: Line 606:
.race-card:hover .race-card-name {
.race-card:hover .race-card-name {
     color: #000814;
     color: #000814;
}
/* =========================================================
  UTOPIA HEADER ANIMATIONS - ADD TO COMMON.CSS
  Sleek, elegant animations for hardcore gamers
  ========================================================= */
/* Container animations */
.utopia-header-section {
    position: relative;
    overflow: hidden;
}
/* Animated scanline effect overlay */
.utopia-header-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 195, 0, 0.03) 50%,
        transparent 100%
    );
    animation: scanlinePass 8s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
/* Subtle grid background */
.utopia-header-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(rgba(255, 195, 0, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 195, 0, 0.02) 1px, transparent 1px);
    background-size: 60px 60px;
    opacity: 0;
    animation: gridFadeIn 2s ease-out 0.5s forwards;
    pointer-events: none;
    z-index: 0;
}
/* Logo floating animation */
.utopia-header-section img[src*="Utopiawiki"] {
    animation: logoFloat 6s ease-in-out infinite;
    filter: drop-shadow(0 4px 20px rgba(255, 195, 0, 0.4));
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 2;
}
.utopia-header-section img[src*="Utopiawiki"]:hover {
    transform: scale(1.08) translateY(-5px) !important;
    filter: drop-shadow(0 8px 30px rgba(255, 195, 0, 0.6));
}
/* Subtitle fade-in with slide */
.utopia-subtitle {
    animation: fadeInSlide 1s ease-out 0.3s backwards;
    position: relative;
    z-index: 2;
}
.utopia-subtitle::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0%;
    height: 2px;
    background: linear-gradient(90deg, #FFC300, transparent);
    animation: underlineExpand 1.2s ease-out 0.8s forwards;
}
/* Welcome text with stagger */
.utopia-welcome {
    animation: fadeInSlide 1.2s ease-out 0.6s backwards;
    position: relative;
    z-index: 2;
}
/* Make "Utopia" text glow */
.utopia-welcome strong {
    display: inline-block;
    background: linear-gradient(135deg, #FFC300 0%, #FFD60A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: subtleGlow 3s ease-in-out infinite;
    text-shadow: none;
    position: relative;
}
/* Divider line animation */
.utopia-divider {
    height: 2px;
    margin: 2em auto;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 195, 0, 0.2) 20%,
        rgba(255, 195, 0, 0.8) 50%,
        rgba(255, 195, 0, 0.2) 80%,
        transparent 100%
    );
    position: relative;
    overflow: hidden;
    animation: fadeInSlide 1s ease-out 1s backwards;
    z-index: 2;
}
.utopia-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 40%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 214, 10, 0.6),
        transparent
    );
    animation: shimmerPass 3s ease-in-out infinite;
}
/* Age links styling */
.utopia-ages {
    animation: fadeInSlide 1.4s ease-out 1.2s backwards;
    position: relative;
    z-index: 2;
}
/* Age link buttons */
.utopia-ages a {
    display: inline-block;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none !important;
}
.utopia-ages a::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    background: linear-gradient(135deg, rgba(255, 195, 0, 0.1), rgba(255, 214, 10, 0.05));
    border: 1px solid rgba(255, 195, 0, 0.3);
    border-radius: 4px;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
.utopia-ages a:hover::before {
    opacity: 1;
    top: -12px;
    left: -12px;
    right: -12px;
    bottom: -12px;
    border-color: rgba(255, 195, 0, 0.6);
    box-shadow: 0 8px 24px rgba(255, 195, 0, 0.3);
}
.utopia-ages a:hover span {
    text-shadow: 0 0 12px rgba(255, 195, 0, 0.8);
}
/* Current age special pulse */
.age-current {
    animation: currentAgePulse 2s ease-in-out infinite;
}
/* Floating particles (optional - can be enabled/disabled) */
.utopia-header-section .utopia-particle {
    position: absolute;
    width: 2px;
    height: 2px;
    background: rgba(255, 195, 0, 0.4);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    animation: particleFloat linear infinite;
    box-shadow: 0 0 4px rgba(255, 195, 0, 0.6);
}
/* =========================================================
  KEYFRAME ANIMATIONS
  ========================================================= */
@keyframes scanlinePass {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}
@keyframes gridFadeIn {
    to {
        opacity: 1;
    }
}
@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-12px);
    }
}
@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes underlineExpand {
    to {
        width: 100%;
    }
}
@keyframes subtleGlow {
    0%, 100% {
        filter: brightness(1) drop-shadow(0 0 8px rgba(255, 195, 0, 0.3));
    }
    50% {
        filter: brightness(1.15) drop-shadow(0 0 16px rgba(255, 195, 0, 0.5));
    }
}
@keyframes shimmerPass {
    0% {
        left: -100%;
    }
    100% {
        left: 200%;
    }
}
@keyframes currentAgePulse {
    0%, 100% {
        filter: drop-shadow(0 0 8px rgba(255, 195, 0, 0.4));
    }
    50% {
        filter: drop-shadow(0 0 16px rgba(255, 195, 0, 0.7));
    }
}
@keyframes particleFloat {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100vh) translateX(var(--drift, 30px));
        opacity: 0;
    }
}
/* =========================================================
  ACCESSIBILITY - Respect reduced motion
  ========================================================= */
@media (prefers-reduced-motion: reduce) {
    .utopia-header-section::before,
    .utopia-header-section::after,
    .utopia-header-section img[src*="Utopiawiki"],
    .utopia-subtitle,
    .utopia-welcome,
    .utopia-divider,
    .utopia-ages,
    .age-current,
    .utopia-particle {
        animation: none !important;
    }
   
    .utopia-header-section img[src*="Utopiawiki"]:hover {
        transform: none !important;
    }
}
/* =========================================================
  RESPONSIVE ADJUSTMENTS
  ========================================================= */
@media (max-width: 768px) {
    .utopia-header-section::after {
        background-size: 40px 40px;
    }
   
    .utopia-ages a::before {
        display: none; /* Simplify on mobile */
    }
}
}

Latest revision as of 21:27, 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;
}