MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 37: | Line 37: | ||
.mw-page-container, | .mw-page-container, | ||
.mw-page-container-inner, | .mw-page-container-inner, | ||
.skin-vector-2022 .mw-page-container { background: transparent; } | body.skin-vector-2022 .mw-page-container { background: transparent; } | ||
/* Header (top bar) ---------------------------------------------------- */ | /* Header (top bar) ---------------------------------------------------- */ | ||
| Line 54: | Line 54: | ||
object-fit: contain; | object-fit: contain; | ||
} | } | ||
.mw-logo-wordmark, | .mw-logo-wordmark, | ||
.mw-logo .mw-logo-wordmark { | .mw-logo .mw-logo-wordmark { | ||
| Line 63: | Line 62: | ||
} | } | ||
.mw-logo-container.skin-invert { filter: none; } | .mw-logo-container.skin-invert { filter: none; } | ||
/* Header | /* Header text + icons */ | ||
.vector-header a, | .vector-header a, | ||
.vector-header-end a, | .vector-header-end a, | ||
.vector-header .cdx-button { | .vector-header .cdx-button { color: var(--akka-text-mute); } | ||
} | |||
.vector-header a:hover, | .vector-header a:hover, | ||
.vector-header .cdx-button:hover { color: var(--akka-text); } | .vector-header .cdx-button:hover { color: var(--akka-text); } | ||
. | |||
. | /* Icons — make them inherit text color so they show up on dark bg. | ||
Vector 2022 uses CSS masks with background-color for icons. MW default is | |||
dark which becomes invisible against our dark header. */ | |||
.vector-icon, | |||
.mw-ui-icon-element, | |||
[class*="mw-ui-icon-"] { background-color: currentColor !important; } | |||
.cdx-icon { color: inherit; fill: currentColor; } | |||
.cdx-button .cdx-icon { fill: currentColor; } | |||
/* Search input */ | /* Search input */ | ||
| Line 133: | Line 136: | ||
.mw-body a, .mw-parser-output a { color: var(--akka-accent-blue); } | .mw-body a, .mw-parser-output a { color: var(--akka-accent-blue); } | ||
.mw-body a:hover, .mw-parser-output a:hover { color: var(--akka-accent); text-decoration: underline; } | .mw-body a:hover, .mw-parser-output a:hover { color: var(--akka-accent); text-decoration: underline; } | ||
.mw-body a.new, .mw-parser-output a.new | .mw-body a.new, .mw-parser-output a.new { color: #f06a3a !important; } | ||
.mw-body a.external::after { display: none; } | .mw-body a.external::after { display: none; } | ||
/* Page tabs (Read/Edit/View history/Tools) — Vector 2022 vector-tab-noicon | /* Page tabs (Read/Edit/View history/Tools) — Vector 2022. | ||
.vector-tab-noicon, | The skin defines selected tabs with high-specificity rules + !important | ||
li.vector-tab-noicon, | that target a.mw-list-item__link and similar nested selectors. We use | ||
.vector-tab-noicon a, | body.skin-vector-2022 prefix and target both possible link patterns. */ | ||
li.vector-tab-noicon a { | body.skin-vector-2022 .vector-menu-tabs li, | ||
color: var(--akka-text | body.skin-vector-2022 .vector-menu-tabs li a, | ||
body.skin-vector-2022 .vector-menu-tabs li a:visited, | |||
body.skin-vector-2022 li.vector-tab-noicon, | |||
body.skin-vector-2022 li.vector-tab-noicon a, | |||
body.skin-vector-2022 li.vector-tab-noicon a:visited, | |||
body.skin-vector-2022 li.vector-tab-noicon a.mw-list-item__link, | |||
body.skin-vector-2022 li.vector-tab-noicon.selected a, | |||
body.skin-vector-2022 li.vector-tab-noicon.selected a:visited, | |||
body.skin-vector-2022 li.vector-tab-noicon.selected a.mw-list-item__link, | |||
body.skin-vector-2022 .vector-page-toolbar a, | |||
body.skin-vector-2022 .vector-page-toolbar .cdx-tab, | |||
body.skin-vector-2022 .cdx-tab, | |||
body.skin-vector-2022 .cdx-tab a { | |||
color: var(--akka-text) !important; | |||
background: transparent !important; | background: transparent !important; | ||
} | } | ||
.vector-tab-noicon a:hover, | body.skin-vector-2022 li.vector-tab-noicon a:hover, | ||
body.skin-vector-2022 .cdx-tab:hover { color: var(--akka-accent) !important; } | |||
li.selected.vector-tab-noicon | body.skin-vector-2022 li.selected.vector-tab-noicon, | ||
. | body.skin-vector-2022 .vector-menu-tabs li.selected { | ||
border-bottom: 2px solid var(--akka-accent) !important; | |||
} | } | ||
li.selected.vector-tab-noicon { | body.skin-vector-2022 li.selected.vector-tab-noicon a, | ||
body.skin-vector-2022 .vector-menu-tabs li.selected a { | |||
font-weight: 600 !important; | |||
} | } | ||
/* Red links for missing pages stay distinct */ | |||
/* | body.skin-vector-2022 li.new.vector-tab-noicon a, | ||
body.skin-vector-2022 li.new.vector-tab-noicon a:visited, | |||
.vector- | body.skin-vector-2022 li.new.vector-tab-noicon a.mw-list-item__link { color: #f06a3a !important; } | ||
. | |||
. | |||
. | |||
. | |||
.vector- | |||
.mw- | |||
/* Buttons ------------------------------------------------------------- */ | /* Buttons ------------------------------------------------------------- */ | ||
| Line 180: | Line 182: | ||
border-color: var(--akka-cta-lo) !important; | border-color: var(--akka-cta-lo) !important; | ||
} | } | ||
.cdx-button--weight-quiet { color: var(--akka-text-mute); background: transparent; } | |||
.cdx-button--weight-quiet:hover { color: var(--akka-text); background: var(--akka-surface); } | |||
.cdx-button--weight-quiet { | |||
} | |||
.cdx-button--weight-quiet:hover { | |||
/* Tables -------------------------------------------------------------- */ | /* Tables -------------------------------------------------------------- */ | ||
| Line 232: | Line 217: | ||
.mw-footer a:hover { color: var(--akka-accent); } | .mw-footer a:hover { color: var(--akka-accent); } | ||
/* "Powered by MediaWiki" badge — invert + dim | /* "Powered by MediaWiki" badge — invert + dim */ | ||
.mw-footer .noprint a img, | .mw-footer .noprint a img, | ||
#footer .noprint a img, | #footer .noprint a img, | ||
| Line 242: | Line 226: | ||
} | } | ||
.mw-footer .noprint a:hover img, | .mw-footer .noprint a:hover img, | ||
.mw-footer-icons:hover img { opacity: 0.95; } | .mw-footer-icons:hover img { opacity: 0.95; } | ||
| Line 252: | Line 235: | ||
font-family: 'Space Grotesk', monospace; | font-family: 'Space Grotesk', monospace; | ||
} | } | ||
/* Misc ---------------------------------------------------------------- */ | /* Misc ---------------------------------------------------------------- */ | ||
Revision as of 04:54, 10 May 2026
/* ==========================================================================
AKKA Game Studios — wiki theme
Cosmic Editorial palette + Fraunces/Inter typography matching akkadev.games.
Skin: Vector 2022. Edit in MediaWiki:Common.css.
========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&display=swap');
:root {
--akka-bg: #060810;
--akka-bg-deep: #04050b;
--akka-surface: #11151f;
--akka-surface-2: #161b27;
--akka-line: #1d2334;
--akka-line-bright: #2d3548;
--akka-text: #f4eed7;
--akka-text-mute: #c8cee0;
--akka-text-faint: #8c92a6;
--akka-accent: #f6c91e;
--akka-accent-blue: #4d8cf5;
--akka-cta-hi: #2f7af5;
--akka-cta-lo: #1f5fcf;
--akka-display: 'Fraunces', 'Bodoni Moda', Georgia, serif;
--akka-smcp: 'Space Grotesk', sans-serif;
--akka-body: 'Inter', system-ui, -apple-system, sans-serif;
}
/* Global body --------------------------------------------------------- */
html, body { background: var(--akka-bg); }
body {
color: var(--akka-text);
font-family: var(--akka-body);
font-size: 15px;
line-height: 1.65;
-webkit-font-smoothing: antialiased;
}
.mw-page-container,
.mw-page-container-inner,
body.skin-vector-2022 .mw-page-container { background: transparent; }
/* Header (top bar) ---------------------------------------------------- */
.vector-header-container,
.vector-header {
background: var(--akka-bg-deep) !important;
border-bottom: 1px solid var(--akka-line);
color: var(--akka-text);
}
/* Logo: img element. content: trick to swap source via CSS only. */
.mw-logo-icon {
content: url('https://akkadev.games/assets/akka-mark-history.svg');
width: 56px !important;
height: 56px !important;
object-fit: contain;
}
.mw-logo-wordmark,
.mw-logo .mw-logo-wordmark {
color: var(--akka-text) !important;
font-family: var(--akka-display);
font-weight: 600;
letter-spacing: -0.01em;
}
.mw-logo-container.skin-invert { filter: none; }
/* Header text + icons */
.vector-header a,
.vector-header-end a,
.vector-header .cdx-button { color: var(--akka-text-mute); }
.vector-header a:hover,
.vector-header .cdx-button:hover { color: var(--akka-text); }
/* Icons — make them inherit text color so they show up on dark bg.
Vector 2022 uses CSS masks with background-color for icons. MW default is
dark which becomes invisible against our dark header. */
.vector-icon,
.mw-ui-icon-element,
[class*="mw-ui-icon-"] { background-color: currentColor !important; }
.cdx-icon { color: inherit; fill: currentColor; }
.cdx-button .cdx-icon { fill: currentColor; }
/* Search input */
.cdx-text-input__input,
.vector-search-box input {
background: var(--akka-surface);
color: var(--akka-text);
border-color: var(--akka-line-bright);
}
.cdx-text-input__input::placeholder { color: var(--akka-text-faint); }
/* Sidebar / main menu (vector-2022 left rail) ------------------------- */
.vector-main-menu-container,
.vector-main-menu,
.vector-pinnable-element { background: var(--akka-bg-deep); border-color: var(--akka-line); }
.vector-main-menu-link, .vector-menu a, .mw-portlet a { color: var(--akka-text-mute); }
.vector-main-menu-link:hover, .vector-menu a:hover, .mw-portlet a:hover { color: var(--akka-text); background: var(--akka-surface); }
.vector-main-menu h3,
.mw-portlet-label,
.vector-menu-heading {
color: var(--akka-accent);
font-family: var(--akka-smcp);
text-transform: uppercase;
letter-spacing: 0.16em;
font-size: 11px;
font-weight: 700;
}
/* Main content card --------------------------------------------------- */
.mw-body,
.mw-body-content {
background: var(--akka-surface);
color: var(--akka-text);
border-radius: 14px;
border: 1px solid var(--akka-line);
padding: clamp(1.5rem, 3vw, 2.25rem);
}
.mw-body-header { border-bottom: 1px solid var(--akka-line); padding-bottom: 0.75rem; margin-bottom: 1rem; }
/* Headings ------------------------------------------------------------ */
.mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6,
#firstHeading {
font-family: var(--akka-display);
color: var(--akka-text);
font-weight: 500;
letter-spacing: -0.02em;
border-color: var(--akka-line);
}
#firstHeading { font-size: clamp(2rem, 4vw, 2.6rem); }
.mw-body h2 { font-size: 1.6rem; padding-bottom: 0.3rem; border-bottom: 1px solid var(--akka-line); }
.mw-body h3 { font-size: 1.25rem; }
/* Body text ----------------------------------------------------------- */
.mw-body p, .mw-body li, .mw-body dt, .mw-body dd { color: var(--akka-text); }
.mw-body p { margin: 0 0 1rem; }
/* Links --------------------------------------------------------------- */
.mw-body a, .mw-parser-output a { color: var(--akka-accent-blue); }
.mw-body a:hover, .mw-parser-output a:hover { color: var(--akka-accent); text-decoration: underline; }
.mw-body a.new, .mw-parser-output a.new { color: #f06a3a !important; }
.mw-body a.external::after { display: none; }
/* Page tabs (Read/Edit/View history/Tools) — Vector 2022.
The skin defines selected tabs with high-specificity rules + !important
that target a.mw-list-item__link and similar nested selectors. We use
body.skin-vector-2022 prefix and target both possible link patterns. */
body.skin-vector-2022 .vector-menu-tabs li,
body.skin-vector-2022 .vector-menu-tabs li a,
body.skin-vector-2022 .vector-menu-tabs li a:visited,
body.skin-vector-2022 li.vector-tab-noicon,
body.skin-vector-2022 li.vector-tab-noicon a,
body.skin-vector-2022 li.vector-tab-noicon a:visited,
body.skin-vector-2022 li.vector-tab-noicon a.mw-list-item__link,
body.skin-vector-2022 li.vector-tab-noicon.selected a,
body.skin-vector-2022 li.vector-tab-noicon.selected a:visited,
body.skin-vector-2022 li.vector-tab-noicon.selected a.mw-list-item__link,
body.skin-vector-2022 .vector-page-toolbar a,
body.skin-vector-2022 .vector-page-toolbar .cdx-tab,
body.skin-vector-2022 .cdx-tab,
body.skin-vector-2022 .cdx-tab a {
color: var(--akka-text) !important;
background: transparent !important;
}
body.skin-vector-2022 li.vector-tab-noicon a:hover,
body.skin-vector-2022 .cdx-tab:hover { color: var(--akka-accent) !important; }
body.skin-vector-2022 li.selected.vector-tab-noicon,
body.skin-vector-2022 .vector-menu-tabs li.selected {
border-bottom: 2px solid var(--akka-accent) !important;
}
body.skin-vector-2022 li.selected.vector-tab-noicon a,
body.skin-vector-2022 .vector-menu-tabs li.selected a {
font-weight: 600 !important;
}
/* Red links for missing pages stay distinct */
body.skin-vector-2022 li.new.vector-tab-noicon a,
body.skin-vector-2022 li.new.vector-tab-noicon a:visited,
body.skin-vector-2022 li.new.vector-tab-noicon a.mw-list-item__link { color: #f06a3a !important; }
/* Buttons ------------------------------------------------------------- */
.cdx-button.cdx-button--action-progressive,
.cdx-button--action-progressive {
background: linear-gradient(180deg, var(--akka-cta-hi) 0%, var(--akka-cta-lo) 100%) !important;
color: #fff !important;
border-color: var(--akka-cta-lo) !important;
}
.cdx-button--weight-quiet { color: var(--akka-text-mute); background: transparent; }
.cdx-button--weight-quiet:hover { color: var(--akka-text); background: var(--akka-surface); }
/* Tables -------------------------------------------------------------- */
.mw-body table, .wikitable {
background: var(--akka-surface-2);
color: var(--akka-text);
border-color: var(--akka-line-bright);
}
.wikitable th { background: var(--akka-bg-deep); color: var(--akka-accent); border-color: var(--akka-line-bright); }
.wikitable td, .wikitable th { border-color: var(--akka-line); }
/* Code blocks --------------------------------------------------------- */
code, pre {
background: var(--akka-bg-deep);
color: var(--akka-text);
border: 1px solid var(--akka-line);
border-radius: 6px;
font-family: 'Space Grotesk', monospace;
}
/* TOC ----------------------------------------------------------------- */
.toc, .mw-pt-translate-header { background: var(--akka-surface-2); border: 1px solid var(--akka-line); border-radius: 10px; }
/* Footer -------------------------------------------------------------- */
.mw-footer-container,
#footer,
.mw-footer {
background: var(--akka-bg-deep);
color: var(--akka-text-mute);
border-top: 1px solid var(--akka-line);
}
.mw-footer a { color: var(--akka-accent-blue); }
.mw-footer a:hover { color: var(--akka-accent); }
/* "Powered by MediaWiki" badge — invert + dim */
.mw-footer .noprint a img,
#footer .noprint a img,
.mw-footer-icons img {
filter: invert(1) hue-rotate(180deg) brightness(0.85);
opacity: 0.55;
transition: opacity 140ms ease;
}
.mw-footer .noprint a:hover img,
.mw-footer-icons:hover img { opacity: 0.95; }
/* Edit mode form ------------------------------------------------------ */
#wpTextbox1 {
background: var(--akka-bg-deep);
color: var(--akka-text);
border: 1px solid var(--akka-line-bright);
font-family: 'Space Grotesk', monospace;
}
/* Misc ---------------------------------------------------------------- */
hr { border-color: var(--akka-line); }
.mw-indicators { color: var(--akka-text-mute); }
.mw-jump-link { color: var(--akka-accent-blue); }