Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Vector-2022.css

MediaWiki interface page
Revision as of 19:09, 17 November 2025 by Stevium (talk | contribs) (CSS styles weren't being applied with "@import" so merging color styles here)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Codex Design tokens */
@media screen {
  :root,.skin-invert,.notheme {
    /* Colors */
    --color-base: #5a4a3c;
    --color-base-fixed: #5a4a3c;
    --color-base--hover: #6e6052;
    --color-emphasized: #45392e;
    --color-subtle: #705d4c;
    --color-base--subtle: #705d4c; /* deprecated */
    --color-placeholder: #82756a;
    --color-disabled: #82756a;
    --color-inverted: #fefff2;
    --color-inverted-fixed: #f6f9dd;
    --color-progressive: #21669a;
    --color-progressive--hover: #4b77d6;
    --color-progressive--active: #233566;
    --color-progressive--focus: #21669a;
    --color-destructive: #d73333;
    --color-destructive--hover: #fc493b;
    --color-destructive--active: #9f3526;
    --color-destructive--focus: #21669a;
    --color-visited: #6a60b0;
    --color-destructive--visited: #9f5555;
    --color-error: #d73333;
    --color-warning: #eeb533;
    --color-success: #177860;
    --color-notice: #5a4a3c;
    --color-content-added: #006400;
    --color-content-removed: #d73333;

    /* Filters */
    --filter-invert-icon: 0;
    --filter-invert-primary-button-icon: 1;

    /* Box shadow colors */
    --box-shadow-color-base: #0b0d19;
    --box-shadow-color-progressive--active: #233566;
    --box-shadow-color-progressive--focus: #21669a;
    --box-shadow-color-progressive-selected: #21669a;
    --box-shadow-color-progressive-selected--hover: #4b77d6;
    --box-shadow-color-progressive-selected--active: #233566;
    --box-shadow-color-destructive--focus: #21669a;
    --box-shadow-color-inverted: #fffeef;
    --box-shadow-color-transparent: transparent;

    /* Background colors */
    --background-color-base: #f6f9dd;
    --background-color-base-fixed: #f6f9dd;
    --background-color-neutral: #fefdde;
    --background-color-neutral-subtle: #e8ebd0;
    --background-color-interactive: #fefdde;
    --background-color-interactive-subtle: #e8ebd0;
    --background-color-disabled: #c4c4c4;
    --background-color-disabled-subtle: #d5d5d5;
    --background-color-inverted: #45392e;
    --background-color-progressive: #21669a;
    --background-color-progressive--hover: #4b77d6;
    --background-color-progressive--active: #233566;
    --background-color-progressive--focus: #21669a;
    --background-color-progressive-subtle: #f1f4fd;
    --background-color-destructive: #d73333;
    --background-color-destructive--hover: #fc493b;
    --background-color-destructive--active: #9f3526;
    --background-color-destructive--focus: #21669a;
    --background-color-destructive-subtle: #ffe9e5;
    --background-color-error: #d73333;
    --background-color-error--hover: #fc493b;
    --background-color-error--active: #9f3526;
    --background-color-error-subtle: #ffe9e5;
    --background-color-warning-subtle: #fdf2d5;
    --background-color-success-subtle: #dff2eb;
    --background-color-notice-subtle: #fefdde;
    --background-color-content-added: #a3d3ff;
    --background-color-content-removed: #ffe49c;
    --background-color-transparent: transparent;
    --background-color-backdrop-light: rgba(255,255,255,0.65);
    --background-color-backdrop-dark: rgba(0,0,0,0.65);
    --background-color-button-quiet--hover: rgba(0,24,73,0.027);
    --background-color-button-quiet--active: rgba(0,24,73,0.082);
    --background-color-input-binary--checked: #21669a;
    --background-color-tab-list-item-framed--hover: rgba(255,255,255,0.3);
    --background-color-tab-list-item-framed--active: rgba(255,255,255,0.65);

    /* Opacity */
    --opacity-icon-base: 0.87;
    --opacity-icon-base--hover: 0.74;
    --opacity-icon-base--selected: 1;
    --opacity-icon-base--disabled: 0.51;
    --opacity-icon-placeholder: 0.51;
    --opacity-icon-subtle: 0.67;

    /* Border colors */
    --border-color-base: #aaa29c;
    --border-color-subtle: #b6b0ab;
    --border-color-muted: #d2cac4;
    --border-color-interactive: #82756a;
    --border-color-disabled: #b6b0ab;
    --border-color-inverted: #f6f9dd;
    --border-color-progressive: #21669a;
    --border-color-progressive--hover: #4b77d6;
    --border-color-progressive--active: #233566;
    --border-color-progressive--focus: #21669a;
    --border-color-destructive: #d73333;
    --border-color-destructive--hover: #fc493b;
    --border-color-destructive--active: #9f3526;
    --border-color-destructive--focus: #21669a;
    --border-color-error: #9f3526;
    --border-color-error--hover: #fc493b;
    --border-color-warning: #987027;
    --border-color-success: #196551;
    --border-color-notice: #705d4c;
    --border-color-content-added: #a3d3ff;
    --border-color-content-removed: #ffe49c;
    --border-color-transparent: transparent;
    --border-color-divider: #aaa29c;
    --outline-color-progressive--focus: #21669a;
    --border-color-input--hover: var(--border-color-interactive);
    --border-color-input-binary: var(--border-color-interactive);
    --border-color-input-binary--hover: var(--border-color-progressive--hover);
    --border-color-input-binary--active: var(--border-color-progressive--active);
    --border-color-input-binary--focus: var(--border-color-progressive--focus);
    --border-color-input-binary--checked: var(--border-color-progressive);

    /* Link colors */
    --color-link-red: var(--color-destructive);
    --color-link-red--hover: var(--color-destructive--hover);
    --color-link-red--active: var(--color-destructive--active);
    --color-link-red--focus: var(--color-destructive--focus);
    --color-link-red--visited: var(--color-destructive--visited);
  }

  html.skin-theme-clientpref-night {
    color-scheme: dark;

    /* Colors */
    --color-base: #fefdde;
    --color-base-fixed: #fefdde;
    --color-base--hover: #f8f7e3;
    --color-emphasized: #f8f7e3;
    --color-subtle: #fafaea;
    --color-base--subtle: #fafaea; /* deprecated */
    --color-placeholder: #656985;
    --color-disabled: #656985;
    --color-inverted: #0d0f1e;
    --color-progressive: #71bed7;
    --color-progressive--hover: #b0c1f0;
    --color-progressive--active: #cbd6f6;
    --color-destructive: #fd7865;
    --color-destructive--hover: #fea898;
    --color-destructive--active: #ffc8bd;
    --color-visited: #a799cd;
    --color-destructive--visited: #c99391;
    --color-error: #fd7865;
    --color-warning: #fecc44;
    --color-success: #2cb491;
    --color-notice: #f8f7e3;
    --color-content-added: #80cdb3;
    --color-content-removed: #fd7865;

    /* Box shadow colors */
    --box-shadow-color-base: #fffeef;
    --box-shadow-color-progressive--focus: #6b8edf;
    --box-shadow-color-destructive--focus: #6b8edf;
    --box-shadow-color-inverted: #0b0d19;

    /* Background colors */
    --background-color-base: #0d0f1e;
    --background-color-neutral: #16192a;
    --background-color-neutral-subtle: #1d1f2e;
    --background-color-interactive: #16192a;
    --background-color-interactive-subtle: #1d1f2e;
    --background-color-disabled: #292c41;
    --background-color-disabled-subtle: #2c2f3e;
    --background-color-inverted: #f8f7e3;
    --background-color-progressive--focus: #6b8edf;
    --background-color-progressive-subtle: #233566;
    --background-color-destructive--focus: #6b8edf;
    --background-color-destructive-subtle: #612419;
    --background-color-error: #fc493b;
    --background-color-error--hover: #fd7865;
    --background-color-error--active: #fea898;
    --background-color-error-subtle: #612419;
    --background-color-warning-subtle: #453217;
    --background-color-success-subtle: #153d31;
    --background-color-notice-subtle: #16192a;
    --background-color-content-added: #233566;
    --background-color-content-removed: #453217;
    --background-color-backdrop-light: rgba(0,0,0,0.65);
    --background-color-backdrop-dark: rgba(255,255,255,0.65);
    
    /* Border colors */
    --border-color-base: #424663;
    --border-color-subtle: #292c41;
    --border-color-muted: #2c2f3e;
    --border-color-interactive: #6f6f77;
    --border-color-disabled: #292c41;
    --border-color-inverted: #0d0f1e;
    --border-color-progressive--focus: #6b8edf;
    --border-color-destructive--focus: #6b8edf;
    --border-color-error: #fc493b;
    --border-color-error--hover: #fd7865;
    --border-color-warning: #fecc44;
    --border-color-success: #2cb491;
    --border-color-notice: #c8ccd1;
    --border-color-content-added: #233566;
    --border-color-content-removed: #987027;
  }
}

@media screen and (prefers-color-scheme: dark) {
  .skin-theme-clientpref-os {
    /* Colors */
    --color-base: #fefdde;
    --color-base-fixed: #fefdde;
    --color-base--hover: #f8f7e3;
    --color-emphasized: #f8f7e3;
    --color-subtle: #fafaea;
    --color-base--subtle: #fafaea; /* deprecated */
    --color-placeholder: #656985;
    --color-disabled: #656985;
    --color-inverted: #0d0f1e;
    --color-progressive: #71bed7;
    --color-progressive--hover: #b0c1f0;
    --color-progressive--active: #cbd6f6;
    --color-destructive: #fd7865;
    --color-destructive--hover: #fea898;
    --color-destructive--active: #ffc8bd;
    --color-visited: #a799cd;
    --color-destructive--visited: #c99391;
    --color-error: #fd7865;
    --color-warning: #fecc44;
    --color-success: #2cb491;
    --color-notice: #f8f7e3;
    --color-content-added: #80cdb3;
    --color-content-removed: #fd7865;

    /* Box shadow colors */
    --box-shadow-color-base: #fffeef;
    --box-shadow-color-progressive--focus: #6b8edf;
    --box-shadow-color-destructive--focus: #6b8edf;
    --box-shadow-color-inverted: #0b0d19;

    /* Background colors */
    --background-color-base: #0d0f1e;
    --background-color-neutral: #16192a;
    --background-color-neutral-subtle: #1d1f2e;
    --background-color-interactive: #16192a;
    --background-color-interactive-subtle: #1d1f2e;
    --background-color-disabled: #292c41;
    --background-color-disabled-subtle: #2c2f3e;
    --background-color-inverted: #f8f7e3;
    --background-color-progressive--focus: #6b8edf;
    --background-color-progressive-subtle: #233566;
    --background-color-destructive--focus: #6b8edf;
    --background-color-destructive-subtle: #612419;
    --background-color-error: #fc493b;
    --background-color-error--hover: #fd7865;
    --background-color-error--active: #fea898;
    --background-color-error-subtle: #612419;
    --background-color-warning-subtle: #453217;
    --background-color-success-subtle: #153d31;
    --background-color-notice-subtle: #16192a;
    --background-color-content-added: #233566;
    --background-color-content-removed: #453217;
    --background-color-backdrop-light: rgba(0,0,0,0.65);
    --background-color-backdrop-dark: rgba(255,255,255,0.65);
    
    /* Border colors */
    --border-color-base: #424663;
    --border-color-subtle: #292c41;
    --border-color-muted: #2c2f3e;
    --border-color-interactive: #6f6f77;
    --border-color-disabled: #292c41;
    --border-color-inverted: #0d0f1e;
    --border-color-progressive--focus: #6b8edf;
    --border-color-destructive--focus: #6b8edf;
    --border-color-error: #fc493b;
    --border-color-error--hover: #fd7865;
    --border-color-warning: #fecc44;
    --border-color-success: #2cb491;
    --border-color-notice: #c8ccd1;
    --border-color-content-added: #233566;
    --border-color-content-removed: #987027;
  }
}

/* Header */
.mw-header {
  top: 10px;
  background-color: transparent !important;
}

/* Page Container */
.mw-page-container {
  background-color: var(--background-color-base) !important;
  border-radius: 40px;
  margin-top: 20px;
}

/* Apply margin to page container and sticky header in Wide Mode on larger screens */
@media screen and (min-width: 1680px) {
  .vector-feature-limited-width-clientpref-0, .vector-sticky-header  {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

/* Apply margin to page container and sticky header on smaller screens */
@media screen and (max-width: 1680px) {
  .mw-page-container, .vector-sticky-header {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}

/* Reduce footer container padding */
.mw-footer-container {
  padding-bottom: 2rem;
}

/* Typography */
.mw-body h1 {
  font-size: 48px !important;
}

.mw-body h2 {
  border-color: var(--border-color-base) !important;
  border-width: 2px;
}

.mw-body h3 {
  font-weight: normal;
}

/* Heading Border Color */
.mw-heading1, h1, .mw-heading2, h2 {
  border-color: #212337 !important;
}

/* Links */
a,
a:visited,
.vector-menu-tabs .mw-list-item a:visited,
.vector-pinnable-element .mw-list-item a:not(.mw-selflink):visited,
.vector-dropdown-content .mw-list-item a:not(.mw-selflink):visited {
  color: var(--color-progressive);
}

/* Radio Buttons */
.cdx-radio__input:enabled:checked + .cdx-radio__icon {
  border-color: var(--color-progressive);
}

.cdx-radio__icon {
  background-color: var(--background-color-2);
}

/* Code Blocks */
code {
  border: none;
  background-color: var(--background-color-3);
  border-radius: 5px;
  padding: 2px 5px;
}

pre {
  border-radius: 10px;
  border: none;
  background-color: var(--background-color-1);
  color: var(--color-base);
}

/* Hide the Vector-2022 "switch back" link in sidebar */
.vector-main-menu-action-opt-out {
  display: none;
}

/* Search Bar */
#p-search {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cdx-search-input--has-end-button {
  background-color: transparent !important;
  border: none !important;
}

.cdx-text-input__input {
  background-color: var(--background-color-base) !important;
  border-radius: 20px !important;
  border: none;
  margin-right: 20px !important;
}

.cdx-search-input__input-wrapper {
  margin-right: 10px !important;
}

.cdx-typeahead-search {
  .cdx-button:enabled,
  .cdx-button.cdx-button--fake-button--enabled {
    background-color: var(--theme-accent-color) !important;
    color: var(--background-color-base);
    font-family: "Inter" !important;
    border: 1px solid var(--theme-accent-color);
    border-radius: 20px;
  }

  .skin-theme-clientpref-day & {
    .cdx-button:enabled,
    .cdx-button.cdx-button--fake-button--enabled {
      background-color: #FFED76 !important;
      color: var(--color-base);
      border: 1px solid #FFED76;
    }
  }
}

#searchform > div > button, #searchform > button {
  border: 1px solid var(--theme-accent-color);
    
  &:hover {
    border-color: var(--color-progressive);
  }
}

/* User & Search Actions */
#ca-uls {
  background: var(--background-color-3);
  border-radius: 20px;
    
  span {
    color: var(--color-base) !important;
   }

  &:hover {
    background: var(--background-color-4);
  }

  & > a {
    border-radius: 20px;
    &:hover {
    border-color: var(--color-progressive);
    }
  }
}

input:focus:not(:active) + .cdx-button:not(.cdx-button--action-progressive) {
  box-shadow: none;
  background: var(--background-color-3);
  border-radius: 20px;
}

#pt-userpage-2 a:not(.mw-selflink) {
  color: var(--color-base) !important;
  font-weight: 700;
  margin-right: 5px;
}

#searchform > div > button:hover {
  border: 1px solid var(--color-progressive);
}

/* Categories Box */
.catlinks {
  border-radius: 10px;
  border: none;
  background-color: var(--background-color-1);
  padding: 10px 20px;
}

/* Sticky Containers */
.vector-pinned-container {
  padding: 16px;
  border-radius: 20px;
  background: var(--background-color-1);
}

.vector-sticky-pinned-container::after {
  background: none !important;
}

.vector-icon:not(.mw-echo-notifications-badge) {
  background-color: var(--color-base) !important;
}

/* Sticky Header */
.vector-header-container .vector-sticky-header {
  background-color: var(--background-color-3) !important;
  color: var(--color-base);
  border: 0;
}

/* Toolbar */
.vector-page-toolbar-container {
  box-shadow: none;
  align-items: center;
}

/* Tabs */
.vector-menu-tabs .mw-list-item.vector-tab-noicon,
.vector-page-toolbar-container .vector-dropdown {
  margin: 0 5px !important;
}

#left-navigation,
#p-views {
  .vector-menu-content-list li a {
    color: var(--color-base);
    background-color: var(--background-color-2);
    padding: 7px 14px;
    border-radius: 20px;
    border: 0;
    font-weight: 700;

    &:hover {
      background-color: var(--background-color-3);
      text-decoration: none;
    }
  }

  .vector-menu-tabs .mw-list-item.selected a,
  .selected a {
    background-color: var(--theme-accent-color) !important;
    color: var(--color-base) !important;
    border: 0;
  }
}

.vector-menu-content a {
  color: var(--color-base);
  font-weight: 700;
}

#p-views .vector-menu-content-list {
  #ca-watch, #ca-unwatch {
    & > a {
      margin: 0 5px;
      padding: 0;
    }
  }
}

.skin-theme-clientpref-night #left-navigation .vector-menu-tabs .mw-list-item.selected a,
.skin-theme-clientpref-night #p-views .selected a,
.skin-theme-clientpref-os #left-navigation .vector-menu-tabs .mw-list-item.selected a,
.skin-theme-clientpref-os #p-views .selected a {
  color: var(--background-color-base) !important;
}

/* Watch Button */
#p-views .vector-menu-content-list #ca-watch > a {
  margin: 0 5px;
  padding: 0;
}

/* Dropdowns */
.vector-page-toolbar-container .vector-dropdown .vector-dropdown-label {
  padding: 0;
}

.vector-dropdown-content {
  border: 1px solid var(--border-color-muted, #404244);
  border-radius: 10px;

  .vector-menu-heading {
    color: var(--color-base);
  }
}

.vector-page-tools-dropdown {
  background: var(--background-color-2);
  border-radius: 20px;
    
  &:hover {
    background: var(--background-color-3);
  }

  #vector-page-tools-dropdown-label {
    font-weight: 700;
    color: var(--color-base);
    padding: 0 14px;
    border-radius: 20px;
  }
}

.vector-pinnable-header-label {
  font-family: "Inter" !important;
  font-weight: bold;
}

.vector-pinnable-header, .vector-pinnable-element .vector-menu-heading {
  border-bottom: 1px solid var(--border-color-base) !important;
}

.vector-dropdown-content {
  border: 1px solid var(--border-color-base) !important;
}

.vector-pinnable-header-toggle-button {
  background-color: var(--background-color-3);
  border-radius: 10px;
  &:hover {
    background-color: var(--background-color-4);
  }
}

/* Misc */
/* Remove forced position on title bar */
.vector-page-titlebar {
  position: inherit !important;
}

.vector-page-titlebar::after {
  height: 0;
}

.vector-dropdown .vector-dropdown-content {
  background-color: var(--background-color-base) !important;

  a span {
    color: var(--color-base) !important;
  }
}

.vector-sticky-header-context-bar {
  border-color: var(--color-base);
}

/* Edit Section Buttons */
.mw-editsection {
  .mw-editsection-bracket {
    display: none !important;
  }

  a {
    background-color: var(--background-color-3);
    color: var(--color-base);
    padding: 2px 8px;
    border-radius: 10px;
    
    &:hover {
      text-decoration: none;
      background-color: var(--background-color-5);
    }
  }
}