User:Volker E. (WMF)/dark-mode.css

/* WikimediaUI Dark Mode * * Wikimedia Design Team 2019-2021 * Original authors: * - Volker E. * - Alex Hollender * - MusikAnimal * - Carolyn Li-Madeo * - Jdlrobson * * Last updated: 2021-04-20 * */

@media screen {

/* Switch to dark mode */ /* Inspired by MusikAnimal */ /* Moon icon */ content: '\263E'; display: inline-block; padding: 0 2px; }
 * 1) pt-darkmode a:before {

/* Switch to default mode */ .client-dark-mode #pt-darkmode a:before { /* Sun icon */ content: '\2600'; font-weight: bold; }

/* Would be nice if it were that easy. Will have to find opposite color for invert filter to make it dark .client-dark-mode { background-color: #000; }

/* Filter needs to reside on `html`: `html.client-dark-mode`, see https://phabricator.wikimedia.org/T221425#5153917 */ .client-dark-mode, /* All other selectors have `filter` double-applied to turn back to “normal” by inheritance */ .client-dark-mode img, .client-dark-mode video, .client-dark-mode svg, .client-dark-mode iframe, .client-dark-mode .mw-no-invert, .client-dark-mode .mwe-math-element, .client-dark-mode .wvui-typeahead-suggestion__thumbnail, /* Extensions */ .client-dark-mode .cx-slitem__image, .client-dark-mode .mw-mmv-overlay, .client-dark-mode .mw-mmv-pre-image, .client-dark-mode .mw-kartographer-map, .client-dark-mode .mw-kartographer-mapDialog-map, .client-dark-mode .ext-related-articles-card-list .ext-related-articles-card-thumb { filter: invert( 1 ) hue-rotate( 180deg ); }

/* Reset overrides */ .client-dark-mode .skin-vector .mw-logo-wordmark, .client-dark-mode .skin-vector .mw-logo-tagline, .client-dark-mode .wvui-icon svg { filter: none; }

/* Backgrounds */ .client-dark-mode table, .client-dark-mode table.ambox-content, .client-dark-mode table.toccolours, .client-dark-mode .mw-notification, .client-dark-mode .mwe-popups, .client-dark-mode .infobox, .client-dark-mode .toc, .client-dark-mode .thumbinner, .client-dark-mode .wikitable, .client-dark-mode .cbnnr-main, .client-dark-mode .cx-callout, .client-dark-mode #simpleSearch, .client-dark-mode #simpleSearch #searchInput, .client-dark-mode #siteNotice #centralNotice .cnotice { background-color: #ddd; }

/* Borders */ .client-dark-mode body, .client-dark-mode h1, .client-dark-mode h2, .client-dark-mode h3, .client-dark-mode h4, .client-dark-mode h5, .client-dark-mode h6, .client-dark-mode table.ambox-content, .client-dark-mode table.toccolours, .client-dark-mode .mw-notification, .client-dark-mode .infobox, .client-dark-mode .toc, .client-dark-mode .thumbinner, .client-dark-mode #mw-head, .client-dark-mode #mw-panel, .client-dark-mode #content.mw-body, .client-dark-mode #simpleSearch, .client-dark-mode #simpleSearch #searchInput, .client-dark-mode #siteNotice #centralNotice .cnotice { border-color: #cdcbc8; }

/* Links */ /* Links: normal */ .client-dark-mode a, .client-dark-mode .vector-menu-tabs li a, /* Backwards compatible VectorTabs, deprecated in MW v1.35. */ .client-dark-mode .vectorTabs li a, .client-dark-mode .toctogglelabel, .client-dark-mode .mw-parser-output a.external, .client-dark-mode .mw-parser-output a.extiw, .client-dark-mode .mw-parser-output a.extiw:active, .client-dark-mode #mw-panel .portal .body li a { /* color: #69f; Proposal below for level AA conformance, see also https://phabricator.wikimedia.org/T233266 `#36c` is transformed by :root `filter` to be closer to chosen `#69f`. */	color: #36c; }

/* Links: visited */ .client-dark-mode a:visited, .client-dark-mode .mw-parser-output a.extiw:visited, .client-dark-mode #mw-panel .portal .body li a:visited { /* color: #709bbd; Proposal below uses to-be-standardized color from https://phabricator.wikimedia.org/T213778 */ color: #6b4ba1; }

/* Links: red */ .client-dark-mode a.new, .client-dark-mode .vector-menu-tabs li.new a, .client-dark-mode .vectorTabs li.new a { color: #ff6e6e; }

/* ::: Special Element Treatments ::: */ /* Image thumbnails */ .client-dark-mode .thumbimage { border: 0; }

/* Content image (thumbnail) SVGs */ /* `*not( .mbox-image )` exception doesn't work for unclear reasons */ .client-dark-mode .image img[ src*='svg' ], .client-dark-mode img[ src*='Wiktionary-logo'] { background-color: #fff; border-radius: 1px; }

/* Dealing with false positives from selector above */ .client-dark-mode .mw-echo-ui-notificationItemWidget-icon img[ src*='svg' ], .client-dark-mode .mbox-image .image img[ src*='svg' ], /* Vote symbols on Talk pages */ .client-dark-mode .image img[ alt^="Symbol" ] { background-color: transparent; }

/* Page previews */ .client-dark-mode .mwe-popups { box-shadow: 0 30px 90px -20px rgba( 0, 0, 0, 0.3 ), 0 0 1px #000; }

.client-dark-mode .mwe-popups .mwe-popups-extract[ dir='ltr' ]:after { background-image: -webkit-linear-gradient( 90deg, rgba( 221, 221, 221, 0 ), #ddd 50% ); background-image: -moz-linear-gradient( 90deg, rgba( 221, 221, 221, 0 ), #ddd 50% ); background-image: linear-gradient( 90deg, rgba( 221, 221, 221, 0 ), #ddd 50% ); }

.client-dark-mode .mwe-popups.flipped-y:after, .client-dark-mode .mwe-popups.flipped-x-y:after { border-top: 11px solid #ddd; }

.client-dark-mode .mwe-popups.mwe-popups-no-image-pointer:after { border-bottom: 11px solid #ddd; }

/* Contributions menu */ .client-dark-mode .cx-callout-1:after { border-bottom-color: #ddd; }

/* ::: Skin specific rules ::: */ /* Wikipedia globe fix */ .skin-vector #p-logo.mw-no-invert, .skin-timeless #p-logo.mw-no-invert { position: absolute; top: 0; height: 112px; overflow: hidden; }

/* Timeless globe fix */ .skin-timeless #mw-site-navigation { position: relative; }

.skin-timeless #p-logo.mw-no-invert { left: 1em; height: 124px; }

/* Mobile Wikipedia logo mobile header */ .client-dark-mode .branding-box img { filter: brightness( 0 ); }

}