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 16:19, 17 November 2025 by Stevium (talk | contribs) (Added Vector-2022 specific color styling using the root Vector-2022 Codex Design tokens to (hopefully) fix all the inconsistencies with the UI)

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.
/* Imports caching */
@import url("https://petitplanet.wiki/index.php?title=MediaWiki:Colors-Vector-2022.css&action=raw&ctype=text/css");

/* 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);
    }
  }
}