MediaWiki:Common.css/sandbox: Difference between revisions
Candidate dark skin for preview; this subpage is not loaded by the wiki |
Give the MediaWiki/Codex design tokens dark values so components theme themselves |
||
| (13 intermediate revisions by the same user not shown) | |||
| Line 24: | Line 24: | ||
--accent-bright: #7ae4ff; | --accent-bright: #7ae4ff; | ||
--accent-deep: #1e9ec7; | --accent-deep: #1e9ec7; | ||
--steel-ink: # | --link: #8fb4c6; | ||
--link-visited: #7d97a5; | |||
--steel-ink: #10141a; | |||
--danger: #c45c5c; | --danger: #c45c5c; | ||
--steel-texture: | --steel-texture: | ||
| Line 48: | Line 50: | ||
var(--steel) 32%, var(--steel) 100%); | var(--steel) 32%, var(--steel) 100%); | ||
--mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace; | --mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace; | ||
} | |||
/*====================================================================== | |||
MediaWiki / Codex design tokens — dark values, so every component | |||
built on them follows without a per-class override | |||
======================================================================*/ | |||
:root { | |||
--background-color-base: #1a1a1a; | |||
--background-color-base--hover: #232427; | |||
--background-color-neutral: #232427; | |||
--background-color-neutral-subtle: #151515; | |||
--background-color-interactive: #23272c; | |||
--background-color-interactive-subtle: #1c1f23; | |||
--background-color-disabled: #2a2d31; | |||
--background-color-disabled-subtle: #232427; | |||
--background-color-progressive: #1e9ec7; | |||
--background-color-progressive--hover: #48d4ff; | |||
--background-color-progressive-subtle: rgba(72, 212, 255, 0.14); | |||
--background-color-destructive: #c45c5c; | |||
--background-color-destructive-subtle: rgba(196, 92, 92, 0.16); | |||
--background-color-transparent: transparent; | |||
--border-color-base: #4a4a4a; | |||
--border-color-interactive: #5c636b; | |||
--border-color-subtle: #3a3f45; | |||
--border-color-muted: #2f343a; | |||
--border-color-disabled: #3a3a3a; | |||
--border-color-progressive: #1e9ec7; | |||
--border-color-destructive: #c45c5c; | |||
--border-color-inverted: #1a1a1a; | |||
--color-base: #ececec; | |||
--color-base--hover: #ffffff; | |||
--color-emphasized: #ffffff; | |||
--color-subtle: #8a8a8a; | |||
--color-placeholder: #8a8a8a; | |||
--color-disabled: #6a6f75; | |||
--color-inverted: #10141a; | |||
--color-inverted-fixed: #10141a; | |||
--color-progressive: #8fb4c6; | |||
--color-progressive--hover: #7ae4ff; | |||
--color-destructive: #c45c5c; | |||
--color-visited: #7d97a5; | |||
--color-link-red: #c45c5c; | |||
--box-shadow-color-base: rgba(0, 0, 0, 0.6); | |||
} | } | ||
| Line 101: | Line 149: | ||
border-bottom: 1px solid var(--steel-dark); | border-bottom: 1px solid var(--steel-dark); | ||
padding-bottom: .2em; | padding-bottom: .2em; | ||
} | } | ||
| Line 118: | Line 161: | ||
#mw-panel a, | #mw-panel a, | ||
#footer a { | #footer a { | ||
color: var(-- | color: var(--link); | ||
} | } | ||
.mw-body a:visited { | .mw-body a:visited { | ||
color: var(-- | color: var(--link-visited); | ||
} | } | ||
| Line 142: | Line 185: | ||
} | } | ||
/*==================== | /*==================== personal bar ====================*/ | ||
# | #p-personal ul { | ||
color: var(--muted); | |||
} | |||
#p-personal li a, | |||
#p-personal li a:visited, | |||
#pt-anontalk a, | |||
#pt-anonuserpage { | |||
color: #b6bcc2; | |||
} | |||
#p-personal li a:hover { | |||
color: var(--accent-bright); | |||
} | |||
#p-personal li.new a, | |||
#p-personal li a.new { | |||
color: var(--danger); | |||
} | } | ||
#mw-panel . | /*==================== sidebar & tabs ====================*/ | ||
#mw-panel.vector-legacy-sidebar .vector-menu-heading { | |||
color: var(--muted); | color: var(--muted); | ||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: .08em; | letter-spacing: .08em; | ||
font-size: .72rem; | font-size: .72rem; | ||
border: 0; | |||
background: none; | |||
} | } | ||
#mw-panel . | #mw-panel.vector-legacy-sidebar .vector-menu-content { | ||
background: none; | background: none; | ||
} | } | ||
. | .vector-menu-tabs, | ||
. | .vector-menu-tabs ul, | ||
. | .vector-menu-tabs li, | ||
. | .vector-menu-tabs li a, | ||
.vector-menu-dropdown .vector-menu-heading { | |||
background-image: none; | background-image: none; | ||
} | } | ||
. | .vector-menu-tabs li, | ||
. | .vector-menu-dropdown .vector-menu-heading { | ||
background: var(--steel-dark); | background: var(--steel-dark); | ||
box-shadow: | |||
inset 1px 0 0 var(--panel-border), | |||
inset -1px 0 0 var(--panel-border), | |||
inset 0 1px 0 var(--panel-border); | |||
border-radius: 4px 4px 0 0; | border-radius: 4px 4px 0 0; | ||
} | } | ||
. | .vector-menu-tabs li.selected { | ||
background: | background: linear-gradient(180deg, #737a83 0%, #5c636b 100%); | ||
} | } | ||
. | .vector-menu-tabs li a, | ||
. | .vector-menu-tabs li a span, | ||
. | .vector-menu-dropdown .vector-menu-heading { | ||
color: var(-- | color: var(--link); | ||
} | } | ||
. | .vector-menu-tabs li.selected a, | ||
. | .vector-menu-tabs li.selected a span { | ||
color: | color: #0d1116; | ||
font-weight: 600; | font-weight: 600; | ||
} | } | ||
.vector-search-box-inner, | |||
#searchform input, | |||
background: var(--recess); | .cdx-text-input__input { | ||
border: 1px solid var(--panel-border); | background: var(--recess) !important; | ||
color: var(--text); | border: 1px solid var(--panel-border) !important; | ||
color: var(--text) !important; | |||
border-radius: 4px; | border-radius: 4px; | ||
} | |||
.cdx-text-input__input::placeholder { | |||
color: var(--muted); | |||
} | } | ||
| Line 209: | Line 277: | ||
border-top-color: rgba(255,255,255,.28) !important; | border-top-color: rgba(255,255,255,.28) !important; | ||
border-bottom-color: rgba(0,0,0,.55) !important; | border-bottom-color: rgba(0,0,0,.55) !important; | ||
border-radius: | border-radius: 6px !important; | ||
padding: | padding: 4px !important; | ||
box-shadow: | box-shadow: | ||
inset 0 1px 0 rgba(255,255,255,. | inset 0 1px 0 rgba(255,255,255,.3), | ||
inset 0 -1px 0 rgba(0,0,0,. | inset 0 -1px 0 rgba(0,0,0,.6), | ||
0 | 0 2px 8px rgba(0,0,0,.4) !important; | ||
color: var(--text); | color: var(--text); | ||
position: relative; | |||
} | |||
.infobox::after, | |||
#toc::after, | |||
table.recipe-table::after { | |||
content: ''; | |||
position: absolute; | |||
top: 1px; | |||
left: 10px; | |||
right: 10px; | |||
height: 1px; | |||
border-radius: 1px; | |||
background: var(--metal-rim); | |||
pointer-events: none; | |||
} | |||
.infobox caption a, | |||
table.recipe-table caption a { | |||
color: var(--steel-ink); | |||
} | |||
.infobox caption a:hover, | |||
table.recipe-table caption a:hover { | |||
color: #21506b; | |||
} | } | ||
| Line 229: | Line 322: | ||
text-align: left; | text-align: left; | ||
padding: 2px 4px 6px; | padding: 2px 4px 6px; | ||
} | |||
#toc .toctitle a, | |||
.toc .toctitle a, | |||
#toc .toctogglelabel, | |||
.toc .toctogglelabel { | |||
color: var(--steel-ink); | |||
opacity: .7; | |||
} | |||
#toc .toctitle a:hover, | |||
.toc .toctitle a:hover, | |||
#toc .toctogglelabel:hover { | |||
color: #21506b; | |||
opacity: 1; | |||
} | |||
#toc .tocnumber, | |||
.toc .tocnumber { | |||
color: var(--muted); | |||
} | |||
#toc a:hover .tocnumber, | |||
.toc a:hover .tocnumber { | |||
color: var(--text); | |||
} | } | ||
| Line 276: | Line 394: | ||
font-size: 90%; | font-size: 90%; | ||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
| Line 305: | Line 415: | ||
.infobox tr { | .infobox tr { | ||
border: 0; | border: 0; | ||
} | |||
.infobox .image-link { | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
gap: 6px; | |||
} | |||
.infobox .image-link img { | |||
max-width: 32px; | |||
max-height: 32px; | |||
display: inline-block; | |||
margin: 0; | |||
} | } | ||
| Line 310: | Line 434: | ||
.recipe-grid { | .recipe-grid { | ||
display: grid; | display: grid; | ||
grid-template-columns: repeat(auto-fill, minmax( | grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); | ||
gap: | gap: 9px; | ||
align-items: stretch; | align-items: stretch; | ||
margin: 10px 0; | margin: 10px 0; | ||
| Line 328: | Line 452: | ||
} | } | ||
table.recipe-table caption { | table.recipe-table caption, | ||
.infobox caption { | |||
color: var(--steel-ink); | color: var(--steel-ink); | ||
font-weight: 600; | font-weight: 600; | ||
padding: 3px 4px | padding: 3px 7px; | ||
margin-bottom: 4px; | |||
text-align: left; | text-align: left; | ||
background: | background: linear-gradient(180deg, #6c737c 0%, #575e66 100%); | ||
border: 0; | border: 0; | ||
border-radius: 4px; | |||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
| Line 412: | Line 539: | ||
height: 28px !important; | height: 28px !important; | ||
image-rendering: pixelated; | image-rendering: pixelated; | ||
} | |||
/*==================== translate language bar ====================*/ | |||
.mw-pt-languages { | |||
background: var(--recess) !important; | |||
border: 1px solid var(--steel-dark); | |||
border-radius: 6px; | |||
padding: 6px 10px; | |||
margin-bottom: 1em; | |||
color: var(--muted); | |||
box-shadow: inset 2px 2px 6px rgba(0,0,0,.5); | |||
} | |||
.mw-pt-languages-label { | |||
color: var(--muted); | |||
font-weight: 600; | |||
text-transform: uppercase; | |||
letter-spacing: .06em; | |||
font-size: .78em; | |||
} | |||
.mw-pt-languages-list a { | |||
color: var(--link); | |||
} | |||
.mw-pt-languages-list a:hover { | |||
color: var(--accent-bright); | |||
} | |||
.mw-pt-languages-ui, | |||
.mw-pt-languages-selected { | |||
color: var(--text); | |||
font-weight: 600; | |||
} | |||
.mw-pt-progress::after { | |||
background: var(--muted) !important; | |||
opacity: .5; | |||
} | |||
.mw-pt-progress--complete::after { | |||
background: var(--accent) !important; | |||
opacity: 1; | |||
} | |||
.mw-pt-languages-list a:empty { | |||
display: none; | |||
} | |||
.mw-pt-languages-list li:has(> a:empty) { | |||
display: none; | |||
} | |||
/*==================== images, thumbs, galleries ====================*/ | |||
figure[typeof~='mw:File/Thumb'], | |||
figure[typeof~='mw:File/Frame'], | |||
.thumbinner { | |||
background: var(--recess) !important; | |||
border: 1px solid var(--steel-dark) !important; | |||
border-radius: 6px; | |||
padding: 5px !important; | |||
color: var(--muted); | |||
} | |||
figure[typeof~='mw:File/Thumb'] > figcaption, | |||
figure[typeof~='mw:File/Frame'] > figcaption, | |||
.thumbcaption { | |||
background: transparent !important; | |||
color: var(--muted) !important; | |||
padding: 6px 3px 2px !important; | |||
line-height: 1.35; | |||
} | |||
figure[typeof~='mw:File/Thumb'] img, | |||
figure[typeof~='mw:File/Frame'] img, | |||
.thumbimage, | |||
img.thumbborder { | |||
border-color: var(--steel-dark) !important; | |||
background-color: transparent !important; | |||
border-radius: 3px; | |||
} | |||
.gallerybox div.thumb { | |||
background: var(--recess) !important; | |||
border: 1px solid var(--steel-dark) !important; | |||
border-radius: 6px; | |||
} | |||
.gallerytext, | |||
.gallerytext p { | |||
color: var(--muted); | |||
} | |||
li.gallerybox { | |||
background: transparent; | |||
} | |||
/*==================== OOUI / VisualEditor — dark ====================*/ | |||
.oo-ui-window-head, | |||
.oo-ui-window-foot, | |||
.oo-ui-processDialog-navigation { | |||
background: var(--steel-dark) !important; | |||
border-color: var(--panel-border) !important; | |||
color: var(--text); | |||
} | |||
.oo-ui-window-body, | |||
.oo-ui-dialog > .oo-ui-window-frame, | |||
.oo-ui-panelLayout-framed, | |||
.oo-ui-messageDialog-content > .oo-ui-window-foot { | |||
background: var(--panel) !important; | |||
border-color: var(--panel-border) !important; | |||
color: var(--text); | |||
} | |||
.oo-ui-window-frame { | |||
box-shadow: 0 8px 32px rgba(0,0,0,.6); | |||
border-radius: 6px; | |||
} | |||
.oo-ui-processDialog-title, | |||
.oo-ui-messageDialog-title, | |||
.oo-ui-messageDialog-message, | |||
.oo-ui-window-body .oo-ui-labelElement-label, | |||
.oo-ui-window-body .oo-ui-fieldLayout-header label, | |||
.oo-ui-window-body .oo-ui-fieldLayout-help, | |||
.oo-ui-window-body p, | |||
.oo-ui-window-body li { | |||
color: var(--text); | |||
} | |||
.oo-ui-window-body .oo-ui-fieldLayout-messages, | |||
.oo-ui-messageDialog-message { | |||
color: var(--muted); | |||
} | |||
.oo-ui-inputWidget-input, | |||
.oo-ui-textInputWidget input, | |||
.oo-ui-textInputWidget textarea, | |||
.mw-editform textarea, | |||
.mw-editform input[type='text'], | |||
#wpSummary { | |||
background: var(--recess) !important; | |||
border: 1px solid var(--panel-border) !important; | |||
color: var(--text) !important; | |||
border-radius: 4px; | |||
} | |||
.oo-ui-inputWidget-input::placeholder { | |||
color: var(--muted); | |||
} | |||
.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button { | |||
background: var(--steel-dark) !important; | |||
border-color: var(--panel-border) !important; | |||
color: var(--text) !important; | |||
} | |||
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { | |||
background: var(--steel-mid) !important; | |||
color: var(--text) !important; | |||
} | |||
.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button, | |||
.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { | |||
background: var(--accent-deep) !important; | |||
border-color: var(--accent-deep) !important; | |||
color: #05131a !important; | |||
font-weight: 600; | |||
} | |||
.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { | |||
background: var(--accent) !important; | |||
border-color: var(--accent) !important; | |||
} | |||
.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { | |||
color: var(--danger) !important; | |||
} | |||
.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button { | |||
color: var(--link) !important; | |||
} | |||
.oo-ui-menuSelectWidget, | |||
.oo-ui-popupWidget-popup, | |||
.oo-ui-popupWidget-body { | |||
background: var(--panel) !important; | |||
border-color: var(--panel-border) !important; | |||
color: var(--text); | |||
box-shadow: 0 6px 20px rgba(0,0,0,.6); | |||
} | |||
.oo-ui-optionWidget, | |||
.oo-ui-menuOptionWidget { | |||
color: var(--text); | |||
} | |||
.oo-ui-optionWidget.oo-ui-optionWidget-highlighted, | |||
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { | |||
background: var(--accent-subtle) !important; | |||
color: var(--text) !important; | |||
} | |||
.oo-ui-optionWidget.oo-ui-optionWidget-selected { | |||
background: rgba(72,212,255,.22) !important; | |||
color: var(--text) !important; | |||
} | |||
.oo-ui-checkboxInputWidget [type='checkbox'] + span, | |||
.oo-ui-radioInputWidget [type='radio'] + span { | |||
background: var(--recess); | |||
border-color: var(--panel-border); | |||
} | |||
.oo-ui-window-body a, | |||
.ve-ui-overlay a { | |||
color: var(--link); | |||
} | |||
.oo-ui-window-body a.new, | |||
.ve-ui-overlay a.new { | |||
color: var(--danger); | |||
} | |||
.ve-ui-toolbar > .oo-ui-toolbar-bar, | |||
.ve-ui-toolbar-floating > .oo-ui-toolbar-bar { | |||
background: var(--steel-dark) !important; | |||
border-color: var(--panel-border) !important; | |||
color: var(--text); | |||
} | |||
.ve-ui-surface .ve-ce-surface, | |||
.ve-ui-surface .ve-ce-documentNode { | |||
background: var(--panel); | |||
color: var(--text); | |||
} | |||
.editOptions, | |||
.mw-editform #editform { | |||
background: transparent; | |||
border-color: var(--panel-border); | |||
color: var(--text); | |||
} | |||
.mw-editform .editHelp, | |||
.mw-editform .editCheckboxes label, | |||
.editOptions label { | |||
color: var(--text); | |||
} | |||
.ve-ui-mwSaveDialog-editSummary-count { | |||
color: var(--muted) !important; | |||
border-left-color: var(--panel-border) !important; | |||
} | |||
/*==================== fieldsets, legends, boxed notices ====================*/ | |||
fieldset, | |||
details.mw-changeslist-legend, | |||
.mw-changeslist-legend, | |||
.mw-search-profile-tabs, | |||
.oo-ui-fieldsetLayout, | |||
.mw-htmlform-ooui-wrapper { | |||
background: var(--recess) !important; | |||
border: 1px solid var(--panel-border) !important; | |||
border-radius: 6px; | |||
color: var(--text); | |||
} | |||
fieldset > legend, | |||
details.mw-changeslist-legend > summary, | |||
.mw-changeslist-legend > summary, | |||
.oo-ui-fieldsetLayout > .oo-ui-fieldsetLayout-header { | |||
color: var(--muted) !important; | |||
font-weight: 600; | |||
} | |||
.mw-changeslist-legend dt, | |||
.mw-changeslist-legend dd { | |||
color: var(--text); | |||
} | } | ||
/*==================== category bar ====================*/ | /*==================== category bar ====================*/ | ||
.catlinks { | .catlinks { | ||
padding: | padding: 4px !important; | ||
color: var(-- | color: var(--muted); | ||
} | |||
.catlinks > div { | |||
background: var(--recess); | |||
border-radius: 5px; | |||
padding: 7px 10px; | |||
box-shadow: inset 2px 2px 6px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.38); | |||
} | } | ||
.catlinks a { | .catlinks a { | ||
color: | color: var(--accent); | ||
} | } | ||
.catlinks a:hover { | .catlinks a:hover { | ||
color: | color: var(--accent-bright); | ||
} | } | ||
Latest revision as of 12:06, 5 September 2026
/*======================================================================
Evospace wiki skin — tokens shared with evospace.tech
======================================================================*/
- root {
color-scheme: dark;
--bg: #2e2e2e;
--bg-deep: #1a1a1a;
--bg-base: #0a0a10;
--steel: #3a3e44;
--steel-light: #525860;
--steel-mid: #434850;
--steel-dark: #272a2f;
--panel: #1a1a1a;
--panel-raised: #242424;
--panel-border: #4a4a4a;
--recess: #151515;
--bevel-light: rgba(255, 255, 255, 0.1);
--bevel-dark: rgba(0, 0, 0, 0.65);
--text: #ececec;
--muted: #8a8a8a;
--accent-subtle: rgba(72, 212, 255, 0.14);
--accent-muted: #5ec4e8;
--accent: #48d4ff;
--accent-bright: #7ae4ff;
--accent-deep: #1e9ec7;
--link: #8fb4c6;
--link-visited: #7d97a5;
--steel-ink: #10141a;
--danger: #c45c5c;
--steel-texture:
repeating-linear-gradient(0deg,
rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px,
transparent 1px, transparent 3px,
rgba(0,0,0,.04) 3px, rgba(0,0,0,.04) 4px,
transparent 4px, transparent 7px),
repeating-linear-gradient(90deg,
transparent, transparent 2px,
rgba(255,255,255,.012) 2px, rgba(255,255,255,.012) 3px);
--steel-gloss:
linear-gradient(180deg,
rgba(255,255,255,.16) 0%, rgba(255,255,255,.07) 6%,
rgba(255,255,255,.02) 14%, transparent 38%);
--metal-rim:
linear-gradient(90deg, transparent 0%,
rgba(255,255,255,.22) 12%, rgba(255,255,255,.72) 50%,
rgba(255,255,255,.22) 88%, transparent 100%);
--steel-body:
linear-gradient(180deg,
var(--steel-light) 0%, var(--steel-mid) 14%,
var(--steel) 32%, var(--steel) 100%);
--mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
}
/*======================================================================
MediaWiki / Codex design tokens — dark values, so every component built on them follows without a per-class override
======================================================================*/
- root {
--background-color-base: #1a1a1a; --background-color-base--hover: #232427; --background-color-neutral: #232427; --background-color-neutral-subtle: #151515; --background-color-interactive: #23272c; --background-color-interactive-subtle: #1c1f23; --background-color-disabled: #2a2d31; --background-color-disabled-subtle: #232427; --background-color-progressive: #1e9ec7; --background-color-progressive--hover: #48d4ff; --background-color-progressive-subtle: rgba(72, 212, 255, 0.14); --background-color-destructive: #c45c5c; --background-color-destructive-subtle: rgba(196, 92, 92, 0.16); --background-color-transparent: transparent;
--border-color-base: #4a4a4a; --border-color-interactive: #5c636b; --border-color-subtle: #3a3f45; --border-color-muted: #2f343a; --border-color-disabled: #3a3a3a; --border-color-progressive: #1e9ec7; --border-color-destructive: #c45c5c; --border-color-inverted: #1a1a1a;
--color-base: #ececec; --color-base--hover: #ffffff; --color-emphasized: #ffffff; --color-subtle: #8a8a8a; --color-placeholder: #8a8a8a; --color-disabled: #6a6f75; --color-inverted: #10141a; --color-inverted-fixed: #10141a; --color-progressive: #8fb4c6; --color-progressive--hover: #7ae4ff; --color-destructive: #c45c5c; --color-visited: #7d97a5; --color-link-red: #c45c5c;
--box-shadow-color-base: rgba(0, 0, 0, 0.6);
}
/*==================== page ====================*/ body {
background: var(--bg-base); color: var(--text);
}
.mw-body,
- content,
- mw-content-text {
background: var(--panel); color: var(--text); border-color: var(--panel-border);
}
.mw-body {
border: 1px solid var(--panel-border); border-radius: 6px; box-shadow: inset 1px 1px 0 var(--bevel-light), 0 6px 24px rgba(0,0,0,.5);
}
- mw-page-base {
background: var(--bg-deep);
}
- mw-head-base,
- mw-navigation h2 {
border: 0;
}
/*==================== typography ====================*/ .mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6,
- firstHeading {
color: var(--text); font-weight: 600; border: 0;
}
.mw-body h1,
- firstHeading {
border-bottom: 1px solid var(--steel-mid); padding-bottom: .25em;
}
.mw-body h2 {
border-bottom: 1px solid var(--steel-dark); padding-bottom: .2em;
}
hr {
border: 0; border-top: 1px solid var(--steel-dark);
}
/*==================== links ====================*/ .mw-body a, .mw-body a.external,
- mw-panel a,
- footer a {
color: var(--link);
}
.mw-body a:visited {
color: var(--link-visited);
}
.mw-body a:hover,
- mw-panel a:hover {
color: var(--accent-bright); text-decoration: underline;
}
.mw-body a.new,
- mw-panel a.new,
a.new:visited {
color: var(--danger);
}
.mw-body a.external {
background-image: none; padding-right: 0;
}
/*==================== personal bar ====================*/
- p-personal ul {
color: var(--muted);
}
- p-personal li a,
- p-personal li a:visited,
- pt-anontalk a,
- pt-anonuserpage {
color: #b6bcc2;
}
- p-personal li a:hover {
color: var(--accent-bright);
}
- p-personal li.new a,
- p-personal li a.new {
color: var(--danger);
}
/*==================== sidebar & tabs ====================*/
- mw-panel.vector-legacy-sidebar .vector-menu-heading {
color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; border: 0; background: none;
}
- mw-panel.vector-legacy-sidebar .vector-menu-content {
background: none;
}
.vector-menu-tabs, .vector-menu-tabs ul, .vector-menu-tabs li, .vector-menu-tabs li a, .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
.vector-menu-tabs li, .vector-menu-dropdown .vector-menu-heading {
background: var(--steel-dark);
box-shadow:
inset 1px 0 0 var(--panel-border),
inset -1px 0 0 var(--panel-border),
inset 0 1px 0 var(--panel-border);
border-radius: 4px 4px 0 0;
}
.vector-menu-tabs li.selected {
background: linear-gradient(180deg, #737a83 0%, #5c636b 100%);
}
.vector-menu-tabs li a, .vector-menu-tabs li a span, .vector-menu-dropdown .vector-menu-heading {
color: var(--link);
}
.vector-menu-tabs li.selected a, .vector-menu-tabs li.selected a span {
color: #0d1116; font-weight: 600;
}
.vector-search-box-inner,
- searchform input,
.cdx-text-input__input {
background: var(--recess) !important; border: 1px solid var(--panel-border) !important; color: var(--text) !important; border-radius: 4px;
}
.cdx-text-input__input::placeholder {
color: var(--muted);
}
/*==================== steel frame — the shared panel look ====================*/ .infobox,
- toc,
.toc, .catlinks, table.recipe-table {
background: var(--steel-gloss), var(--steel-texture), var(--steel-body) !important;
border: 1px solid rgba(255,255,255,.1) !important;
border-top-color: rgba(255,255,255,.28) !important;
border-bottom-color: rgba(0,0,0,.55) !important;
border-radius: 6px !important;
padding: 4px !important;
box-shadow:
inset 0 1px 0 rgba(255,255,255,.3),
inset 0 -1px 0 rgba(0,0,0,.6),
0 2px 8px rgba(0,0,0,.4) !important;
color: var(--text);
position: relative;
}
.infobox::after,
- toc::after,
table.recipe-table::after {
content: ; position: absolute; top: 1px; left: 10px; right: 10px; height: 1px; border-radius: 1px; background: var(--metal-rim); pointer-events: none;
}
.infobox caption a, table.recipe-table caption a {
color: var(--steel-ink);
}
.infobox caption a:hover, table.recipe-table caption a:hover {
color: #21506b;
}
/*==================== table of contents ====================*/
- toc,
.toc {
display: inline-block;
}
- toc .toctitle,
.toc .toctitle {
color: var(--steel-ink); text-align: left; padding: 2px 4px 6px;
}
- toc .toctitle a,
.toc .toctitle a,
- toc .toctogglelabel,
.toc .toctogglelabel {
color: var(--steel-ink); opacity: .7;
}
- toc .toctitle a:hover,
.toc .toctitle a:hover,
- toc .toctogglelabel:hover {
color: #21506b; opacity: 1;
}
- toc .tocnumber,
.toc .tocnumber {
color: var(--muted);
}
- toc a:hover .tocnumber,
.toc a:hover .tocnumber {
color: var(--text);
}
- toc ul,
.toc ul {
background: var(--recess); border-radius: 5px; padding: .6em 1.2em; margin: 0; box-shadow: inset 2px 2px 6px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.38);
}
/*==================== wikitables ====================*/ table.wikitable {
background: var(--recess); color: var(--text); border: 1px solid var(--panel-border); border-collapse: collapse; border-radius: 6px; overflow: hidden;
}
table.wikitable > * > tr > th {
background: var(--steel-body); background-image: var(--steel-gloss), var(--steel-texture), var(--steel-body); color: var(--steel-ink); border: 1px solid var(--steel-dark); text-align: left;
}
table.wikitable > * > tr > td {
background: transparent; border: 1px solid var(--steel-dark);
}
table.wikitable > * > tr:nth-child(even) > td {
background: rgba(255,255,255,.022);
}
/*==================== infobox ====================*/ .infobox {
float: right; clear: right; margin: 0 0 1em 1em; width: 300px; border-collapse: separate !important; font-size: 90%; overflow: hidden;
}
.infobox th, .infobox td {
background: var(--recess) !important; color: var(--text); border: 0 !important; padding: 6px !important;
}
.infobox th {
color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .78em; width: 40%;
}
.infobox tr {
border: 0;
}
.infobox .image-link {
display: flex; align-items: center; justify-content: center; gap: 6px;
}
.infobox .image-link img {
max-width: 32px; max-height: 32px; display: inline-block; margin: 0;
}
/*==================== recipe cards ====================*/ .recipe-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 9px; align-items: stretch; margin: 10px 0;
}
table.recipe-table {
display: flex !important; flex-direction: column; width: auto !important; min-width: 0; max-width: none; height: 100%; margin: 0; font-size: 85%; border-collapse: separate !important;
}
table.recipe-table caption, .infobox caption {
color: var(--steel-ink); font-weight: 600; padding: 3px 7px; margin-bottom: 4px; text-align: left; background: linear-gradient(180deg, #6c737c 0%, #575e66 100%); border: 0; border-radius: 4px; display: flex; align-items: center; gap: 6px;
}
table.recipe-table tbody {
display: flex; flex-direction: column; flex: 1; background: var(--recess); border-radius: 5px; padding: 4px; box-shadow: inset 2px 2px 6px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.38);
}
table.recipe-table tr {
display: flex; align-items: center; gap: 6px; border: 0;
}
table.recipe-table tr:last-child {
margin-top: auto;
}
table.recipe-table th {
display: block; width: 100%; background: none !important; color: var(--muted) !important; text-align: left !important; text-transform: uppercase; letter-spacing: .1em; font-size: .68rem !important; font-weight: 600 !important; padding: 6px 2px 2px !important; border: 0 !important;
}
table.recipe-table td {
background: none !important; border: 0 !important; padding: 2px !important; color: var(--text);
}
table.recipe-table td:first-child {
flex: 0 0 34px; width: 34px !important; height: 34px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.35) !important; border: 1px solid var(--steel-dark) !important; border-radius: 4px;
}
table.recipe-table td:nth-child(2) {
flex: 1; width: auto !important; white-space: normal; line-height: 1.25;
}
table.recipe-table td[colspan="2"] {
flex: 1; text-align: center; color: var(--muted); font-variant-numeric: tabular-nums;
}
table.recipe-table img {
width: 28px !important; height: 28px !important; image-rendering: pixelated;
}
/*==================== translate language bar ====================*/ .mw-pt-languages {
background: var(--recess) !important; border: 1px solid var(--steel-dark); border-radius: 6px; padding: 6px 10px; margin-bottom: 1em; color: var(--muted); box-shadow: inset 2px 2px 6px rgba(0,0,0,.5);
}
.mw-pt-languages-label {
color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .78em;
}
.mw-pt-languages-list a {
color: var(--link);
}
.mw-pt-languages-list a:hover {
color: var(--accent-bright);
}
.mw-pt-languages-ui, .mw-pt-languages-selected {
color: var(--text); font-weight: 600;
}
.mw-pt-progress::after {
background: var(--muted) !important; opacity: .5;
}
.mw-pt-progress--complete::after {
background: var(--accent) !important; opacity: 1;
}
.mw-pt-languages-list a:empty {
display: none;
}
.mw-pt-languages-list li:has(> a:empty) {
display: none;
}
/*==================== images, thumbs, galleries ====================*/ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner {
background: var(--recess) !important; border: 1px solid var(--steel-dark) !important; border-radius: 6px; padding: 5px !important; color: var(--muted);
}
figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, .thumbcaption {
background: transparent !important; color: var(--muted) !important; padding: 6px 3px 2px !important; line-height: 1.35;
}
figure[typeof~='mw:File/Thumb'] img, figure[typeof~='mw:File/Frame'] img, .thumbimage, img.thumbborder {
border-color: var(--steel-dark) !important; background-color: transparent !important; border-radius: 3px;
}
.gallerybox div.thumb {
background: var(--recess) !important; border: 1px solid var(--steel-dark) !important; border-radius: 6px;
}
.gallerytext, .gallerytext p {
color: var(--muted);
}
li.gallerybox {
background: transparent;
}
/*==================== OOUI / VisualEditor — dark ====================*/ .oo-ui-window-head, .oo-ui-window-foot, .oo-ui-processDialog-navigation {
background: var(--steel-dark) !important; border-color: var(--panel-border) !important; color: var(--text);
}
.oo-ui-window-body, .oo-ui-dialog > .oo-ui-window-frame, .oo-ui-panelLayout-framed, .oo-ui-messageDialog-content > .oo-ui-window-foot {
background: var(--panel) !important; border-color: var(--panel-border) !important; color: var(--text);
}
.oo-ui-window-frame {
box-shadow: 0 8px 32px rgba(0,0,0,.6); border-radius: 6px;
}
.oo-ui-processDialog-title, .oo-ui-messageDialog-title, .oo-ui-messageDialog-message, .oo-ui-window-body .oo-ui-labelElement-label, .oo-ui-window-body .oo-ui-fieldLayout-header label, .oo-ui-window-body .oo-ui-fieldLayout-help, .oo-ui-window-body p, .oo-ui-window-body li {
color: var(--text);
}
.oo-ui-window-body .oo-ui-fieldLayout-messages, .oo-ui-messageDialog-message {
color: var(--muted);
}
.oo-ui-inputWidget-input, .oo-ui-textInputWidget input, .oo-ui-textInputWidget textarea, .mw-editform textarea, .mw-editform input[type='text'],
- wpSummary {
background: var(--recess) !important; border: 1px solid var(--panel-border) !important; color: var(--text) !important; border-radius: 4px;
}
.oo-ui-inputWidget-input::placeholder {
color: var(--muted);
}
.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
background: var(--steel-dark) !important; border-color: var(--panel-border) !important; color: var(--text) !important;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {
background: var(--steel-mid) !important; color: var(--text) !important;
}
.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button, .oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
background: var(--accent-deep) !important; border-color: var(--accent-deep) !important; color: #05131a !important; font-weight: 600;
}
.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {
background: var(--accent) !important; border-color: var(--accent) !important;
}
.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button {
color: var(--danger) !important;
}
.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button {
color: var(--link) !important;
}
.oo-ui-menuSelectWidget, .oo-ui-popupWidget-popup, .oo-ui-popupWidget-body {
background: var(--panel) !important; border-color: var(--panel-border) !important; color: var(--text); box-shadow: 0 6px 20px rgba(0,0,0,.6);
}
.oo-ui-optionWidget, .oo-ui-menuOptionWidget {
color: var(--text);
}
.oo-ui-optionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
background: var(--accent-subtle) !important; color: var(--text) !important;
}
.oo-ui-optionWidget.oo-ui-optionWidget-selected {
background: rgba(72,212,255,.22) !important; color: var(--text) !important;
}
.oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span {
background: var(--recess); border-color: var(--panel-border);
}
.oo-ui-window-body a, .ve-ui-overlay a {
color: var(--link);
}
.oo-ui-window-body a.new, .ve-ui-overlay a.new {
color: var(--danger);
}
.ve-ui-toolbar > .oo-ui-toolbar-bar, .ve-ui-toolbar-floating > .oo-ui-toolbar-bar {
background: var(--steel-dark) !important; border-color: var(--panel-border) !important; color: var(--text);
}
.ve-ui-surface .ve-ce-surface, .ve-ui-surface .ve-ce-documentNode {
background: var(--panel); color: var(--text);
}
.editOptions, .mw-editform #editform {
background: transparent; border-color: var(--panel-border); color: var(--text);
}
.mw-editform .editHelp, .mw-editform .editCheckboxes label, .editOptions label {
color: var(--text);
}
.ve-ui-mwSaveDialog-editSummary-count {
color: var(--muted) !important; border-left-color: var(--panel-border) !important;
}
/*==================== fieldsets, legends, boxed notices ====================*/ fieldset, details.mw-changeslist-legend, .mw-changeslist-legend, .mw-search-profile-tabs, .oo-ui-fieldsetLayout, .mw-htmlform-ooui-wrapper {
background: var(--recess) !important; border: 1px solid var(--panel-border) !important; border-radius: 6px; color: var(--text);
}
fieldset > legend, details.mw-changeslist-legend > summary, .mw-changeslist-legend > summary, .oo-ui-fieldsetLayout > .oo-ui-fieldsetLayout-header {
color: var(--muted) !important; font-weight: 600;
}
.mw-changeslist-legend dt, .mw-changeslist-legend dd {
color: var(--text);
}
/*==================== category bar ====================*/ .catlinks {
padding: 4px !important; color: var(--muted);
}
.catlinks > div {
background: var(--recess); border-radius: 5px; padding: 7px 10px; box-shadow: inset 2px 2px 6px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.38);
}
.catlinks a {
color: var(--accent);
}
.catlinks a:hover {
color: var(--accent-bright);
}
/*==================== footer ====================*/
- footer,
- footer li,
- footer-info li {
color: var(--muted);
}
- footer {
border-top: 1px solid var(--steel-dark);
}