Jump to content

MediaWiki:Vector-2022.css: Difference between revisions

From The Petit Planet Wiki
Reorganised
Additional fix for noarticletext preload table
Line 626: Line 626:
}
}


.noarticletext.mw-content-ltr .wikitable {
.noarticletext.mw-content-ltr .wikitable,
.mw-newarticletext.plainlinks .wikitable {
     display: revert;
     display: revert;
    max-width: fit-content;
   
    .mw-collapsible-toggle::before {
        margin-left: 0.5em;
    }
   
    .mw-collapsible-toggle::after {
        margin-right: 0.25em;
    }
}
}



Revision as of 17:30, 26 November 2025

/* CSS placed here will be loaded for the Vector-2022 skin.
 * See [[MediaWiki:Common.css]] for CSS loaded for all skins.
 * See [[MediaWiki:Citizen.css]] for CSS loaded for the mobile skin.
 */
/*=====================*
 | CODEX DESIGN TOKENS |
 *=====================*/
@media screen {
    /* Day, Light */
    :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);
        --external-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2321669a' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/></svg>");
    }

    /* Night, Dark */
    :root.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: #5689dc;
        --color-progressive--active: #3e72c6;
        --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;
        /* Link colors */
        --external-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2371bed7' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/></svg>");
    }
}

/* Auto, OS */
@media screen and (prefers-color-scheme: dark) {
    :root.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: #5689dc;
        --color-progressive--active: #3e72c6;
        --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;
        /* Link colors */
        --external-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2371bed7' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/></svg>");
    }
}

/*================*
 | PAGE CONTAINER |
 *================*/
.mw-header {
    margin-top: 0.5rem;
    background-color: transparent !important;
}

.mw-page-container {
    border-radius: 40px;
    margin-top: 0.5rem;
}

@media screen and (min-width: 1680px) {
    .vector-feature-limited-width-clientpref-0,
    .vector-sticky-header  {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}

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

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

/*============*
 | TYPOGRAPHY |
 *============*/
/* Headings */
.mw-body h1 {
    font-size: 48px;
}

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

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

/* Code blocks */
pre {
    border-radius: 10px;
    border: none;
}

.mw-highlight {
    border-radius: 10px;
}

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

.mw-parser-output a.external {
    background-image: var(--external-icon);
}

/*========*
 | HEADER |
 *========*/
/* Search bar */
#p-search {
    display: flex;
    justify-content: center;
    align-items: center;
}

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

.cdx-text-input__input {
    border-radius: 20px;
}

.ns-special .mw-body-content .cdx-text-input__input { 
    border-radius: 0;
}

.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(--color-accent);
        color: var(--color-accent-text);
        border-radius: 20px;
    }

    .skin-theme-clientpref-day & {
        .cdx-button:enabled,
        .cdx-button.cdx-button--fake-button--enabled {
            background-color: #FFED76;
        }
    }
}

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

/* Language selector */
#ca-uls {
    background: var(--background-color-2);
    border-radius: 20px;

    & > a {
        border-radius: 20px;

        &:hover {
            border-color: var(--color-progressive);
        }
    }
}

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

#pt-notifications-alert > a,
#pt-notifications-notice > a,
#pt-watchlist-2 > a {
    border-radius: 20px !important;
}

/* Logged in */
#pt-userpage-2 a:not(.mw-selflink) {
    color: var(--color-base);
    font-weight: 700;
}

/* Logged out */
#pt-createaccount-2 > a,
#pt-login-2 > a {
    color: var(--color-base);
    font-weight: 700;
    background: var(--background-color-2);
    padding: 7px 14px;
    border-radius: 20px;
    border: 1px solid var(--background-color-2);
        
    &:hover {
        text-decoration: none;
        background: var(--background-color-3);
        border-color: var(--color-progressive);
    }
}

/*===============*
 | STICKY HEADER |
 *===============*/
.vector-header-container .vector-sticky-header {
    background-color: var(--background-color-3);
    border: 0;
}

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

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

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

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

/* Pinned containers */
.vector-pinned-container {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 20px;
    background: var(--background-color-1);
}

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

.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);
}

/*================*
 | TOP NAVIGATION |
 *================*/
/* Remove title bar */
.vector-page-titlebar::after {
    height: 0;
}

/* Dropdowns */
.vector-dropdown-content {
    border-radius: 20px;
    border: 1px solid var(--border-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;
        padding: 0 14px;
        border-radius: 20px;
    }
}

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

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

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

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

#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(--color-accent) !important;
        color: var(--color-accent-text) !important;
    }
}

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

/*==============*
 | CONTENT BODY |
 *==============*/
/* Tables */
/* Ensure tables overflow while also retaining border-radius styling */
body:not(.ns-special) .wikitable {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    background: transparent;
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px;
    clip-path: inset(0 round 10px);
        
    th {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        padding-left: 0.75em;
    }

    td { 
        padding: 0.25em 0.75em; 
    }
}

.noarticletext.mw-content-ltr .wikitable,
.mw-newarticletext.plainlinks .wikitable {
    display: revert;
    max-width: fit-content;
    
    .mw-collapsible-toggle::before {
        margin-left: 0.5em;
    }
    
    .mw-collapsible-toggle::after {
        margin-right: 0.25em;
    }
}

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

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

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

/*===============*
 | MISCELLANEOUS |
 *===============*/
/* Fix for UI widgets like "Search and replace" and "Insert table" */
body .ui-dialog .ui-widget-header {
    font-size: 1rem;
    color: var(--color-emphasized);
    background: var(--background-color-3) !important;
    border-color: var(--border-color-subtle);
}

.ui-widget-content {
    color: var(--color-base);
    border-color: var(--border-color-base);
	background: var(--background-color-1);
}

.ui-state-default, 
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    color: var(--color-base);
    background: var(--background-color-2) !important;
    border-color: var(--border-color-base) !important;

    &:hover {
        color: var(--color-base);
        background: var(--background-color-4) !important;
        border-color: var(--border-color-base) !important;
    }
}

input {
    border-radius: 3px;
    border: 1px solid var(--border-color-subtle);
}

.ui-widget input, 
.ui-widget select, 
.ui-widget textarea {
    padding: 0.25em 0.5em;
    line-height: 100%;
    color: var(--color-emphasized);
    background-color: transparent;
    border-color: var(--border-color-interactive);
}

.ui-widget input:focus, 
.ui-widget select:focus, 
.ui-widget textarea:focus {
    outline: 0;
    border-color: var(--color-progressive);
    box-shadow: inset 0 0 0 1px var(--color-progressive);
}

.wikiEditor-toolbar-dialog .ui-dialog-buttonpane {
    border-top-color: var(--border-color-base) !important;
}

/* Fix top links in Special:RecentChanges */
.client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) {
    padding-bottom: 1em;
}