MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
Dark theme: fix catlinks/thumbnail/TOC boxes still showing light backgrounds |
High-tech ED-inspired orange/cyan theme + monospace UI chrome |
||
| Line 1: | Line 1: | ||
/* EDFM site-wide styling. | /* EDFM site-wide styling. | ||
* Original CSS written for this project — no code or assets copied from | * Original CSS written for this project — no code or assets copied from | ||
* runescape.wiki or any other site. Visual | * runescape.wiki, Elite Dangerous, or any other site/game. Visual | ||
* | * direction (classic always-visible left sidebar, bordered header, | ||
* | * right-floated infoboxes, permanent dark theme, orange/cyan "high-tech | ||
* | * instrument panel" accents) is inspired by that genre, per operator | ||
* request, but implemented from scratch: no copied HUD elements, no | |||
* Frontier logo/branding, no proprietary fonts (the monospace stack | |||
* below lists common system/open fonts with a generic `monospace` | |||
* fallback — no font files are shipped or embedded), no glow/scanline | |||
* animation effects, no fake cockpit widgets. | |||
* | * | ||
* SKIN NOTE (2026-08-07): the site uses Vector "legacy" (2011), not | * SKIN NOTE (2026-08-07): the site uses Vector "legacy" (2011), not | ||
* Vector 2022 | * Vector 2022 — see the "Why Vector legacy" note in | ||
* docs/content-style-guide.md (Vector 2022 hard-restricts its pinned | |||
* sidebar to logged-in users; legacy has no such restriction). | |||
* | |||
* | |||
* | * | ||
* | * COLOUR NOTE (2026-08-07): permanent dark theme with an Elite-Dangerous- | ||
* | * evoking orange-on-near-black palette, cyan as a secondary/status | ||
* accent. Vector legacy has no light/dark toggle at all, so this is the | |||
* site's one and only colour scheme, not a preference. | |||
* | * | ||
* Keep this file simple. If it grows much further, split it into | * Keep this file simple. If it grows much further, split it into | ||
| Line 31: | Line 25: | ||
*/ | */ | ||
/* --- | /* --- Fonts: a "technical readout" monospace stack for UI chrome (nav, | ||
headings, table/infobox headers) -- common system/open fonts only, | |||
nothing shipped or embedded, generic monospace as the final fallback. | |||
Body/article paragraph text stays in a normal readable sans-serif on | |||
purpose (see .mw-body below) -- long-form reading in monospace would | |||
hurt readability, which stays a hard requirement even with a more | |||
technical visual language elsewhere. */ | |||
:root { | :root { | ||
--color-progressive: # | --edfm-mono: 'JetBrains Mono', 'Fira Code', Consolas, 'SF Mono', Menlo, 'Courier New', monospace; | ||
--color-progressive--hover: # | --edfm-orange: #ff8c1a; | ||
--color-progressive--active: # | --edfm-orange-hover: #ffab5c; | ||
--color-progressive--focus: # | --edfm-orange-active: #ffc98f; | ||
--background-color-progressive: # | --edfm-cyan: #3ecbd6; | ||
--background-color-progressive--hover: # | --color-progressive: #ff8c1a; | ||
--background-color-progressive--active: # | --color-progressive--hover: #ffab5c; | ||
--border-color-progressive: # | --color-progressive--active: #ffc98f; | ||
--border-color-progressive--hover: # | --color-progressive--focus: #ff8c1a; | ||
--border-color-progressive--active: # | --background-color-progressive: #ff8c1a; | ||
--background-color-progressive--hover: #ffab5c; | |||
--background-color-progressive--active: #ffc98f; | |||
--border-color-progressive: #ff8c1a; | |||
--border-color-progressive--hover: #ffab5c; | |||
--border-color-progressive--active: #ffc98f; | |||
} | } | ||
/* --- Base page colours ------------------------------------------------ */ | /* --- Base page colours ------------------------------------------------ */ | ||
html, body { | html, body { | ||
background-color: # | background-color: #0d0f11; | ||
color: #d7dade; | color: #d7dade; | ||
} | } | ||
| Line 56: | Line 58: | ||
color: #d7dade; | color: #d7dade; | ||
} | } | ||
/* !important here | h1, h2, h3, h4, h5, h6 { | ||
color: #f2f4f6; | |||
border-color: #2b2f33; | |||
} | |||
/* !important justified here: MediaWiki core's mediawiki.skinning module | |||
sets heading colour with equal-specificity plain-tag selectors and | |||
kept winning in testing despite this stylesheet loading later -- | |||
rather than keep chasing exact cascade/bundling order, force it. This | |||
is a correctness/contrast fix, not decorative. */ | |||
.mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6, | .mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6, | ||
.mw-heading1, .mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, | .mw-heading1, .mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6, | ||
h1, h2, h3, h4, h5, h6 { | h1, h2, h3, h4, h5, h6 { | ||
color: # | color: #f2f4f6 !important; | ||
border-color: # | border-color: #2b2f33 !important; | ||
font-family: var( --edfm-mono ); | |||
letter-spacing: 0.01em; | |||
} | |||
/* A restrained "instrument label" bracket treatment on major section | |||
headings only (h2) -- plain characters via ::before/::after, no | |||
images, no glow, no animation. */ | |||
.mw-body h2::before { | |||
content: '// '; | |||
color: var( --edfm-orange ); | |||
font-weight: 400; | |||
} | } | ||
#firstHeading { | #firstHeading { | ||
color: # | color: #f2f4f6 !important; | ||
font-family: var( --edfm-mono ); | |||
} | } | ||
hr { | hr { | ||
background-color: # | background-color: #2b2f33; | ||
border-color: # | border-color: #2b2f33; | ||
} | } | ||
a { color: | a { color: var( --edfm-orange ); transition: color 0.1s ease; } | ||
a:visited { color: # | a:visited { color: #d9974f; } | ||
a:hover { color: | a:hover { color: var( --edfm-orange-hover ); } | ||
a.new, .new a { color: #e07a7a; } | a.new, .new a { color: #e07a7a; } | ||
a.external { color: | a.external { color: var( --edfm-orange ); } | ||
/* --- Content/body panel ------------------------------------------------ */ | /* --- Content/body panel ------------------------------------------------ */ | ||
.mw-body, | .mw-body, | ||
.parsoid-body { | .parsoid-body { | ||
background-color: # | background-color: #131619; | ||
color: #d7dade; | color: #d7dade; | ||
border-color: # | border-color: #2b2f33; | ||
font-family: sans-serif; /* readable body text -- not monospace */ | |||
} | } | ||
#content { | #content { | ||
background-color: # | background-color: #131619; | ||
} | } | ||
/* --- Header / masthead -------------------------------------------------- */ | /* --- Header / masthead -------------------------------------------------- */ | ||
#mw-page-base { | #mw-page-base { | ||
background-color: # | background-color: #0d0f11; | ||
background-image: none; | background-image: none; | ||
} | } | ||
#mw-head-base { | #mw-head-base { | ||
background-color: # | background-color: #0d0f11; | ||
} | } | ||
#p-personal, | #p-personal, | ||
.vector-header-container { | .vector-header-container { | ||
border-bottom: 3px solid | border-bottom: 3px solid var( --edfm-orange ); | ||
} | } | ||
#mw-head-base { | #mw-head-base { | ||
border-bottom: 3px solid | border-bottom: 3px solid var( --edfm-orange ); | ||
} | } | ||
#p-personal a { | #p-personal a { | ||
color: | color: var( --edfm-orange ); | ||
font-family: var( --edfm-mono ); | |||
} | } | ||
#left-navigation li a { | #left-navigation li a { | ||
background-color: transparent; | background-color: transparent; | ||
color: #d7dade; | color: #d7dade; | ||
font-family: var( --edfm-mono ); | |||
letter-spacing: 0.01em; | |||
} | } | ||
#left-navigation li.selected a { | #left-navigation li.selected a { | ||
background-color: # | background-color: #131619; | ||
color: # | color: #f2f4f6; | ||
} | } | ||
.vector-search-box-inner input, | .vector-search-box-inner input, | ||
#searchInput { | #searchInput { | ||
background-color: # | background-color: #16191c; | ||
color: #eef1f4; | color: #eef1f4; | ||
border: 1px solid # | border: 1px solid #33383e; | ||
font-family: var( --edfm-mono ); | |||
} | } | ||
#searchInput::placeholder { | #searchInput::placeholder { | ||
color: # | color: #767c84; | ||
} | } | ||
/* --- Sidebar ------------------------------------------------------------ */ | /* --- Sidebar ------------------------------------------------------------ */ | ||
#mw-panel { | #mw-panel { | ||
background-color: # | background-color: #0d0f11; | ||
} | } | ||
#mw-panel .portal .body, | #mw-panel .portal .body, | ||
#mw-panel .portal ul { | #mw-panel .portal ul { | ||
border-color: # | border-color: #23272b; | ||
} | } | ||
#mw-panel .portal a { | #mw-panel .portal a { | ||
| Line 142: | Line 161: | ||
} | } | ||
#mw-panel .portal a:hover { | #mw-panel .portal a:hover { | ||
color: | color: var( --edfm-orange ); | ||
} | } | ||
.vector-menu-heading { | .vector-menu-heading { | ||
color: | color: var( --edfm-orange ); | ||
font-weight: 700; | font-weight: 700; | ||
letter-spacing: 0. | font-family: var( --edfm-mono ); | ||
letter-spacing: 0.06em; | |||
text-transform: uppercase; | text-transform: uppercase; | ||
font-size: 0. | font-size: 0.78em; | ||
} | } | ||
| Line 155: | Line 175: | ||
table.wikitable, | table.wikitable, | ||
table.mw-datatable { | table.mw-datatable { | ||
background-color: # | background-color: #16191c; | ||
color: #d7dade; | color: #d7dade; | ||
border-color: # | border-color: #33383e; | ||
} | } | ||
table.wikitable > tr > th, | table.wikitable > tr > th, | ||
table.wikitable > * > tr > th { | table.wikitable > * > tr > th { | ||
background-color: # | background-color: #1e2226; | ||
color: # | color: #f2f4f6; | ||
border-color: # | border-color: #33383e; | ||
font-family: var( --edfm-mono ); | |||
letter-spacing: 0.03em; | |||
text-transform: uppercase; | |||
font-size: 0.85em; | |||
} | } | ||
table.wikitable > tr > td, | table.wikitable > tr > td, | ||
table.wikitable > * > tr > td { | table.wikitable > * > tr > td { | ||
border-color: # | border-color: #2b2f33; | ||
} | } | ||
| Line 176: | Line 200: | ||
#footer-info li { | #footer-info li { | ||
color: #9aa0a6 !important; | color: #9aa0a6 !important; | ||
border-color: # | border-color: #23272b; | ||
} | } | ||
.mw-footer a { | .mw-footer a { | ||
color: | color: var( --edfm-orange ) !important; | ||
} | } | ||
#footer-icons img { | #footer-icons img { | ||
| Line 192: | Line 216: | ||
#toc, | #toc, | ||
.toc { | .toc { | ||
background-color: # | background-color: #16191c !important; | ||
border-color: # | border-color: #2b2f33 !important; | ||
color: #d7dade; | color: #d7dade; | ||
} | } | ||
div.thumbinner { | div.thumbinner { | ||
background-color: # | background-color: #16191c; | ||
border-color: # | border-color: #2b2f33; | ||
} | } | ||
.thumbimage { | .thumbimage { | ||
background-color: # | background-color: #131619; | ||
border-color: # | border-color: #2b2f33; | ||
} | } | ||
/* --- Code / preformatted text (syntaxhighlight uses its own Pygments | /* --- Code / preformatted text (syntaxhighlight uses its own Pygments | ||
theme, set | theme, set via $wgPygmentsStyle in LocalSettings.php; this covers | ||
plain <pre>/<code> that isn't Pygments-highlighted). */ | |||
pre, code, .mw-code { | pre, code, .mw-code { | ||
background-color: # | background-color: #16191c; | ||
color: #d7dade; | color: #d7dade; | ||
border-color: # | border-color: #33383e; | ||
font-family: var( --edfm-mono ); | |||
} | } | ||
| Line 297: | Line 322: | ||
padding: 0.5em 1em; | padding: 0.5em 1em; | ||
float: none; | float: none; | ||
border-top: 1px solid # | border-top: 1px solid #2b2f33; | ||
border-bottom: 1px solid # | border-bottom: 1px solid #2b2f33; | ||
} | } | ||
.mw-body, | .mw-body, | ||
| Line 314: | Line 339: | ||
/* --- Generic infobox: a right-floated, bordered reference box, the kind of | /* --- Generic infobox: a right-floated, bordered reference box, the kind of | ||
structural element most game-reference wikis use for at-a-glance specs. | structural element most game-reference wikis use for at-a-glance specs. | ||
A clipped top-right corner + monospace title give it a restrained | |||
"instrument panel" feel without glow, gradients, or game-specific | |||
chrome. See Template:Infobox for usage. */ | |||
.edfm-infobox { | .edfm-infobox { | ||
float: right; | float: right; | ||
| Line 321: | Line 347: | ||
width: 300px; | width: 300px; | ||
margin: 0 0 1.2em 1.2em; | margin: 0 0 1.2em 1.2em; | ||
border: 1px solid | border: 1px solid var( --edfm-orange ); | ||
background: # | background: #16191c; | ||
color: #d7dade; | color: #d7dade; | ||
font-size: 0.9em; | font-size: 0.9em; | ||
} | } | ||
.edfm-infobox-title { | .edfm-infobox-title { | ||
background: | background: var( --edfm-orange ); | ||
color: #14171a; | color: #14171a; | ||
font-weight: 700; | font-weight: 700; | ||
font-family: var( --edfm-mono ); | |||
letter-spacing: 0.04em; | |||
text-transform: uppercase; | |||
text-align: center; | text-align: center; | ||
padding: 0.4em 0.6em; | padding: 0.4em 0.6em; | ||
clip-path: polygon( 0 0, calc( 100% - 14px ) 0, 100% 14px, 100% 100%, 0 100% ); | |||
} | } | ||
.edfm-infobox-image { | .edfm-infobox-image { | ||
text-align: center; | text-align: center; | ||
padding: 0.6em; | padding: 0.6em; | ||
border-bottom: 1px solid # | border-bottom: 1px solid #2b2f33; | ||
} | } | ||
.edfm-infobox-row { | .edfm-infobox-row { | ||
display: flex; | display: flex; | ||
border-bottom: 1px solid # | border-bottom: 1px solid #23272b; | ||
padding: 0.35em 0.6em; | padding: 0.35em 0.6em; | ||
} | } | ||
| Line 348: | Line 378: | ||
.edfm-infobox-label { | .edfm-infobox-label { | ||
font-weight: 700; | font-weight: 700; | ||
font-family: var( --edfm-mono ); | |||
font-size: 0.85em; | |||
width: 40%; | width: 40%; | ||
flex-shrink: 0; | flex-shrink: 0; | ||
color: var( --edfm-cyan ); | |||
} | } | ||
.edfm-infobox-value { | .edfm-infobox-value { | ||
Revision as of 05:38, 7 August 2026
/* EDFM site-wide styling.
* Original CSS written for this project — no code or assets copied from
* runescape.wiki, Elite Dangerous, or any other site/game. Visual
* direction (classic always-visible left sidebar, bordered header,
* right-floated infoboxes, permanent dark theme, orange/cyan "high-tech
* instrument panel" accents) is inspired by that genre, per operator
* request, but implemented from scratch: no copied HUD elements, no
* Frontier logo/branding, no proprietary fonts (the monospace stack
* below lists common system/open fonts with a generic `monospace`
* fallback — no font files are shipped or embedded), no glow/scanline
* animation effects, no fake cockpit widgets.
*
* SKIN NOTE (2026-08-07): the site uses Vector "legacy" (2011), not
* Vector 2022 — see the "Why Vector legacy" note in
* docs/content-style-guide.md (Vector 2022 hard-restricts its pinned
* sidebar to logged-in users; legacy has no such restriction).
*
* COLOUR NOTE (2026-08-07): permanent dark theme with an Elite-Dangerous-
* evoking orange-on-near-black palette, cyan as a secondary/status
* accent. Vector legacy has no light/dark toggle at all, so this is the
* site's one and only colour scheme, not a preference.
*
* Keep this file simple. If it grows much further, split it into
* per-purpose TemplateStyles sheets instead of one large Common.css.
*/
/* --- Fonts: a "technical readout" monospace stack for UI chrome (nav,
headings, table/infobox headers) -- common system/open fonts only,
nothing shipped or embedded, generic monospace as the final fallback.
Body/article paragraph text stays in a normal readable sans-serif on
purpose (see .mw-body below) -- long-form reading in monospace would
hurt readability, which stays a hard requirement even with a more
technical visual language elsewhere. */
:root {
--edfm-mono: 'JetBrains Mono', 'Fira Code', Consolas, 'SF Mono', Menlo, 'Courier New', monospace;
--edfm-orange: #ff8c1a;
--edfm-orange-hover: #ffab5c;
--edfm-orange-active: #ffc98f;
--edfm-cyan: #3ecbd6;
--color-progressive: #ff8c1a;
--color-progressive--hover: #ffab5c;
--color-progressive--active: #ffc98f;
--color-progressive--focus: #ff8c1a;
--background-color-progressive: #ff8c1a;
--background-color-progressive--hover: #ffab5c;
--background-color-progressive--active: #ffc98f;
--border-color-progressive: #ff8c1a;
--border-color-progressive--hover: #ffab5c;
--border-color-progressive--active: #ffc98f;
}
/* --- Base page colours ------------------------------------------------ */
html, body {
background-color: #0d0f11;
color: #d7dade;
}
body.mediawiki {
color: #d7dade;
}
h1, h2, h3, h4, h5, h6 {
color: #f2f4f6;
border-color: #2b2f33;
}
/* !important justified here: MediaWiki core's mediawiki.skinning module
sets heading colour with equal-specificity plain-tag selectors and
kept winning in testing despite this stylesheet loading later --
rather than keep chasing exact cascade/bundling order, force it. This
is a correctness/contrast fix, not decorative. */
.mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6,
.mw-heading1, .mw-heading2, .mw-heading3, .mw-heading4, .mw-heading5, .mw-heading6,
h1, h2, h3, h4, h5, h6 {
color: #f2f4f6 !important;
border-color: #2b2f33 !important;
font-family: var( --edfm-mono );
letter-spacing: 0.01em;
}
/* A restrained "instrument label" bracket treatment on major section
headings only (h2) -- plain characters via ::before/::after, no
images, no glow, no animation. */
.mw-body h2::before {
content: '// ';
color: var( --edfm-orange );
font-weight: 400;
}
#firstHeading {
color: #f2f4f6 !important;
font-family: var( --edfm-mono );
}
hr {
background-color: #2b2f33;
border-color: #2b2f33;
}
a { color: var( --edfm-orange ); transition: color 0.1s ease; }
a:visited { color: #d9974f; }
a:hover { color: var( --edfm-orange-hover ); }
a.new, .new a { color: #e07a7a; }
a.external { color: var( --edfm-orange ); }
/* --- Content/body panel ------------------------------------------------ */
.mw-body,
.parsoid-body {
background-color: #131619;
color: #d7dade;
border-color: #2b2f33;
font-family: sans-serif; /* readable body text -- not monospace */
}
#content {
background-color: #131619;
}
/* --- Header / masthead -------------------------------------------------- */
#mw-page-base {
background-color: #0d0f11;
background-image: none;
}
#mw-head-base {
background-color: #0d0f11;
}
#p-personal,
.vector-header-container {
border-bottom: 3px solid var( --edfm-orange );
}
#mw-head-base {
border-bottom: 3px solid var( --edfm-orange );
}
#p-personal a {
color: var( --edfm-orange );
font-family: var( --edfm-mono );
}
#left-navigation li a {
background-color: transparent;
color: #d7dade;
font-family: var( --edfm-mono );
letter-spacing: 0.01em;
}
#left-navigation li.selected a {
background-color: #131619;
color: #f2f4f6;
}
.vector-search-box-inner input,
#searchInput {
background-color: #16191c;
color: #eef1f4;
border: 1px solid #33383e;
font-family: var( --edfm-mono );
}
#searchInput::placeholder {
color: #767c84;
}
/* --- Sidebar ------------------------------------------------------------ */
#mw-panel {
background-color: #0d0f11;
}
#mw-panel .portal .body,
#mw-panel .portal ul {
border-color: #23272b;
}
#mw-panel .portal a {
color: #d7dade;
}
#mw-panel .portal a:hover {
color: var( --edfm-orange );
}
.vector-menu-heading {
color: var( --edfm-orange );
font-weight: 700;
font-family: var( --edfm-mono );
letter-spacing: 0.06em;
text-transform: uppercase;
font-size: 0.78em;
}
/* --- Tables (wikitables, and Special: pages' tables) ------------------- */
table.wikitable,
table.mw-datatable {
background-color: #16191c;
color: #d7dade;
border-color: #33383e;
}
table.wikitable > tr > th,
table.wikitable > * > tr > th {
background-color: #1e2226;
color: #f2f4f6;
border-color: #33383e;
font-family: var( --edfm-mono );
letter-spacing: 0.03em;
text-transform: uppercase;
font-size: 0.85em;
}
table.wikitable > tr > td,
table.wikitable > * > tr > td {
border-color: #2b2f33;
}
/* --- Footer -------------------------------------------------------------- */
.mw-footer,
.mw-footer li,
#footer-info,
#footer-info li {
color: #9aa0a6 !important;
border-color: #23272b;
}
.mw-footer a {
color: var( --edfm-orange ) !important;
}
#footer-icons img {
background: #eef1f4;
border-radius: 2px;
}
/* --- Misc MediaWiki UI chrome that ships with light backgrounds by
default: category box at the bottom of articles, image thumbnails,
collapsible table-of-contents box. */
.catlinks,
#toc,
.toc {
background-color: #16191c !important;
border-color: #2b2f33 !important;
color: #d7dade;
}
div.thumbinner {
background-color: #16191c;
border-color: #2b2f33;
}
.thumbimage {
background-color: #131619;
border-color: #2b2f33;
}
/* --- Code / preformatted text (syntaxhighlight uses its own Pygments
theme, set via $wgPygmentsStyle in LocalSettings.php; this covers
plain <pre>/<code> that isn't Pygments-highlighted). */
pre, code, .mw-code {
background-color: #16191c;
color: #d7dade;
border-color: #33383e;
font-family: var( --edfm-mono );
}
/* --- Mobile: Vector legacy has NO built-in responsive breakpoint at all
(unlike Vector 2022) -- its entire header region (#mw-head, tabs, search,
personal tools/login) is built with absolute positioning and floats that
all assume a fixed-width sidebar reserving 10-11em on the left, AND the
page's actual DOM order is content-then-navigation-then-footer (the
absolute positioning was doing double duty: both moving the header
visually to the top AND compensating for that DOM order). Simply
removing the positioning stacks things in DOM order, which reads oddly
on a phone (article text, then the nav/sidebar, then the footer).
Confirmed the actual DOM structure directly (not guessed): <body>'s
real children are #mw-page-base, #mw-head-base, #content, #mw-navigation
(which itself contains #mw-head then #mw-panel, already in the right
relative order), #footer. Since all four major regions are direct
children of <body>, flexbox `order` on <body> can reorder them properly
without needing to touch the DOM itself.
Result: header/search/tabs, then sidebar nav, then content, then
footer -- a plain stacked mobile layout, not a collapsible hamburger
menu, but a correct and readable order. */
@media ( max-width: 800px ) {
body {
display: flex;
flex-direction: column;
}
/* #mw-head-base ships with `margin-top: -5em` in Vector legacy's own CSS
-- a trick to sit it behind the absolutely-positioned header. Now that
the header is a normal flex sibling, that negative margin drags
everything after it upward. Neutralize both decorative strips. */
#mw-page-base,
#mw-head-base {
order: 0;
height: 0;
margin: 0;
min-height: 0;
}
#mw-navigation {
order: 1;
}
#content {
order: 2;
}
.mw-footer {
order: 3;
}
#mw-head {
position: static;
width: auto;
}
#left-navigation,
#right-navigation {
float: none;
margin: 0;
width: auto;
clear: both;
}
#left-navigation {
margin-top: 0;
}
#p-personal {
position: static;
text-align: right;
padding: 0.5em 1em;
margin: 0;
right: auto;
top: auto;
}
#p-personal ul {
padding-left: 0;
}
.vector-search-box {
float: none;
margin: 0.5em 1em;
display: block;
}
.vector-search-box-inner {
width: auto;
max-width: none;
}
#mw-panel {
position: static;
width: auto;
padding: 0.5em 1em;
float: none;
border-top: 1px solid #2b2f33;
border-bottom: 1px solid #2b2f33;
}
.mw-body,
#mw-data-after-content,
.mw-footer {
margin-left: 0;
}
.mw-body {
margin-top: 0;
border-width: 0;
padding: 1em;
}
}
/* --- Generic infobox: a right-floated, bordered reference box, the kind of
structural element most game-reference wikis use for at-a-glance specs.
A clipped top-right corner + monospace title give it a restrained
"instrument panel" feel without glow, gradients, or game-specific
chrome. See Template:Infobox for usage. */
.edfm-infobox {
float: right;
clear: right;
width: 300px;
margin: 0 0 1.2em 1.2em;
border: 1px solid var( --edfm-orange );
background: #16191c;
color: #d7dade;
font-size: 0.9em;
}
.edfm-infobox-title {
background: var( --edfm-orange );
color: #14171a;
font-weight: 700;
font-family: var( --edfm-mono );
letter-spacing: 0.04em;
text-transform: uppercase;
text-align: center;
padding: 0.4em 0.6em;
clip-path: polygon( 0 0, calc( 100% - 14px ) 0, 100% 14px, 100% 100%, 0 100% );
}
.edfm-infobox-image {
text-align: center;
padding: 0.6em;
border-bottom: 1px solid #2b2f33;
}
.edfm-infobox-row {
display: flex;
border-bottom: 1px solid #23272b;
padding: 0.35em 0.6em;
}
.edfm-infobox-row:last-child {
border-bottom: none;
}
.edfm-infobox-label {
font-weight: 700;
font-family: var( --edfm-mono );
font-size: 0.85em;
width: 40%;
flex-shrink: 0;
color: var( --edfm-cyan );
}
.edfm-infobox-value {
width: 60%;
}
@media ( max-width: 640px ) {
.edfm-infobox {
float: none;
width: auto;
margin: 1em 0;
}
}