Jump to content

MediaWiki:Common.css: Difference between revisions

From Insurer Brain
Content deleted Content added
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 1: Line 1:
/* =================================================================
/* CSS placed here will be applied to all skins. This version makes the log-in disappear*/
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)
================================================================= */


/* ======================================================= */
/* 1. STANDARD MEDIAWIKI STYLING (Fonts, Quotes, etc.) */
/* ======================================================= */
cite, dfn { font-style: inherit; }
cite, dfn { font-style: inherit; }
q { quotes: '"' '"' "'" "'"; }
q { quotes: '"' '"' "'" "'"; }
Line 17: Line 23:
.ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; }
.ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; }


/* Collapsible elements logic */
/* --- Collapsible elements --- */
.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child),
.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) > p,
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > table,
.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) > 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) tr:not(:first-child),
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) .mw-collapsible-content,
.client-js .outercollapse .innercollapse.mw-collapsible:not(.mw-made-collapsible) .mw-collapsible-content,
#editpage-specialchars {
#editpage-specialchars {
display: none;
display: none;
Line 30: Line 36:
.references { margin-bottom: 0.5em; }
.references { margin-bottom: 0.5em; }


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


.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
Line 45: Line 51:
.wikitable td ul, .wikitable td ol, .wikitable td dl { text-align: left; }
.wikitable td ul, .wikitable td ol, .wikitable td dl { text-align: left; }


/* PDF Icons */
/* --- 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,
Line 56: Line 62:
}
}


/* Warnings and Notices */
/* --- Warnings and notices --- */
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon {
div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon {
Line 68: Line 74:


@media (min-width: 640px) {
@media (min-width: 640px) {
figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; }
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; }
#mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; }


/* Hide Permission Groups */
/* --- Permission groups (hidden by default) --- */
.checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show,
.checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show,
.patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show,
.patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show,
Line 84: Line 90:
ul.permissions-errors { margin: 0; }
ul.permissions-errors { margin: 0; }
ul.permissions-errors > li { list-style: none; }
ul.permissions-errors > li { list-style: none; }

/* --- Math rendering --- */
span.mwe-math-mathml-inline { font-size: 118%; }
span.mwe-math-mathml-inline { font-size: 118%; }
.mwe-math-fallback-image-display, .mwe-math-mathml-display {
.mwe-math-fallback-image-display, .mwe-math-mathml-display {
Line 101: Line 109:
.mw-special-Book #coll-downloadbox { display: none; }
.mw-special-Book #coll-downloadbox { display: none; }


/* Infoboxes */
/* --- Infoboxes --- */
.infobox {
.infobox {
border: 1px solid #a2a9b1; color: black; padding: 0.2em;
border: 1px solid #a2a9b1; color: black; padding: 0.2em;
Line 122: Line 130:
.infobox .infobox-navbar { text-align: right; }
.infobox .infobox-navbar { text-align: right; }


/* --- Text utilities --- */
.wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] {
.wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] {
font-weight: normal; text-align: left;
font-weight: normal; text-align: left;
Line 141: Line 150:
@media screen { .nochecker .gallerybox .thumb img { background-image: none; } }
@media screen { .nochecker .gallerybox .thumb img { background-image: none; } }


/* YouTube Embeds */
/* --- YouTube embeds --- */
.mw-parser-output iframe[src*="youtube.com"],
.mw-parser-output iframe[src*="youtube.com"],
.mw-parser-output iframe[src*="youtube-nocookie.com"] {
.mw-parser-output iframe[src*="youtube-nocookie.com"] {
Line 148: Line 157:
}
}


/* ======================================================= */
/* RESTORED CAPSACH TOC (Fixed: No "X", Clear Title) */
/* ======================================================= */


/* =================================================================
/* CapSach — Mobile TOC overlay (all skins) */
2. LAYOUT & SPACING
#cps-open-toc {
================================================================= */
position: fixed;
display: none;
}


/* Full-screen scrim (Click outside to close) */
/* --- Content width & readability --- */
#content {
#cps-toc-overlay {
max-width: 900px;
position: fixed; inset: 0;
margin: 0 auto;
background: rgba(0,0,0,0.4);
display: none;
line-height: 1.6;
z-index: 1004;
}
}
#cps-toc-overlay.is-open { display: block; }


/* --- THE DROPDOWN PANEL --- */
/* --- Header reset (invisible container for floating buttons) --- */
.header-container.header-chrome {
#cps-toc-panel {
position: fixed;
position: fixed !important;
top: 0 !important; left: 0 !important; right: 0 !important;
height: 60px !important;
/* CHANGED: Set to 0 to start exactly at the top */
top: 0 !important;
z-index: 1000 !important;
pointer-events: none !important;
/* HORIZONTAL CENTERING */
left: 0 !important;
right: 0 !important;
margin: 0 auto !important;
bottom: auto !important;
/* WIDTH CONSTRAINT */
width: 100% !important;
max-width: 900px !important;
/* CHANGED: Increased height since we gained the top space back */
/* Was (100vh - 150px), now allowing it to go further down */
max-height: calc(100vh - 60px) !important;

/* APPEARANCE */
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;
/* SCROLLING */
overflow-y: auto !important;
-webkit-overflow-scrolling: touch;
/* VISIBILITY */
z-index: 1005 !important;
display: none;
}
}


/* Logic to show panel */
/* Transparent header (Minerva) */
.header-container.header-chrome,
.is-open #cps-toc-panel,
.minerva-header {
#cps-toc-overlay.is-open + #cps-toc-panel,
#cps-toc-panel[style*="display: block"] {
display: block !important;
}

/* --- 1. RESET THE CONTAINER (Fixes the "part above" issue) --- */
/* We remove all spacing/color from the wrapper so it disappears */
#cps-toc-header {
background: transparent !important;
background: transparent !important;
padding: 0 !important;
background-color: transparent !important;
margin: 0 !important;
border: none !important;
border: none !important;
min-height: 0 !important; /* Ensures it takes no space if empty */
box-shadow: none !important;
}
}


.header-container .navigation-drawer { display: none !important; }
/* --- 2. STYLE THE TITLE TEXT AS THE GREY BLOCK --- */

/* We target the h2 directly so the color sticks to the text */
/* --- Top margin resets (remove white gap) --- */
#cps-toc-panel > h2,
body.skin-minerva { padding-top: 0 !important; }
#cps-toc-title {

/* THE BACKGROUND COLOR */
#content,
background-color: #F8F9FA !important;
#content.mw-body,
.mw-body {
/* FULL WIDTH TRICK */
margin-top: 0 !important;
/* We pull the text element OUT of the padding to touch the edges */
margin-left: -15px !important;
padding-top: 0 !important;
margin-right: -15px !important;
margin-top: -15px !important; /* Pulls it to the very top */
/* HEIGHT & SPACING */
padding-top: 20px !important;
padding-bottom: 20px !important;
/* Pushes the link list down so it doesn't overlap */
margin-bottom: 15px !important;
/* BORDER SEPARATOR */
border-bottom: 1px solid #eaecf0 !important;
/* TEXT STYLING */
display: block !important;
width: auto !important; /* Let margins control width */
text-align: center !important;
color: #202122 !important;
font-size: 18px !important;
font-family: sans-serif !important;
font-weight: bold !important; /* Tries to force bold */
}
}


.banner-container,
/* HIDE THE CLOSE BUTTON ("X") */
#siteNotice {
#cps-toc-close {
display: none !important;
padding: 0 !important;
margin: 0 !important;
}
}


.pre-content,
/* --- LIST STYLING --- */
.page-heading,
#cps-toc-list {
.firstHeading {
list-style: none; margin: 0; padding: 0;
margin-top: 0 !important;
padding-top: 0 !important;
}
}
#cps-toc-list li { margin: 0; }


/* Push title down so it clears the invisible header */
/* Default Link Styling */
.pre-content.heading-holder {
#cps-toc-list a {
padding-top: 70px !important; /* 60px header + 10px visual space */
display: block; padding: 12px 10px;
display: block !important;
border-bottom: 1px solid #f8f8f8;
text-decoration: none;
color: #202122;
font-size: 15px;
line-height: 1.4;
}
}


@media (prefers-reduced-motion: reduce) {
#cps-toc-list a:active {
html { scroll-behavior: auto; }
background: #f0f0f0;
color: #3366cc;
}
}


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


/* =================================================================
/* --- CUSTOM TOC HEADER & ARROWS --- */
3. BRANDING (Logo, Tagline — Desktop Header & Mobile Footer)
================================================================= */


/* --- Desktop: hide logo wordmark, inject tagline --- */
/* 1. Target "Contents" Header Link (Bold, Orange, Dark Border) */
.mw-logo-container { display: none !important; }
#cps-toc-list a[href="#mw-toc-heading"] {
.mw-logo-wordmark {
font-weight: bold !important;
color: #f07662 !important;
display: none !important;
border-bottom: 1px solid #202122 !important;
visibility: hidden !important;
width: 0 !important;
}
}


.mw-logo:hover,
/* 2. Add Arrow Symbol (▸) to Level 2 AND Level 3 items */
.mw-logo:active,
#cps-toc-list li[data-level="2"] a::before,
.mw-logo:focus { text-decoration: none !important; }
#cps-toc-list li[data-level="3"] a::before {

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


@media screen and (max-width: 900px) {
/* 3. Remove the Arrow from the "Contents" header (it is technically Level 2) */
.mw-logo::after { display: none !important; }
#cps-toc-list li[data-level="2"] a[href="#mw-toc-heading"]::before {
display: none !important;
content: "" !important;
}
}


/* --- END CUSTOM TOC STYLING --- */
/* --- Mobile footer: logo image + tagline --- */
.minerva-footer-logo {

font-size: 0 !important;

color: transparent !important;
/* --- REMOVED THE IPAD HIDING RULE HERE --- */
display: block !important;
/* (The @media min-width 768px block was deleted to allow TOC on iPad) */
text-align: left !important;

margin-bottom: 20px !important;
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}
}


.minerva-footer-logo::before {
/* FIX: HIDE DUPLICATE "CONTENTS" TITLE IN MOBILE TOC */
content: "" !important;
#cps-toc-panel .toctitle,
display: block !important;
#cps-toc-panel #mw-toc-heading,
background-image: url("https://pro-wiki.s3.eu-central-1.amazonaws.com/2776118/Logo.png");
#cps-toc-panel h2 {
display: none !important;
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;
/* 2. GLOBAL HIDE (READ-ONLY MODE) */
font-size: 0.875rem !important;
/* These elements are hidden for everyone by default. */
font-weight: 700 !important;
/* They are UNHIDDEN in MediaWiki:Group-user.css */
line-height: 1.4 !important;
/* ======================================================= */
color: #202122 !important;

display: block !important;
/* HIDE USER LINKS (Includes Sticky Header IDs for Vector 2022) */
white-space: pre-wrap !important;
#vector-user-links,
#p-personal,
#pt-login,
#pt-login-2, /* Sticky Header Login */
#pt-createaccount,
#pt-createaccount-2, /* Sticky Header Create Account */
#pt-userpage,
#pt-mytalk,
#pt-preferences,
#pt-watchlist,
#pt-mycontris,
#pt-logout {
display: none !important;
}
}


/* Force hidden Minerva footer links to appear */
/* HIDE TOOLS (Sidebar, Dropdowns, Tabs) */
body.skin-minerva #footer-places-about,
#p-tb, /* Toolbox */
body.skin-minerva #footer-places-disclaimers {
#vector-page-tools, /* Vector 22 Sidebar */
display: inline-block !important;
#vector-page-tools-dropdown, /* Vector 22 Dropdown */
.vector-p-tb,
#ca-viewsource,
#ca-history,
#ca-talk {
display: none !important;
}
}


/* --- Fullscreen logo (fits content width) --- */
/* HIDE CATEGORIES */
.fullscreen-logo {
#catlinks,
width: 100% !important;
.catlinks,
padding: 0 !important;
.mw-normal-catlinks {
display: none !important;
margin: 0 auto !important;
max-width: 900px !important;
}
}


.fullscreen-logo figure,
/* ======================================================= */
.fullscreen-logo .mw-default-size,
/* FORCE HIDE MOBILE HISTORY BAR */
.fullscreen-logo .mw-halign-center {
/* Placed in Common.css to ensure it loads on all devices */
max-width: 100% !important;
/* ======================================================= */
width: 100% !important;

margin: 0 !important;
/* Target the container class from your HTML */
padding: 0 !important;
.last-modified-bar,
a.last-modified-bar {
display: none !important;
visibility: hidden !important;
}
}


.fullscreen-logo figure > span {
/* Target the text wrapper explicitly */
display: block !important;
.last-modified-bar__text,
width: 100% !important;
.modified-enhancement {
display: none !important;
}
}


.fullscreen-logo img.mw-file-element {
/* Target the specific clock icon found inside that button */
display: block !important;
.minerva-icon--modified-history {
display: none !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
min-width: 0 !important;
}
}


/* ======================================================= */
/* HIDE MOBILE USER/LOGIN MENU (Wrapper Method) */
/* ======================================================= */


/* =================================================================
/* Target the main container div */
4. CAPSACH MOBILE TOC OVERLAY
.minerva-user-menu {
================================================================= */
display: none !important;

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


/* --- Full-screen scrim --- */
/* Backup: Target the toggle button specifically */
#cps-toc-overlay {
.toggle-list__toggle#minerva-user-menu-toggle {
display: none !important;
position: fixed; inset: 0;
background: rgba(0,0,0,0.4);
display: none;
z-index: 1004;
}
}
#cps-toc-overlay.is-open { display: block; }


/* Backup: Target the icon inside */
/* --- Dropdown panel --- */
#cps-toc-panel {
.minerva-icon--userAvatarOutline {
display: none !important;
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,
/* HIDE MOBILE SIDEBAR ITEMS */
#cps-toc-panel[style*="display: block"] {
/* ======================================================= */
display: block !important;
}


/* 1. Hide "Recent Changes" */
/* --- Panel header reset --- */
#cps-toc-header {
#mw-mf-page-left a[href*="Special:RecentChanges"],
background: transparent !important;
#mw-mf-page-left a[data-event-name="recentchanges"] {
display: none !important;
padding: 0 !important;
margin: 0 !important;
border: none !important;
min-height: 0 !important;
}
}


/* 2. Hide "Special Pages" */
/* --- Title bar (grey block) --- */
#cps-toc-panel > h2,
#mw-mf-page-left a[href*="Special:SpecialPages"] {
#cps-toc-title {
display: none !important;
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;
}
}


/* 3. Hide "Community Portal" */
/* Hide close button and duplicate headings */
#cps-toc-close,
/* Matches the URL: index.php?title=...Community_portal */
#cps-toc-panel .toctitle,
#mw-mf-page-left a[href*="Community_portal"] {
#cps-toc-panel #mw-toc-heading,
#cps-toc-panel h2 {
display: none !important;
display: none !important;
}
}


/* --- TOC list --- */
/* ======================================================= */
#cps-toc-list { list-style: none; margin: 0; padding: 0; }
/* HIDE VECTOR 2022 PAGE TOOLBAR & PRE-CONTENT */
#cps-toc-list li { margin: 0; }
/* (Restored for logged-in users in MediaWiki:Group-user.css) */
/* ======================================================= */


#cps-toc-list a {
/* Hides the tabs (Read, Edit, History) and the "Tools" dropdown */
display: block; padding: 12px 10px;
.vector-page-toolbar {
display: none !important;
border-bottom: 1px solid #f8f8f8;
text-decoration: none;
color: #202122;
font-size: 15px;
line-height: 1.4;
}
}


#cps-toc-list a:active {
/* Hides the "From [Sitename]" text and page status indicators */
background: #f0f0f0;
.vector-body-before-content {
display: none !important;
color: #3366cc;
}
}


/* Indentation levels */
/* ======================================================= */
#cps-toc-list li[data-level="3"] { padding-left: 15px; }
/* HIDE LANGUAGE SELECTOR MENU (Global) */
#cps-toc-list li[data-level="4"] { padding-left: 30px; }
/* ======================================================= */
#cps-toc-list li[data-level="5"] { padding-left: 45px; }
#p-vector-user-menu-preferences {

display: none !important;
/* "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;
}
}


/* Hides the top-left container (Main Menu / Hamburger Icon) */
/* Arrow prefix (▸) for level 2 and 3 items */
#cps-toc-list li[data-level="2"] a::before,
.vector-main-menu-landmark {
#cps-toc-list li[data-level="3"] a::before {
display: none !important;
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 {
/* HIDE COLOR THEME (Read-Only/Anonymous Only) */
/* ======================================================= */
/* This specific selector hides the element ONLY if the user
does NOT have the 'group-user' class (i.e., they are logged out). */
body:not(.group-user) #skin-client-prefs-skin-theme {
display: none !important;
display: none !important;
content: "" !important;
}
}


/* Hide default in-article TOC */
/* ======================================================= */
.toc,
/* 2. BOTTOM FLOATING SQUARES (4 Buttons: ToC Centered) */
#toc,
/* ======================================================= */
.mw-parser-output #toc,

.client-js .mw-content-ltr .toc {
/* --- A. HEADER RESET (Invisible Container) --- */
display: none !important;
.header-container.header-chrome {
position: fixed !important;
top: 0 !important; left: 0 !important; right: 0 !important;
height: 60px !important;
z-index: 1000 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
pointer-events: none !important;
}
}


/* Push content down */
body.skin-minerva { padding-top: 60px !important; }
.mw-body { margin-top: 10px !important; }


/* =================================================================
/* Hide default elements */
5. FLOATING BOTTOM BUTTONS (Search, Home, ToC, Email)
.header-container .navigation-drawer { display: none !important; }
================================================================= */


/* --- B. SHARED STYLES (Applies to all 4 buttons + Input) --- */
/* --- Shared styles (all 4 buttons + search input) --- */
.branding-box,
.branding-box,
#searchIcon,
#searchIcon,
#cps-open-toc,
#cps-open-toc,
#custom-email-btn, /* The Email Button */
#custom-email-btn,
body.mw-mf-search-mode .minerva-header .search-box input {
body.mw-mf-search-mode .minerva-header .search-box input {
background-color: rgba(0, 0, 0, 0.2) !important;
/* Design: Dark Semi-Transparent Circle */
background-color: rgba(0, 0, 0, 0.2) !important;
opacity: 1 !important;
opacity: 1 !important;
border-radius: 50% !important;
border-radius: 50% !important;
Line 506: Line 479:
backdrop-filter: none !important;
backdrop-filter: none !important;
pointer-events: auto !important;
pointer-events: auto !important;
/* Dimensions: 44px x 44px */
box-sizing: border-box !important;
box-sizing: border-box !important;
width: 44px !important;
width: 44px !important;
height: 44px !important;
height: 44px !important;
min-width: 44px !important;
max-width: 44px !important;
/* === ADD THESE TWO LINES HERE === */
min-width: 44px !important; /* Overrides Minerva 640px tablet default */
padding: 0 !important;
max-width: 44px !important; /* Ensures it stays a circle */
/* ================================ */

padding: 0 !important;
margin: 0 !important;
margin: 0 !important;
/* Fixed Positioning at Bottom */
position: fixed !important;
position: fixed !important;
top: auto !important;
top: auto !important;

/* FIX FOR IPHONE: Respect the Home Indicator + GPU Acceleration */
/* Uses 15px base + the safe area (black bar height) */
bottom: calc(15px + env(safe-area-inset-bottom)) !important;
bottom: calc(15px + env(safe-area-inset-bottom)) !important;
/* Stops the "Jitter" when the address bar moves */
transform: translateZ(0);
transform: translateZ(0);
will-change: transform;
will-change: transform;

/* Center Alignment setup (Offsets defined below) */
left: 50% !important;
left: 50% !important;
right: auto !important;
right: auto !important;
display: flex !important;
/* Flexbox to center the icons inside */
align-items: center;
display: flex !important;
align-items: center;
justify-content: center;
justify-content: center;
z-index: 1002 !important;
z-index: 1002 !important;
}
}


/* --- C. POSITIONS (Order: Search, Home, ToC, Email) --- */
/* --- Individual positions --- */


/* 1. SEARCH (Far Left) */
/* Search (far left, offset -150px) */
/* Offset: -150px */
#searchIcon {
#searchIcon {
margin-left: -150px !important;
margin-left: -150px !important;
z-index: 1003 !important;
z-index: 1003 !important;
}
}
Line 556: Line 510:
color: #fff !important;
color: #fff !important;
fill: #fff !important;
fill: #fff !important;
filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
}


/* 2. HOME (Left of Center) */
/* Home (left of center, offset -86px) */
.branding-box {
.branding-box {
margin-left: -86px !important;
margin-left: -86px !important;
flex: 0 0 44px !important;
/* ADD THIS LINE TO PREVENT STRETCHING: */
flex: 0 0 44px !important;
}
}

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


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


/* 4. EMAIL (Right of Center) */
/* Email (right of center, offset +42px) */
#custom-email-btn { margin-left: 42px !important; }
/* Offset: +42px */
#custom-email-btn {
margin-left: 42px !important;
}
/* Email Icon (Envelope) */
#custom-email-btn::after {
#custom-email-btn::after {
/* \FE0E forces "Text Mode" (Standard black/white) instead of Emoji */
content: "\2709\FE0E"; /* Text-mode envelope glyph */
content: "\2709\FE0E";
font-size: 26px !important;
font-size: 26px !important;
line-height: 1 !important;
line-height: 1 !important;
margin-top: -2px !important;
margin-top: -2px !important;
color: transparent !important;
text-shadow: 0 0 0 #fff !important;
/* IOS HACK: This forces the icon to be flat white */
color: transparent !important; /* Hide the colorful emoji */
text-shadow: 0 0 0 #fff !important; /* Create a flat white shadow of it */
}
}


/* --- D. THE SEARCH INPUT (When Search is Clicked) --- */
/* --- Search input (expanded state) --- */

/* 1. Hide initially */
body:not(.mw-mf-search-mode) .minerva-header .search-box {
body:not(.mw-mf-search-mode) .minerva-header .search-box {
display: none !important;
display: none !important;
}
}


/* 2. Position Wrapper */
body.mw-mf-search-mode .minerva-header .search-box {
body.mw-mf-search-mode .minerva-header .search-box {
display: block !important;
display: block !important;
Line 624: Line 560:
height: 44px !important;
height: 44px !important;
z-index: 1001 !important;
z-index: 1001 !important;
left: 10px !important;
left: 10px !important;
right: 10px !important;
right: 10px !important;
width: auto !important;
width: auto !important;
padding: 0 !important; margin: 0 !important;
padding: 0 !important; margin: 0 !important;
Line 634: Line 568:
}
}


/* 3. Style Input Pill */
/* (Note: The input background/shape is handled in Shared Styles above) */
body.mw-mf-search-mode .minerva-header .search-box input {
body.mw-mf-search-mode .minerva-header .search-box input {
width: 100% !important;
width: 100% !important;
font-size: 16px !important;
font-size: 16px !important;
/* Text Color */
color: #fff !important;
color: #fff !important;
-webkit-text-fill-color: #fff !important;
-webkit-text-fill-color: #fff !important;
padding-left: 55px !important;
/* PADDING: 44px (Button) + 11px (Gap) */
padding-left: 55px !important;
padding-right: 55px !important;
padding-right: 55px !important;
position: static !important;
/* Reset position for the input box specifically */
position: static !important;
margin: 0 !important;
margin: 0 !important;
}
}


.minerva-header .search-box .search-box-icon-overlay { display: none !important; }
/* 4. Hide Inner Icon */
.minerva-header .search-box .search-box-icon-overlay {
display: none !important;
}


/* 5. Placeholder */
body.mw-mf-search-mode .minerva-header .search-box input::placeholder {
body.mw-mf-search-mode .minerva-header .search-box input::placeholder {
color: rgba(255, 255, 255, 0.7) !important;
color: rgba(255, 255, 255, 0.7) !important;
Line 664: Line 586:
}
}


.search-box .search-box-cancel {
/* 6. Cancel "X" Button */
display: block !important;
.search-box .search-box-cancel {
display: block !important;
position: absolute !important;
position: absolute !important;
top: 0 !important;
top: 0 !important; right: 0 !important;
right: 0 !important;
width: 44px !important; height: 44px !important;
width: 44px !important;
height: 44px !important;
line-height: 44px !important;
line-height: 44px !important;
text-align: center !important;
text-align: center !important;
Line 678: Line 597:
}
}



/* ======================================================= */
/* =================================================================
/* HIDE PAGE ACTIONS MENU (Language, Watch, Edit, etc.) */
6. GLOBAL HIDE (Read-Only Mode)
/* ======================================================= */
Hidden for everyone; un-hidden in MediaWiki:Group-user.css
#p-views,
================================================================= */
.page-actions-menu__list {

/* --- 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;
display: none !important;
}
}


/* --- Tools (sidebar, dropdowns, tabs) --- */
/* ======================================================= */
#p-tb,
/* HIDE STANDARD "FIXED" TOC (Force Sticky Button Only) */
#vector-page-tools,
/* ======================================================= */
#vector-page-tools-dropdown,
/* This removes the default TOC box inside the article text */
.vector-p-tb,
.toc,
#ca-viewsource,
#toc,
#ca-history,
.mw-parser-output #toc,
#ca-talk {
.client-js .mw-content-ltr .toc {
display: none !important;
display: none !important;
}
}


/* --- Categories --- */
/* ======================================================= */
#catlinks,
/* FORCE STICKY BUTTONS ON IPAD / TABLET */
.catlinks,
/* ======================================================= */
.mw-normal-catlinks {
@media screen and (min-width: 768px) {
display: none !important;
/* 1. LOCK HOME BUTTON SHAPE (Restored from comment) */
.branding-box {
/* Force exact width to prevent "Tablet Mode" expansion */
width: 44px !important;
min-width: 44px !important;
max-width: 44px !important;
/* Stop Flexbox from stretching it */
flex: 0 0 44px !important;
/* Ensure position stays correct (Left of Center) */
margin-left: -86px !important;
}

/* 2. KEEP TOC CENTERED */
#cps-open-toc {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
z-index: 9999 !important;
/* Center Offset */
margin-left: -22px !important;
/* Styling */
background-color: rgba(0, 0, 0, 0.2) !important;
width: 44px !important;
height: 44px !important;
border-radius: 50% !important;
}
}
}


/* --- Page actions (Language, Watch, Edit, etc.) --- */
/* Constrain main content width for better readability */
#p-views,
#content {
.page-actions-menu__list,
max-width: 900px; /* Optimal reading width */
.page-actions-menu {
margin: 0 auto; /* Center it */
display: none !important;
line-height: 1.6; /* More breathing room between lines */
}
}


/* --- Vector 2022 page toolbar & pre-content --- */
/* ======================================================= */
.vector-page-toolbar { display: none !important; }
/* SMART HIDE: ONLY HIDE BUTTON ON DESKTOP SKIN */
.vector-body-before-content { display: none !important; }
/* ======================================================= */


/* --- Language selector & main menu --- */
/* This rule only triggers if the screen is wide AND the user is on the Desktop Skin */
#p-vector-user-menu-preferences { display: none !important; }
@media screen and (min-width: 1000px) {
.vector-main-menu-landmark { display: none !important; }
body.skin-vector-2022 #cps-open-toc {
display: none !important;
}
}


/* --- Color theme (anonymous only) --- */
/* 1. Remove gap below the Site Notice (even if empty) */
body:not(.group-user) #skin-client-prefs-skin-theme { display: none !important; }
#siteNotice {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}


/* --- Mobile: history bar --- */
/* 2. Remove gap above the Main Content container */
.last-modified-bar,
#content.mw-body {
a.last-modified-bar {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* 3. Remove gap above the Page Heading ("Home") */
/* This is often the hidden cause of the white line */
.pre-content,
.page-heading,
.firstHeading {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* ======================================================= */
/* 1. MAKE HEADER TRANSPARENT */
/* ======================================================= */
.header-container.header-chrome,
.minerva-header {
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
}

/* ======================================================= */
/* 2. RESET PAGE & CONTAINER TOP MARGINS */
/* This removes the "White Gap" at the very top */
/* ======================================================= */
body.skin-minerva {
padding-top: 0 !important;
}

/* Force the main content wrapper to start at pixel 0 */
#content,
.mw-body {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* Remove potential gap from the Site Notice container */
.banner-container,
#siteNotice {
padding-top: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}

/* ======================================================= */
/* 3. PUSH TITLE DOWN INTERNALLY */
/* This pushes the text "Home" down so it's not hidden, */
/* but keeps the background white/transparent at the top. */
/* ======================================================= */
.pre-content.heading-holder {
/* 70px (Header height) + 40px (Visual Space) */
padding-top: 70px !important;
/* Ensure it behaves as a block to accept padding */
display: block !important;
}

/* Best approach: Hides the text wrapper entirely to remove spacing */
.mw-logo-container {
display: none !important;
display: none !important;
visibility: hidden !important;
}
}
.last-modified-bar__text,

.modified-enhancement,
/* Target the specific text element directly */
.minerva-icon--modified-history {
.mw-logo-wordmark {
display: none !important;
display: none !important;
visibility: hidden !important; /* Backup if display fails */
width: 0 !important;
}
}


/* --- Mobile: user/login menu --- */
/* ======================================================= */
.minerva-user-menu { display: none !important; }
/* ADD TAGLINE TO HEADER (DESKTOP) */
.toggle-list__toggle#minerva-user-menu-toggle { display: none !important; }
/* ======================================================= */
.minerva-icon--userAvatarOutline { display: none !important; }


/* --- Mobile: sidebar items --- */
/* 1. Prevent underline on the parent link when hovering */
#mw-mf-page-left a[href*="Special:RecentChanges"],
.mw-logo:hover,
#mw-mf-page-left a[data-event-name="recentchanges"],
.mw-logo:active,
#mw-mf-page-left a[href*="Special:SpecialPages"],
.mw-logo:focus {
#mw-mf-page-left a[href*="Community_portal"] {
text-decoration: none !important;
display: none !important;
}
}


/* 2. Inject the tagline text */
.mw-logo::after {
/* \A is the CSS escape character for a Newline */
content: "Empowering \A human excellence";
/* Typography - MATCHING FOOTER EXACTLY */
/* Removed font-family line so it inherits the correct system font */
font-size: 0.875em;
font-weight: 700;
line-height: 1.4;
/* Visuals */
color: #202122 !important;
text-decoration: none !important;
cursor: pointer;
/* Positioning */
display: block;
white-space: pre;
margin-left: 3px;
text-align: left;
/* MOVES TEXT DOWN */
position: relative;
top: 3px;
}


/* =================================================================
/* Hide styling on Mobile/Tablet so it doesn't clash */
7. TYPOGRAPHY & LINKS
@media screen and (max-width: 900px) {
================================================================= */
.mw-logo::after {
display: none !important;
}
}


/* --- Heading colors --- */
/* ======================================================= */
.mw-heading1, h1,
/* CUSTOM MOBILE FOOTER (Logo Image + Tagline) */
.mw-heading2, h2,
/* ======================================================= */

/* 1. Reset the container */
.minerva-footer-logo {
font-size: 0 !important; /* Hide default text */
color: transparent !important; /* Make sure it's invisible */
display: block !important; /* Stack vertically */
text-align: left !important; /* Align left */
margin-bottom: 20px !important;
}

/* 2. INSERT THE LOGO (via ::before) */
.minerva-footer-logo::before {
content: "" !important;
display: block !important;

/* DIRECT LINK TO YOUR LOGO */
background-image: url('https://pro-wiki.s3.eu-central-1.amazonaws.com/2776118/Logo.png');

/* DIMENSIONS */
width: 160px;
height: 50px;

background-repeat: no-repeat !important;
background-size: contain !important;
background-position: left center !important;
margin-bottom: 6px !important;
}

/* 3. INSERT THE TAGLINE (via ::after) */
.minerva-footer-logo::after {
/* \A is the Newline character. Use "pre" or "pre-wrap" to render it. */
content: "Empowering human excellence" !important;
/* Typography - MATCHING FOOTER LINKS */
/* Removed font-family to use system font (Roboto/San Francisco) */
font-size: 0.875rem !important; /* Increased to 14px to match footer links */
font-weight: 700 !important;
line-height: 1.4 !important;
/* Visuals - KEEPING YOUR DARK COLOR */
color: #202122 !important;
/* Layout */
display: block !important;
white-space: pre-wrap !important;
}

/* ======================================================= */
/* FORCE SHOW HIDDEN MOBILE FOOTER LINKS */
/* Minerva hides About/Disclaimers by default. */
/* This forces them to appear in the list. */
/* ======================================================= */
body.skin-minerva #footer-places-about,
body.skin-minerva #footer-places-disclaimers {
display: inline-block !important;
}

/* Force paragraphs inside the navigation menu to inherit the parent font size */
.navigation-menu .infobox-data p {
font-size: 1em !important;
margin: 0 !important;
padding: 0 !important;
}

/* ======================================================= */
/* GLOBAL BRANDING: DARK LINES & CLEANUP */
/* ======================================================= */

/* ======================================================= */
/* GLOBAL BRANDING: DARK LINES & CLEANUP */
/* ======================================================= */

/* 1. TEXT COLORS (Headings & Titles) */
.mw-heading1, h1,
.mw-heading2, h2,
h3, h4, h5, h6,
h3, h4, h5, h6,
.firstHeading,
.firstHeading,
Line 963: Line 695:
.vector-sticky-header-context-bar-primary,
.vector-sticky-header-context-bar-primary,
.mw-headline,
.mw-headline,
.vector-pinnable-header-label {
.vector-pinnable-header-label {
color: #202122 !important;
color: #202122 !important;
}
}


/* --- Heading borders --- */
/* 2. BORDERS FOR ALL HEADINGS (Desktop & Mobile) */
/* This forces the 1px dark line and overrides the default grey */
.mw-heading1, h1,
.mw-heading1, h1,
.mw-heading2, h2,
.mw-heading2, h2,
.section-heading {
.section-heading {
border-bottom: 1px solid #202122 !important;
border-bottom: 1px solid #202122 !important;
margin-bottom: 0.6em;
margin-bottom: 0.6em;
}
}


/* Special weight for the very first page heading */
.mw-first-heading {
.mw-first-heading {
border-bottom: 2px solid #202122 !important;
border-bottom: 2px solid #202122 !important;
margin-bottom: 0.5em;
margin-bottom: 0.5em;
}
}


/* 2.1 REMOVE VECTOR 2022 DEFAULT TITLE LINE */
/* Remove Vector 2022 default title underline */
/* You asked to remove the color/transparency of the ::after element */
.vector-page-titlebar::after {
.vector-page-titlebar::after {
background-color: transparent !important;
background-color: transparent !important;
Line 990: Line 719:
}
}


/* 2.2 MOBILE CLEANUP (Minerva Skin) */
/* Contents sidebar heading (no border) */
h2.vector-pinnable-header-label { border-bottom: none !important; }
/* This removes the Language/Edit buttons to create a cleaner look. */

.page-actions-menu {
/* --- Link colors (legacy blue #1d70b8) --- */
display: none !important;
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: #1d70b8 !important;
}
}


/* 4. CONTENTS SIDEBAR (Desktop) */
/* Red links (missing pages) */
a.new,
h2.vector-pinnable-header-label {
border-bottom: none !important;
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;
}
}


/* 6. FOOTER LINES (Global) */
/* --- Footer borders --- */
#footer,
#footer,
.mw-footer,
.mw-footer,
.minerva-footer,
.minerva-footer,
Line 1,009: Line 755:
}
}


#footer-icons { display: none !important; }
/* ======================================================= */
/* HIDE FOOTER ICONS (Powered By, Hosted By, etc.) */
/* ======================================================= */
#footer-icons {
display: none !important;
}


/* 7. CLEAN UP MOBILE FOOTER GAPS */
.minerva-footer .footer-content,
.minerva-footer .footer-content,
.minerva-footer .branding-box,
.minerva-footer .branding-box,
Line 1,025: Line 765:
}
}


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


/* 9. SUBTLE UI TWEAKS */
/* --- Wikitable styles --- */
table.wikitable {
.mw-editsection, .mw-editsection a {
color: #202122 !important;
font-size: 0.85em;
opacity: 0.7;
background-color: #fff;
}
}
table.wikitable td { background-color: #fff; }

table.wikitable caption {
/* ======================================================= */
text-align: left;
/* FORCE LEGACY BLUE (#1d70b8) - LINKS & TOGGLES */
font-weight: bold;
/* ======================================================= */
background-color: #fff;

/* 1. Force Link Color (Visited, Unvisited & Toggles) */
/* Overrides standard links and the collapsible "Show/Hide" text */
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: #1d70b8 !important;
}
}


/* 2. Protect Red Links (New pages) */
/* --- Navigation menu paragraphs --- */
.navigation-menu .infobox-data p {
/* Keeps missing pages red (#d73333) even if visited */
font-size: 1em !important;
a.new,
margin: 0 !important;
a.new:visited {
color: #d73333 !important;
padding: 0 !important;
}
}


/* 3. Protect UI Buttons */
/* --- Main page menu --- */
/* Ensures text inside buttons (like 'Save changes') stays white */
a.mw-ui-button,
a.mw-ui-button:visited {
color: #fff !important;
}

/* ======================================================= */
/* MAIN PAGE MENU */
/* ======================================================= */

.main-page-menu {
.main-page-menu {
line-height: 1.8;
/* Adjusted from 2.2 to 1.8 for better visual grouping */
line-height: 1.8;
margin-bottom: 0;
margin-bottom: 0em;
font-size: 1em;
font-size: 1em;
}
}


/* --- Read pill (inline badge) --- */
/* ======================================================= */
/* READ PILL - INLINE STYLE */
/* ======================================================= */
.read-pill {
.read-pill {
display: inline;
display: inline;
white-space: nowrap;
white-space: nowrap;
padding: 1px 0.4em;
/* 1. THICKER TOP PADDING */
/* Top: 2px | Right: 0.4em | Bottom: 1px | Left: 0.4em */
padding: 1px 0.4em 1px 0.4em;
/* 2. LIFT TEXT UP 1 PIXEL */
position: relative;
position: relative;
top: -1px;
top: -1px;
/* Visuals */
border-radius: 4px;
border-radius: 4px;
margin: 0 0.2em 0 0;
margin: 0 0.2em 0 0;
/* Fonts */
font-size: 0.85em;
font-size: 0.85em;
font-weight: 500;
font-weight: 500;
/* Color Inheritance & Wrapping Safety */
color: #202122 !important;
color: #202122 !important;
-webkit-box-decoration-break: clone;
-webkit-box-decoration-break: clone;
Line 1,106: Line 812:
}
}


.read-pill a,
/* Link Color Fixes (Standard, Visited & Missing) */
.read-pill a,
.read-pill a:visited {
color: #202122 !important;
.read-pill a:visited {
color: #202122 !important;
text-decoration: none !important;
text-decoration: none !important;
}
}


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


/* --- Minerva bullet indentation fix --- */
/* ======================================================= */
body.skin-minerva .mw-parser-output ul,
/* PRINT OPTIMIZATION: HIDE UI BUTTONS */
body.skin-minerva .collapsible-block ul {
/* ======================================================= */
padding-left: 1em;
@media print {
margin-left: 0;
/* 1. Hide the 4 floating bottom buttons (Search, Home, ToC, Email) */
}
#searchIcon,
body.skin-minerva .mw-parser-output ul ul,
.branding-box,
body.skin-minerva .collapsible-block ul ul {
#cps-open-toc,
#custom-email-btn {
padding-left: 1em;
}
display: none !important;
}


/* 2. Hide the ToC panel and Overlay if they happen to be open */
#cps-toc-panel,
#cps-toc-overlay {
display: none !important;
}


/* =================================================================
/* 3. Hide the search input bar if it was left open */
8. AI ASSISTANT PANEL
.minerva-header .search-box {
================================================================= */
display: none !important;
}
}


/* --- Z-index: sits behind floating buttons (z-index 1002) --- */
/* ======================================================= */
/* 3. AI ASSISTANT (AXA BRAIN) CUSTOMIZATION */
/* ======================================================= */

/* 1. GLOBAL LAYER (All Devices) */
/* CHANGED: Lowered from 2000 to 1001 so it sits BEHIND your floating buttons (z-index: 1002). */
.ext-aiassistant,
.ext-aiassistant,
.ext-aiassistant-panel {
.ext-aiassistant-panel {
Line 1,154: Line 846:
}
}


/* 2. MOBILE ONLY: FULL SCREEN MODE */
/* --- Panel shell --- */
/* We only force 'fixed' position on mobile to lock it to the screen. */
@media screen and (max-width: 768px) {
.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;
}

/* NEW: Push the AI chat input up so the sticky buttons don't cover it */
.ext-aiassistant-footer {
padding-bottom: calc(75px + env(safe-area-inset-bottom)) !important;
}
}

/* ======================================================= */
/* 4. AI ASSISTANT FOOTER ALIGNMENT & MAKE BUTTON CIRCLE */
/* ======================================================= */

.ext-aiassistant-footer {
/* CHANGED: Align items to the middle (center) instead of top (flex-start) */
align-items: center !important;
}

/* Make the AI Assistant Send button a circle */
.ext-aiassistant-send {
/* 1. Force a perfect circle shape */
border-radius: 50% !important;

/* 2. Force equal width and height */
width: 36px !important;
height: 36px !important;
min-width: 0 !important; /* Overrides Codex default "wide" button style */

/* 3. Center the icon */
padding: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
/* Optional: Add a subtle margin if it's too close to the text input */
margin-left: 4px !important;
}

/* ======================================================= */
/* 5. AI ASSISTANT VISUAL OVERRIDES (Borders & Shadows) */
/* ======================================================= */

/* 1. Main Panel: Dark Border, No Shadow */
.ext-aiassistant-panel {
.ext-aiassistant-panel {
border: 1px solid #202122 !important;
border: 1px solid #202122 !important;
Line 1,222: Line 852:
}
}


/* 2. Interior Lines (Header Bottom & Footer Top) */
/* --- Header --- */
.ext-aiassistant-header {
.ext-aiassistant-header {
border-bottom: 1px solid #202122 !important;
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-footer {
.ext-aiassistant-body {
border-top: 1px solid #202122 !important;
padding-left: 20px !important;
padding-right: 20px !important;
box-sizing: border-box !important;
}
}


.ext-aiassistant-message {
/* User Message Bubble */
margin-left: 0 !important;
.ext-aiassistant-message-user {
margin-left: 100px !important;
margin-right: 0 !important;
margin-top: 1.6em !important;
margin-bottom: 1.6em !important;
}
}


.ext-aiassistant-message + .ext-aiassistant-message {

margin-top: 0 !important;
/* Change background of the Send button ONLY when it is disabled */
.ext-aiassistant-send:disabled {
background-color: #CCCCCC !important;
/* Recommended: Change the border to match so it looks flat */
border-color: #CCCCCC !important;
}
}


/* --- User bubble --- */
/* ======================================================= */
.ext-aiassistant-message-user {
/* 6. AI ASSISTANT TYPOGRAPHY (Match Article Style) */
margin-left: 100px !important;
/* ======================================================= */

/* 1. Target the text container within the AI message */
.ext-aiassistant-message-assistant {
/* Ensure font size matches the article body (usually 14px or 0.875em) */
font-size: 1em !important;
color: #202122 !important; /* Standard MediaWiki text color */
}

/* 2. Unify Line-Height for Paragraphs and Lists */
.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
/* Matches your #content rule: line-height: 1.6 */
line-height: 1.6 !important;
}

/* 3. Add Spacing Between Paragraphs */
.ext-aiassistant-message-assistant p {
/* Standard MediaWiki paragraph spacing (approx 1em) */
margin-bottom: 1.1em !important;
margin-top: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
}


.ext-aiassistant-message-user .ext-aiassistant-message__content {
/* 4. Fix List Spacing (Bullets) */
background-color: #202122 !important;
.ext-aiassistant-message-assistant ul,
color: white !important;
.ext-aiassistant-message-assistant ol {
margin-top: 0.3em !important;
border-radius: 18px !important;
margin-bottom: 1.1em !important; /* Space after the list */
border: none !important;
padding-left: 2em !important; /* Standard indentation */
padding: 6px 12px !important;
}
}


.ext-aiassistant-message-assistant li {
.ext-aiassistant-message-user .ext-aiassistant-message__content p {
color: white !important;
/* Small gap between bullet points for readability */
margin-bottom: 0.1em !important;
margin: 0 !important;
}
}


/* --- Assistant typography (matches article style) --- */
/* 5. Ensure Citations [1] don't break the line height */
.ext-aiassistant-cite {
.ext-aiassistant-message-assistant {
line-height: 1 !important;
font-family: sans-serif !important;
font-size: 80% !important;
font-size: 1em !important;
vertical-align: super !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;
/* 6. AI ASSISTANT TYPOGRAPHY (Match Article Style) */
/* ======================================================= */

/* 1. Target the text container within the AI message */
.ext-aiassistant-message-assistant {
/* Ensure font size matches the article body (usually 14px or 0.875em) */
font-size: 1em !important;
color: #202122 !important; /* Standard MediaWiki text color */
}
}


/* 2. Unify Line-Height for Paragraphs and Lists */
.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant p,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant li,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
.ext-aiassistant-message-assistant ol {
/* Matches your #content rule: line-height: 1.6 */
line-height: 1.6 !important;
line-height: 1.6 !important;
}
}


/* 3. Add Spacing Between Paragraphs */
.ext-aiassistant-message-assistant p {
/* Standard MediaWiki paragraph spacing (approx 1em) */
margin-bottom: 0.6em !important;
margin-top: 0 !important;
}

/* ======================================================= */
/* 4. UNIFIED BULLET POINTS (Clean Editorial Style) */
/* ======================================================= */

/* A. Base Reset for all lists */
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant ol {
.ext-aiassistant-message-assistant ol {
margin-top: 0.3em !important;
margin: 0.3em 0 0.6em !important;
margin-bottom: 0.6em !important; /* Space after the list */
margin-left: 0 !important;
margin-left: 0 !important; /* Remove external margin */
padding-top: 0 !important;
}
}


/* B. LEVEL 1: Flush Alignment & Filled Circle */
.ext-aiassistant-message-assistant ul {
.ext-aiassistant-message-assistant ul {
list-style-type: disc !important;
/* 1. Force the filled circle (disc) */
list-style-type: disc !important;
padding-left: 1.2em !important;
/* 2. ALIGNMENT TRICK:
1.2em padding reserves just enough space for the bullet.
This makes the bullet symbol sit 'flush' with the normal text above,
while the list item text is indented. */
padding-left: 1.2em !important;
}
}


/* C. LEVEL 2+ (NESTED): Indentation & Consistency */
.ext-aiassistant-message-assistant ul ul {
.ext-aiassistant-message-assistant ul ul {
list-style-type: disc !important;
/* Keep the same filled circle (don't switch to empty circle) */
list-style-type: disc !important;
padding-left: 1.5em !important;

/* Indent this level relative to the parent */
padding-left: 1.5em !important;
}
}


/* D. List Item Spacing */
.ext-aiassistant-message-assistant li {
.ext-aiassistant-message-assistant li {
margin-bottom: 0.2em !important; /* Breathing room between items */
margin-bottom: 0.2em !important;
white-space: normal !important;
}
}


/* 5. Ensure Citations [1] don't break the line height */
.ext-aiassistant-cite {
line-height: 1 !important;
font-size: 80% !important;
vertical-align: super !important;
}

/* ======================================================= */
/* FIX FOR AI ASSISTANT: LINE BREAKS & FONT UNIFICATION */
/* ======================================================= */

/* 1. Force container to handle spacing correctly */
.ext-aiassistant-message-assistant {
font-family: sans-serif !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
/* Collapses invisible newlines between blocks to prevent gaps */
white-space: normal !important;
max-width: 100% !important;
}

/* 2. Fix 'Code Blocks' (Indented lists starting with *) */
/* These were refusing to wrap because browsers treat them as <pre> code */
.ext-aiassistant-message-assistant pre,
.ext-aiassistant-message-assistant pre,
.ext-aiassistant-message-assistant code {
.ext-aiassistant-message-assistant code {
white-space: pre-wrap !important;
/* FORCE WRAPPING: This fixes the text going off-screen */
white-space: pre-wrap !important;
word-wrap: break-word !important;
word-wrap: break-word !important;
font-family: inherit !important;
/* Make it look like normal text */
font-family: inherit !important;
background: transparent !important;
background: transparent !important;
border: none !important;
border: none !important;
padding: 0 !important;
padding: 0 !important;
margin: 0 !important;
/* Remove gaps */
margin-top: 0 !important;
margin-bottom: 0 !important;
}
}


/* 3. Fix standard HTML Lists */
/* --- Action buttons (copy, source) --- */
.ext-aiassistant-message-assistant ul,
.ext-aiassistant-message-assistant .ext-aiassistant-actions {
display: flex !important;
.ext-aiassistant-message-assistant ol {
margin-top: 0 !important;
flex-direction: row-reverse !important;
padding-top: 0 !important;
word-wrap: break-word !important;
}
}


.ext-aiassistant-message-user .ext-aiassistant-actions {
/* 4. Fix List Items */
display: flex !important;
.ext-aiassistant-message-assistant li {
white-space: normal !important;
justify-content: flex-end !important;
word-wrap: break-word !important;
}
}


/* --- Citations --- */
/* ======================================================= */
.ext-aiassistant-cite {
/* 7. AI ASSISTANT COLORS (Footer & Active Button) */
line-height: 1 !important;
/* ======================================================= */
font-size: 80% !important;
vertical-align: super !important;
}


/* --- Sources --- */
/* 2. Change Active Send Button to Dark (#202122) */
.ext-aiassistant-sources {
/* We use :not(:disabled) to target the button only when it is active,
background: transparent !important;
ensuring we don't overwrite the light grey disabled state. */
border: none !important;
.ext-aiassistant-send:not(:disabled) {
background-color: #202122 !important;
box-shadow: none !important;
border-color: #202122 !important;
padding: 0 !important;
color: #ffffff !important; /* Keep the arrow icon white */
margin-bottom: 12px !important;
}
}


/* --- "New Chat" label --- */
/* ======================================================= */
/* 8. RENAME "NEW CHAT" BUTTON TO "NEW" */
/* ======================================================= */

/* 1. Hide the original text "New chat" */
/* We scope this to the AI panel and exclude icon-only buttons (like Close/X) */
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only) {
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only) {
font-size: 0 !important;
font-size: 0 !important;
}
}

/* 2. Inject the new text "New" */
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only)::before {
.ext-aiassistant-panel .cdx-button--weight-quiet:not(.cdx-button--icon-only)::before {
content: "New" !important;
content: "New" !important;
font-size: 0.875rem !important;
/* Restore the font size (0.875rem is standard 14px) */
font-size: 0.875rem !important;
font-weight: bold !important;
font-weight: bold !important;
color: #202122 !important;
/* Ensure color is inherited or set explicitly */
color: #202122 !important;
visibility: visible !important;
visibility: visible !important;
}
}


/* --- Footer + Composer --- */
/* ======================================================= */
.ext-aiassistant-footer {
/* FIX: PREVENT IPHONE ZOOM ON AI ASSISTANT INPUT */
border-top: 1px solid #202122 !important;
/* ======================================================= */
display: flex !important;

align-items: center !important;
@media screen and (max-width: 768px) {
justify-content: center !important;
/* 1. Force font-size to 16px to stop iOS zooming in */
.ext-aiassistant-panel input,
.ext-aiassistant-panel textarea,
.ext-aiassistant-panel .cdx-text-input__input {
font-size: 16px !important;
}

/* 2. Prevent horizontal scrolling on the main body */
/* This ensures that even if a small shift happens, the white bar is hidden */
html, body {
overflow-x: hidden !important;
width: 100% !important;
position: relative; /* Stabilizes the container */
}
}

/* ======================================================= */
/* PRINT OPTIMIZATION: HIDE UI & FIX FONTS */
/* ======================================================= */
@media print {
/* 1. Hide the 4 floating bottom buttons (Search, Home, ToC, Email) */
#searchIcon,
.branding-box,
#cps-open-toc,
#custom-email-btn {
display: none !important;
}

/* 2. Hide the ToC panel and Overlay if they happen to be open */
#cps-toc-panel,
#cps-toc-overlay {
display: none !important;
}

/* 3. Hide the search input bar if it was left open */
.minerva-header .search-box {
display: none !important;
}

/* 4. Hide the AI Assistant (Icon & Chat Panel) */
.ext-aiassistant,
.ext-aiassistant-panel,
.ext-aiassistant-trigger {
display: none !important;
}

/* 5. Fix Font Consistency for Lists */
/* Forces bullet points to use the same Serif font as the body text */
.mw-parser-output ul,
.mw-parser-output ol,
.mw-parser-output li {
font-family: inherit !important;
}
}

/* Hide AI Assistant shortcut hint on mobile */
@media screen and (max-width: 768px) {
.ext-aiassistant-shortcut-hint {
display: none !important;
}
}

/* ======================================================= */
/* LOGO: FIT TO BODYCONTENT WIDTH */
/* ======================================================= */
.fullscreen-logo {
width: 100% !important;
padding: 0 !important;
padding: 0 !important;
margin: 0 auto !important;
box-sizing: border-box !important;
background-color: #f8f9fa !important;
/* Match your #content max-width so it never exceeds the text column */
max-width: 900px !important;
}
}


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

.fullscreen-logo figure > span {
display: block !important;
width: 100% !important;
width: 100% !important;
background-color: #fff !important;
padding: 10px 20px !important;
border: none !important;
border-radius: 0 !important;
}
}


.ext-aiassistant-prompt-composer__toolbar {
.fullscreen-logo img.mw-file-element {
display: block !important;
display: flex !important;
width: 100% !important;
align-items: center !important;
max-width: 100% !important;
height: auto !important;
min-width: 0 !important;
}
}


/* --- Composer focus --- */
/* Desktop: constrain to the actual text content width */
.ext-aiassistant-prompt-composer:focus-within .ext-aiassistant-prompt-composer__input,
@media screen and (min-width: 1000px) {
.ext-aiassistant-prompt-composer__input:focus {
.fullscreen-logo {
border-color: #202122 !important;
/* Use the parser output width as reference instead of the full body */
max-width: 100% !important;
outline: none !important;
box-shadow: none !important;
}
.fullscreen-logo img.mw-file-element {
/* Cap the image so it doesn't grow past the content column */
max-width: min(100%, 900px) !important;
margin: 0 auto !important;
}
}
}


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


.ext-aiassistant-prompt-composer__send:not(:disabled) {
/* ========================================================= */
background-color: #202122 !important;
/* GLOBAL WIKITABLE STYLES */
border-color: #202122 !important;
/* ========================================================= */
color: #ffffff !important;

/* 1. Set default font size and white background for all wikitables */
table.wikitable {
font-size: 0.85em;
background-color: #fff;
}
}


.ext-aiassistant-prompt-composer__send:disabled {
/* Ensure individual data cells are white (keeps 'th' headers default gray) */
background-color: #EAECF0 !important;
table.wikitable td {
background-color: #fff;
border-color: #EAECF0 !important;
}
}


.ext-aiassistant-prompt-composer__send:disabled .cdx-icon svg {
/* 2. Align caption left, apply standard borders, and match background */
fill: #72777d !important;
table.wikitable caption {
text-align: left;
font-weight: bold;
background-color: #fff;
}
}



/* Prevent wikitable borders from wrapping around the caption on small screens */
/* =================================================================
9. RESPONSIVE OVERRIDES
================================================================= */

/* --- Small screens (max-width: 719px) --- */
@media screen and (max-width: 719px) {
@media screen and (max-width: 719px) {
table.wikitable {
table.wikitable { border: none !important; }
table.wikitable > tr > th,
border: none !important;
}
/* Ensure the actual cells keep their borders to maintain the grid look */
table.wikitable > tr > th,
table.wikitable > tr > td,
table.wikitable > tr > td,
table.wikitable > tbody > tr > th,
table.wikitable > tbody > tr > th,
table.wikitable > tbody > tr > td {
table.wikitable > tbody > tr > td {
border: 1px solid var(--border-color-base, #a2a9b1);
border: 1px solid var(--border-color-base, #a2a9b1);
Line 1,611: Line 1,067:
}
}


/* --- Mobile (max-width: 768px) --- */
/* Minerva-specific: Fix insufficient bullet indentation */
@media screen and (max-width: 768px) {
body.skin-minerva .mw-parser-output ul,
/* AI assistant: fullscreen mode */
body.skin-minerva .collapsible-block ul {
.ext-aiassistant-panel {
padding-left: 1em;
position: fixed !important;
margin-left: 0;
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) --- */
body.skin-minerva .mw-parser-output ul ul,
@media screen and (min-width: 768px) {
body.skin-minerva .collapsible-block ul ul {
/* Lock home button shape */
padding-left: 1em;
.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) --- */
/* ======================================================= */
/* WIDER DESKTOP LAYOUT (Overrides the 900px default cap) */
/* ======================================================= */
@media screen and (min-width: 1000px) {
@media screen and (min-width: 1000px) {
/* 1. Widen the main text column */
/* Wider content column */
#content {
#content { max-width: 1200px !important; }
max-width: 1200px !important; /* Increase this number to go even wider */
/* Note: To make it fill the entire screen edge-to-edge, use: max-width: 100% !important; */
}


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


/* Hide ToC button on desktop Vector 2022 (full sidebar available) */
/* Target only the content box inside the user's message wrapper */
body.skin-vector-2022 #cps-open-toc { display: none !important; }
.ext-aiassistant-message-user .ext-aiassistant-message__content {
background-color: #202122;
color: white;
border-radius: 24px; /* Adjust the pixel value for more or less roundness */
padding: 12px; /* Adds space so the text doesn't touch the edges */
}
}


/* Ensure paragraph tags inside the user's message also inherit the white text color */
.ext-aiassistant-message-user .ext-aiassistant-message__content p {
color: white;
margin: 0;
}


/* =================================================================
/* Create a uniform gap between all consecutive chat messages */
10. PRINT STYLES
.ext-aiassistant-message + .ext-aiassistant-message {
================================================================= */
margin-top: 2.5em !important; /* Change this value to increase or decrease the gap */

@media print {
/* Hide floating buttons */
#searchIcon,
.branding-box,
#cps-open-toc,
#custom-email-btn { display: none !important; }

/* Hide ToC overlay */
#cps-toc-panel,
#cps-toc-overlay { display: none !important; }

/* Hide search bar */
.minerva-header .search-box { display: none !important; }

/* Hide AI assistant */
.ext-aiassistant,
.ext-aiassistant-panel,
.ext-aiassistant-trigger { display: none !important; }

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

Revision as of 01:34, 15 March 2026

/* =================================================================
   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: #1d70b8 !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 */
    #searchIcon,
    .branding-box,
    #cps-open-toc,
    #custom-email-btn { display: none !important; }

    /* Hide ToC overlay */
    #cps-toc-panel,
    #cps-toc-overlay { display: none !important; }

    /* Hide search bar */
    .minerva-header .search-box { display: none !important; }

    /* Hide AI assistant */
    .ext-aiassistant,
    .ext-aiassistant-panel,
    .ext-aiassistant-trigger { display: none !important; }

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