MediaWiki:Common.css

Revision as of 21:49, 10 June 2026 by Wikilah admin (talk | contribs)

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.
/* =================================================================
   Common.css — Global styles for all skins
   Applies read-only mode, branding, navigation, and AI assistant.
   Logged-in overrides live in MediaWiki:Group-user.css
   ================================================================= */


/* =================================================================
   1. BASE MEDIAWIKI OVERRIDES (Fonts, Quotes, Math, References)
   ================================================================= */

cite, dfn { font-style: inherit; }
q { quotes: '"' '"' "'" "'"; }

blockquote {
    overflow: hidden;
    margin: 1em 0;
    padding: 0 40px;
}

small { font-size: 85%; }
.mw-body-content sub, .mw-body-content sup { font-size: 80%; }
.ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; }

/* --- Collapsible elements --- */
.client-js .collapsible:not(.mw-made-collapsible).collapsed > tbody > tr:not(:first-child),
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) > p,
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) > table,
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) > thead + tbody,
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) tr:not(:first-child),
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) .mw-collapsible-content,
#editpage-specialchars {
    display: none;
}

.references { margin-bottom: 0.5em; }

/* --- Cite link styling --- */
span[rel="mw:referencedBy"] { counter-reset: mw-ref-linkback 0; }
span[rel="mw:referencedBy"] > a::before {
    content: counter(mw-ref-linkback, lower-alpha);
    font-size: 80%; font-weight: bold; font-style: italic;
}
a[rel="mw:referencedBy"]::before { font-weight: bold; content: "^"; }
span[rel="mw:referencedBy"]::before { content: "^ "; }

.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
    font-weight: normal; padding-right: 0.2em; padding-left: 0.2em;
}
.mw-collapsible-leftside-toggle .mw-collapsible-toggle { float: left; }
.wikitable td ul, .wikitable td ol, .wikitable td dl { text-align: left; }

/* --- PDF icons --- */
.mw-parser-output a[href$=".pdf"].external,
.mw-parser-output a[href*=".pdf?"].external,
.mw-parser-output a[href*=".pdf#"].external,
.mw-parser-output a[href$=".PDF"].external,
.mw-parser-output a[href*=".PDF?"].external,
.mw-parser-output a[href*=".PDF#"].external {
    background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right;
    padding: 8px 18px 8px 0;
}

/* --- Warnings and notices --- */
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon {
    clear: both; margin: 0.2em 0; border: 1px solid #bb7070;
    background-color: var(--background-color-error-subtle, #ffdbdb);
    padding: 0.25em 0.9em; box-sizing: border-box;
}
.mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt {
    border-color: #fc3; background-color: var(--background-color-warning-subtle, #fef6e7);
}

@media (min-width: 640px) {
    figure[typeof~="mw:File/Thumb"], figure[typeof~="mw:File/Frame"], .thumbinner { min-width: 100px; }
}

#mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; }

/* --- Permission groups (hidden by default) --- */
.checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show,
.patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show,
.autoconfirmed-show, .user-show { display: none; }

.ve-ui-mwNoticesPopupTool-item .editnotice-redlink,
.ve-ui-mwNoticesPopupTool-item .mbox-image,
.ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; }

ul.permissions-errors { margin: 0; }
ul.permissions-errors > li { list-style: none; }

/* --- Math rendering --- */
span.mwe-math-mathml-inline { font-size: 118%; }
.mwe-math-fallback-image-display, .mwe-math-mathml-display {
    margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em;
}
.mwe-math-mathml-display math { display: inline; }

@media screen {
    body:not(.ns-0):not(.ns-2):not(.ns-100) .gallerybox .thumb img {
        background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat;
    }
    #siteSub { display: block; }
    .references { font-size: 90%; }
}

.flaggedrevs_draft_synced, .flaggedrevs_stable_synced, #t-upload,
.mw-special-Book #coll-downloadbox { display: none; }

/* --- Infoboxes --- */
.infobox {
    border: 1px solid #a2a9b1; color: black; padding: 0.2em;
    font-size: 88%; line-height: 1.5em; border-spacing: 3px;
}
@media screen { .infobox { background-color: #f8f9fa; } }
@media (max-width: 640px) { .infobox { width: 100%; } .infobox .nowrap { white-space: normal; } }
@media (min-width: 640px) {
    .infobox { margin: 0.5em 0 0.5em 1em; float: right; clear: right; width: 22em; }
}
.infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data,
.infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar,
.infobox th, .infobox td { vertical-align: top; }
.infobox-label, .infobox-data, .infobox th, .infobox td { text-align: left; }
.infobox .infobox-above, .infobox .infobox-title, .infobox caption {
    font-size: 125%; font-weight: bold; text-align: center; padding: 0.2em;
}
.infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image,
.infobox .infobox-full-data, .infobox .infobox-below { text-align: center; }
.infobox .infobox-navbar { text-align: right; }

/* --- Text utilities --- */
.wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] {
    font-weight: normal; text-align: left;
}
.nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; }
.nowrap, .nowraplinks a { white-space: nowrap; }
.wrap, .wraplinks a { white-space: normal; }

span.texhtml {
    font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
    font-size: 118%; line-height: 1;
    font-variant-numeric: lining-nums tabular-nums; font-kerning: none;
}
span.texhtml span.texhtml { font-size: 100%; }
@media (min-width: 640px) { span.texhtml { white-space: nowrap; } }
@media (max-width: 640px) {
    .flagicon a > img, .flagicon noscript > img { max-width: none !important; }
}
@media screen { .nochecker .gallerybox .thumb img { background-image: none; } }

/* --- YouTube embeds --- */
.mw-parser-output iframe[src*="youtube.com"],
.mw-parser-output iframe[src*="youtube-nocookie.com"] {
    width: 100% !important; max-width: 320px; height: auto !important;
    aspect-ratio: 16 / 9; display: block; margin: 0 auto;
}


/* =================================================================
   2. LAYOUT & SPACING
   ================================================================= */

/* --- Content width & readability --- */
#content {
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.6;
}

/* --- Header reset (invisible container for floating buttons) --- */
.header-container.header-chrome {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 60px !important;
    z-index: 1000 !important;
    pointer-events: none !important;
}

/* Transparent header (Minerva) */
.header-container.header-chrome,
.minerva-header {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.header-container .navigation-drawer { display: none !important; }

/* --- Top margin resets (remove white gap) --- */
body.skin-minerva { padding-top: 0 !important; }

#content,
#content.mw-body,
.mw-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.banner-container,
#siteNotice {
    padding: 0 !important;
    margin: 0 !important;
}

.pre-content,
.page-heading,
.firstHeading {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Push title down so it clears the invisible header */
.pre-content.heading-holder {
    padding-top: 70px !important; /* 60px header + 10px visual space */
    display: block !important;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}


/* =================================================================
   3. BRANDING (Logo, Tagline — Desktop Header & Mobile Footer)
   ================================================================= */

/* --- Desktop: hide logo wordmark, inject tagline --- */
.mw-logo-container { display: none !important; }
.mw-logo-wordmark {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
}

.mw-logo:hover,
.mw-logo:active,
.mw-logo:focus { text-decoration: none !important; }

.mw-logo::after {
    content: "Unleashing \A intelligence";
    font-size: 0.875em;
    font-weight: 700;
    line-height: 1.4;
    color: #202122 !important;
    text-decoration: none !important;
    cursor: pointer;
    display: block;
    white-space: pre;
    margin-left: 3px;
    text-align: left;
    position: relative;
    top: 3px;
}

@media screen and (max-width: 900px) {
    .mw-logo::after { display: none !important; }
}

/* --- Mobile footer: logo image + tagline --- */
.minerva-footer-logo {
    font-size: 0 !important;
    color: transparent !important;
    display: block !important;
    text-align: left !important;
    margin-bottom: 20px !important;
}

.minerva-footer-logo::before {
    content: "" !important;
    display: block !important;
    background-image: url("https://pro-wiki.s3.eu-central-1.amazonaws.com/2776118/Logo.png");
    width: 160px;
    height: 50px;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: left center !important;
    margin-bottom: 6px !important;
}

.minerva-footer-logo::after {
    content: "Unleashing intelligence" !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #202122 !important;
    display: block !important;
    white-space: pre-wrap !important;
}

/* Force hidden Minerva footer links to appear */
body.skin-minerva #footer-places-about,
body.skin-minerva #footer-places-disclaimers {
    display: inline-block !important;
}

/* --- Fullscreen logo (fits content width) --- */
.fullscreen-logo {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 900px !important;
}

.fullscreen-logo figure,
.fullscreen-logo .mw-default-size,
.fullscreen-logo .mw-halign-center {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fullscreen-logo figure > span {
    display: block !important;
    width: 100% !important;
}

.fullscreen-logo img.mw-file-element {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
}


/* =================================================================
   4. CAPSACH MOBILE TOC OVERLAY
   ================================================================= */

/* --- Base state (JS toggles visibility) --- */
#cps-open-toc {
    position: fixed;
    display: none;
}

/* --- Full-screen scrim --- */
#cps-toc-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.4);
    display: none;
    z-index: 1004;
}
#cps-toc-overlay.is-open { display: block; }

/* --- Dropdown panel --- */
#cps-toc-panel {
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 900px !important;
    max-height: calc(100vh - 60px) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #202122 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 1005 !important;
    display: none;
}

.is-open #cps-toc-panel,
#cps-toc-overlay.is-open + #cps-toc-panel,
#cps-toc-panel[style*="display: block"] {
    display: block !important;
}

/* --- Panel header reset --- */
#cps-toc-header {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

/* --- Title bar (grey block) --- */
#cps-toc-panel > h2,
#cps-toc-title {
    background-color: #F8F9FA !important;
    margin: -15px -15px 15px !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #eaecf0 !important;
    display: block !important;
    width: auto !important;
    text-align: center !important;
    color: #202122 !important;
    font-size: 18px !important;
    font-family: sans-serif !important;
    font-weight: bold !important;
}

/* Hide close button and duplicate headings */
#cps-toc-close,
#cps-toc-panel .toctitle,
#cps-toc-panel #mw-toc-heading,
#cps-toc-panel h2 {
    display: none !important;
}

/* --- TOC list --- */
#cps-toc-list { list-style: none; margin: 0; padding: 0; }
#cps-toc-list li { margin: 0; }

#cps-toc-list a {
    display: block; padding: 12px 10px;
    border-bottom: 1px solid #f8f8f8;
    text-decoration: none;
    color: #202122;
    font-size: 15px;
    line-height: 1.4;
}

#cps-toc-list a:active {
    background: #f0f0f0;
    color: #3366cc;
}

/* Indentation levels */
#cps-toc-list li[data-level="3"] { padding-left: 15px; }
#cps-toc-list li[data-level="4"] { padding-left: 30px; }
#cps-toc-list li[data-level="5"] { padding-left: 45px; }

/* "Contents" header link — bold, orange, dark border */
#cps-toc-list a[href="#mw-toc-heading"] {
    font-weight: bold !important;
    color: #f07662 !important;
    border-bottom: 1px solid #202122 !important;
}

/* Arrow prefix (▸) for level 2 and 3 items */
#cps-toc-list li[data-level="2"] a::before,
#cps-toc-list li[data-level="3"] a::before {
    content: "▸" !important;
    color: #202122 !important;
    margin-right: 8px;
    display: inline-block;
}

/* Remove arrow from "Contents" header (technically level 2) */
#cps-toc-list li[data-level="2"] a[href="#mw-toc-heading"]::before {
    display: none !important;
    content: "" !important;
}

/* Hide default in-article TOC */
.toc,
#toc,
.mw-parser-output #toc,
.client-js .mw-content-ltr .toc {
    display: none !important;
}


/* =================================================================
   5. FLOATING BOTTOM BUTTONS (Search, Home, ToC, Email)
   ================================================================= */

/* --- Shared styles (all 4 buttons + search input) --- */
.branding-box,
#searchIcon,
#cps-open-toc,
#custom-email-btn,
body.mw-mf-search-mode .minerva-header .search-box input {
    background-color: rgba(0, 0, 0, 0.2) !important;
    opacity: 1 !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    top: auto !important;
    bottom: calc(15px + env(safe-area-inset-bottom)) !important;
    transform: translateZ(0);
    will-change: transform;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 1002 !important;
}

/* --- Individual positions --- */

/* Search (far left, offset -150px) */
#searchIcon {
    margin-left: -150px !important;
    z-index: 1003 !important;
}
#searchIcon .minerva-icon {
    font-size: 24px !important;
    color: #fff !important;
    fill: #fff !important;
    filter: brightness(0) invert(1);
}

/* Home (left of center, offset -86px) */
.branding-box {
    margin-left: -86px !important;
    flex: 0 0 44px !important;
}
.branding-box::after {
    content: "⌂";
    font-size: 30px !important;
    color: #fff !important;
    -webkit-text-stroke: 0.5px #fff !important;
    margin-top: -6px !important;
    line-height: 1 !important;
}
.branding-box a { opacity: 0 !important; position: absolute; inset: 0; }

/* ToC (center, offset -22px) */
#cps-open-toc { margin-left: -22px !important; }
#cps-open-toc .icon {
    font-size: 30px !important;
    line-height: 1 !important;
    margin-bottom: 3px !important;
    color: #fff !important;
}
#cps-open-toc .label { display: none !important; }

/* Email (right of center, offset +42px) */
#custom-email-btn { margin-left: 42px !important; }
#custom-email-btn::after {
    content: "\2709\FE0E"; /* Text-mode envelope glyph */
    font-size: 26px !important;
    line-height: 1 !important;
    margin-top: -2px !important;
    color: transparent !important;
    text-shadow: 0 0 0 #fff !important;
}

/* --- Search input (expanded state) --- */
body:not(.mw-mf-search-mode) .minerva-header .search-box {
    display: none !important;
}

body.mw-mf-search-mode .minerva-header .search-box {
    display: block !important;
    position: fixed !important;
    top: 8px !important;
    height: 44px !important;
    z-index: 1001 !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important; margin: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body.mw-mf-search-mode .minerva-header .search-box input {
    width: 100% !important;
    font-size: 16px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding-left: 55px !important;
    padding-right: 55px !important;
    position: static !important;
    margin: 0 !important;
}

.minerva-header .search-box .search-box-icon-overlay { display: none !important; }

body.mw-mf-search-mode .minerva-header .search-box input::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

.search-box .search-box-cancel {
    display: block !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important;
    width: 44px !important; height: 44px !important;
    line-height: 44px !important;
    text-align: center !important;
    color: #fff !important;
    z-index: 1004 !important;
}


/* =================================================================
   6. GLOBAL HIDE (Read-Only Mode)
   Hidden for everyone; un-hidden in MediaWiki:Group-user.css
   ================================================================= */

/* --- User links (includes Vector 2022 sticky header IDs) --- */
#vector-user-links,
#p-personal,
#pt-login,
#pt-login-2,
#pt-createaccount,
#pt-createaccount-2,
#pt-userpage,
#pt-mytalk,
#pt-preferences,
#pt-watchlist,
#pt-mycontris,
#pt-logout {
    display: none !important;
}

/* --- Tools (sidebar, dropdowns, tabs) --- */
#p-tb,
#vector-page-tools,
#vector-page-tools-dropdown,
.vector-p-tb,
#ca-viewsource,
#ca-history,
#ca-talk {
    display: none !important;
}

/* --- Categories --- */
#catlinks,
.catlinks,
.mw-normal-catlinks {
    display: none !important;
}

/* --- Page actions (Language, Watch, Edit, etc.) --- */
#p-views,
.page-actions-menu__list,
.page-actions-menu {
    display: none !important;
}

/* --- Vector 2022 page toolbar & pre-content --- */
.vector-page-toolbar { display: none !important; }
.vector-body-before-content { display: none !important; }

/* --- Language selector & main menu --- */
#p-vector-user-menu-preferences { display: none !important; }
.vector-main-menu-landmark { display: none !important; }

/* --- Color theme (anonymous only) --- */
body:not(.group-user) #skin-client-prefs-skin-theme { display: none !important; }

/* --- Mobile: history bar --- */
.last-modified-bar,
a.last-modified-bar {
    display: none !important;
    visibility: hidden !important;
}
.last-modified-bar__text,
.modified-enhancement,
.minerva-icon--modified-history {
    display: none !important;
}

/* --- Mobile: user/login menu --- */
.minerva-user-menu { display: none !important; }
.toggle-list__toggle#minerva-user-menu-toggle { display: none !important; }
.minerva-icon--userAvatarOutline { display: none !important; }

/* --- Mobile: sidebar items --- */
#mw-mf-page-left a[href*="Special:RecentChanges"],
#mw-mf-page-left a[data-event-name="recentchanges"],
#mw-mf-page-left a[href*="Special:SpecialPages"],
#mw-mf-page-left a[href*="Community_portal"] {
    display: none !important;
}


/* =================================================================
   7. TYPOGRAPHY & LINKS
   ================================================================= */

/* --- Heading colors --- */
.mw-heading1, h1,
.mw-heading2, h2,
h3, h4, h5, h6,
.firstHeading,
.mw-page-title-main,
.page-heading,
.section-heading,
.vector-sticky-header-context-bar-primary,
.mw-headline,
.vector-pinnable-header-label {
    color: #202122 !important;
}

/* --- Heading borders --- */
.mw-heading1, h1,
.mw-heading2, h2,
.section-heading {
    border-bottom: 1px solid #202122 !important;
    margin-bottom: 0.6em;
}

.mw-first-heading {
    border-bottom: 2px solid #202122 !important;
    margin-bottom: 0.5em;
}

/* Remove Vector 2022 default title underline */
.vector-page-titlebar::after {
    background-color: transparent !important;
    display: none !important;
    height: 0 !important;
}

/* Contents sidebar heading (no border) */
h2.vector-pinnable-header-label { border-bottom: none !important; }

/* --- Link colors (legacy blue #1d70b8) --- */
a,
a:visited,
.mw-parser-output a,
.mw-parser-output a:visited,
.mw-body-content a.external,
.mw-body-content a.external:visited,
.mw-collapsible-toggle-default .mw-collapsible-text {
    color: #000099 !important;
}

/* Red links (missing pages) */
a.new,
a.new:visited { color: #d73333 !important; }

/* UI buttons stay white */
a.mw-ui-button,
a.mw-ui-button:visited { color: #fff !important; }

/* --- Edit section links --- */
.mw-editsection, .mw-editsection a {
    color: #202122 !important;
    opacity: 0.7;
}

/* --- Footer borders --- */
#footer,
.mw-footer,
.minerva-footer,
.printfooter {
    border-top: 1px solid #202122 !important;
}

#footer-icons { display: none !important; }

.minerva-footer .footer-content,
.minerva-footer .branding-box,
.minerva-footer-logo,
#footer-info,
#footer-places {
    border: none !important;
}

/* Mobile section expand icon */
.skin-minerva .section-heading .mw-ui-icon-wikimedia-expand-small {
    filter: grayscale(1) brightness(0.2);
}

/* --- Wikitable styles --- */
table.wikitable {
    font-size: 0.85em;
    background-color: #fff;
}
table.wikitable td { background-color: #fff; }
table.wikitable caption {
    text-align: left;
    font-weight: bold;
    background-color: #fff;
}

/* --- Navigation menu paragraphs --- */
.navigation-menu .infobox-data p {
    font-size: 1em !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Main page menu --- */
.main-page-menu {
    line-height: 1.8;
    margin-bottom: 0;
    font-size: 1em;
}

/* --- Read pill (inline badge) --- */
.read-pill {
    display: inline;
    white-space: nowrap;
    padding: 1px 0.4em;
    position: relative;
    top: -1px;
    border-radius: 4px;
    margin: 0 0.2em 0 0;
    font-size: 0.85em;
    font-weight: 500;
    color: #202122 !important;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.read-pill a,
.read-pill a:visited {
    color: #202122 !important;
    text-decoration: none !important;
}

.read-pill a.new {
    color: red !important;
    padding: 0 4px;
    border-radius: 3px;
}

/* --- Minerva bullet indentation fix --- */
body.skin-minerva .mw-parser-output ul,
body.skin-minerva .collapsible-block ul {
    padding-left: 1em;
    margin-left: 0;
}
body.skin-minerva .mw-parser-output ul ul,
body.skin-minerva .collapsible-block ul ul {
    padding-left: 1em;
}


/* =================================================================
   8. AI ASSISTANT PANEL
   ================================================================= */

/* --- Z-index: sits behind floating buttons (z-index 1002) --- */
.ext-aiassistant,
.ext-aiassistant-panel {
    z-index: 1001 !important;
}

/* --- Panel shell --- */
.ext-aiassistant-panel {
    border: 1px solid #202122 !important;
    box-shadow: none !important;
}

/* --- Header --- */
.ext-aiassistant-header {
    border-bottom: 1px solid #202122 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* --- Message area --- */
.ext-aiassistant-body {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

.ext-aiassistant-message {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.ext-aiassistant-message + .ext-aiassistant-message {
    margin-top: 0 !important;
}

/* --- User bubble --- */
.ext-aiassistant-message-user {
    margin-left: 100px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.ext-aiassistant-message-user .ext-aiassistant-message__content {
    background-color: #202122 !important;
    color: white !important;
    border-radius: 18px !important;
    border: none !important;
    padding: 6px 12px !important;
}

.ext-aiassistant-message-user .ext-aiassistant-message__content p {
    color: white !important;
    margin: 0 !important;
}

/* --- Assistant typography (matches article style) --- */
.ext-aiassistant-message-assistant {
    font-family: sans-serif !important;
    font-size: 1em !important;
    color: #202122 !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
}

.ext-aiassistant-message-assistant p {
    margin: 0 0 0.6em !important;
}

.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
    line-height: 1.6 !important;
}

.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
    margin: 0.3em 0 0.6em !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
}

.ext-aiassistant-message-assistant ul {
    list-style-type: disc !important;
    padding-left: 1.2em !important;
}

.ext-aiassistant-message-assistant ul ul {
    list-style-type: disc !important;
    padding-left: 1.5em !important;
}

.ext-aiassistant-message-assistant li {
    margin-bottom: 0.2em !important;
    white-space: normal !important;
}

.ext-aiassistant-message-assistant pre,
.ext-aiassistant-message-assistant code {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    font-family: inherit !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- Action buttons (copy, source) --- */
.ext-aiassistant-message-assistant .ext-aiassistant-actions {
    display: flex !important;
    flex-direction: row-reverse !important;
}

.ext-aiassistant-message-user .ext-aiassistant-actions {
    display: flex !important;
    justify-content: flex-end !important;
}

/* --- Citations --- */
.ext-aiassistant-cite {
    line-height: 1 !important;
    font-size: 80% !important;
    vertical-align: super !important;
}

/* --- Sources --- */
.ext-aiassistant-sources {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
}

/* --- "New Chat" label --- */
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only) {
    font-size: 0 !important;
}
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only)::before {
    content: "New" !important;
    font-size: 0.875rem !important;
    font-weight: bold !important;
    color: #202122 !important;
    visibility: visible !important;
}

/* --- Footer + Composer --- */
.ext-aiassistant-footer {
    border-top: 1px solid #202122 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background-color: #f8f9fa !important;
}

.ext-aiassistant-prompt-composer {
    margin: 0 !important;
    width: 100% !important;
    background-color: #fff !important;
    padding: 10px 20px !important;
    border: none !important;
    border-radius: 0 !important;
}

.ext-aiassistant-prompt-composer__toolbar {
    display: flex !important;
    align-items: center !important;
}

/* --- Composer focus --- */
.ext-aiassistant-prompt-composer:focus-within .ext-aiassistant-prompt-composer__input,
.ext-aiassistant-prompt-composer__input:focus {
    border-color: #202122 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* --- Send button --- */
.ext-aiassistant-prompt-composer__send {
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 4px !important;
}

.ext-aiassistant-prompt-composer__send:not(:disabled) {
    background-color: #202122 !important;
    border-color: #202122 !important;
    color: #ffffff !important;
}

.ext-aiassistant-prompt-composer__send:disabled {
    background-color: #EAECF0 !important;
    border-color: #EAECF0 !important;
}

.ext-aiassistant-prompt-composer__send:disabled .cdx-icon svg {
    fill: #72777d !important;
}


/* =================================================================
   9. RESPONSIVE OVERRIDES
   ================================================================= */

/* --- Small screens (max-width: 719px) --- */
@media screen and (max-width: 719px) {
    table.wikitable { border: none !important; }
    table.wikitable > tr > th,
    table.wikitable > tr > td,
    table.wikitable > tbody > tr > th,
    table.wikitable > tbody > tr > td {
        border: 1px solid var(--border-color-base, #a2a9b1);
    }
}

/* --- Mobile (max-width: 768px) --- */
@media screen and (max-width: 768px) {
    /* AI assistant: fullscreen mode */
    .ext-aiassistant-panel {
        position: fixed !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }
    .ext-aiassistant-body {
        height: auto !important;
        flex-grow: 1 !important;
    }
    /* Push input above sticky buttons */
    .ext-aiassistant-footer {
        padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    }

    /* Add a line to separate with the sticky buttons */
    .ext-aiassistant-prompt-composer {
        border-bottom: 1px solid #202122 !important;
        border-radius: 0 !important;
        padding-bottom: 10px !important;
    }

    /* Prevent iOS zoom on AI input */
    .ext-aiassistant-panel input,
    .ext-aiassistant-panel textarea,
    .ext-aiassistant-panel .cdx-text-input__input {
        font-size: 16px !important;
    }

    /* Prevent horizontal scroll */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative;
    }

    /* Hide AI shortcut hint */
    .ext-aiassistant-shortcut-hint { display: none !important; }
}

/* --- Tablet (min-width: 768px) --- */
@media screen and (min-width: 768px) {
    /* Lock home button shape */
    .branding-box {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        margin-left: -86px !important;
    }

    /* Keep ToC centered */
    #cps-open-toc {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 9999 !important;
        margin-left: -22px !important;
        background-color: rgba(0, 0, 0, 0.2) !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
    }
}

/* --- Desktop (min-width: 1000px) --- */
@media screen and (min-width: 1000px) {
    /* Wider content column */
    #content { max-width: 1200px !important; }

    /* Match logo to wider content */
    .fullscreen-logo { max-width: 100% !important; }
    .fullscreen-logo img.mw-file-element {
        max-width: min(100%, 1200px) !important;
        margin: 0 auto !important;
    }

    /* Hide ToC button on desktop Vector 2022 (full sidebar available) */
    body.skin-vector-2022 #cps-open-toc { display: none !important; }
}


/* =================================================================
   10. PRINT STYLES
   ================================================================= */

@media print {

    /* --- Hide floating buttons, overlays, and AI assistant --- */
    #searchIcon,
    .branding-box,
    #cps-open-toc,
    #custom-email-btn,
    #cps-toc-panel,
    #cps-toc-overlay,
    .minerva-header .search-box,
    .ext-aiassistant,
    .ext-aiassistant-panel,
    .ext-aiassistant-trigger { 
        display: none !important; 
    }

    /* --- Hide standard MediaWiki UI elements to free up space --- */
    #mw-navigation, 
    #footer, 
    .printfooter, 
    .mw-editsection {
        display: none !important;
    }

    /* --- Font consistency for lists --- */
    .mw-parser-output ul,
    .mw-parser-output ol,
    .mw-parser-output li { 
        font-family: inherit !important; 
    }

    /* --- Remove underlines specifically from internal links in print --- */
    .mw-parser-output a:not(.external),
    .mw-parser-output a:not(.external):visited {
        text-decoration: none !important;
    }
}

/* =================================================================
   11. WIKITABLE FIXES (Mobile, Alignment, & Print)
   ================================================================= */

/* --- Mobile / General Display Fixes --- */
table.wikitable td p {
    font-size: inherit !important; /* Forces Minerva to respect table font size */
}

table.wikitable td ul {
    list-style-position: outside !important; /* Fixes Minerva bullet positioning */
    margin-left: 1.5em !important;           /* Pushes bullets away from the border */
    padding-left: 0 !important;              /* Resets conflicting padding */
}

/* --- Vertical Alignment Fix --- */
table.wikitable td > p:first-child,
table.wikitable td > ul:first-child,
table.wikitable td > ol:first-child {
    margin-top: 0 !important; /* Aligns bullet points and paragraphs with inline text */
}

/* --- Print Fixes --- */
@media print {
    table.wikitable p {
        font-size: inherit !important;
        text-align: inherit !important; /* Prevents text justification on print */
        margin-top: 0.25em !important; 
        margin-bottom: 0.25em !important;
    }
    
    table.wikitable a.external.text::after {
        content: none !important; /* Hides expanded URLs to keep columns tidy */
    }
}

/* Row-label (first) column: single-line, readable minimum, frozen while
   scrolling, opaque background, with drawn left+right borders. */
.wikitable th:first-child,
.wikitable td:first-child {
    white-space: nowrap;
    min-width: 16em;
    position: sticky;
    left: 0;
    z-index: 1;
    /* border-collapse drops a sticky cell's own borders, so paint the left and
       right edges with box-shadow — it stays put with the sticky cell. */
    box-shadow: inset 3px 0 0 #EAECF0,   /* left edge  */
                1px 0 0 #a2a9b1;         /* right edge */
}
.wikitable td:first-child { background-color: #f8f9fa; }   /* body cells  */
.wikitable th:first-child { background-color: #eaecf0; }   /* header cell */
/* Automatically makes ALL wikitables full-width, responsive, and clear of infoboxes */
.wikitable {
    clear: both;
    display: block;
    width: 100% !important;
    overflow-x: auto;
}