MediaWiki:Common.css

Revision as of 23:54, 6 December 2025 by Wikilah admin (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* CSS placed here will be applied to all skins. This version makes the log-in disappear*/

/* ======================================================= */
/* 1. STANDARD MEDIAWIKI STYLING (Fonts, Quotes, etc.)     */
/* ======================================================= */
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 logic */
.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; }

/* Hide Permission Groups */
.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; }
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; }

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

/* ======================================================= */
/* RESTORED CAPSACH TOC (Fixed: Top-Right Dropdown)        */
/* ======================================================= */

/* CapSach — Mobile TOC overlay (all skins) */
#cps-open-toc {
  position: fixed;
  /* (These styles are now handled by the Floating Squares section, 
      but we keep basic reset here just in case) */
  display: none; 
}

/* Full-screen scrim (Click outside to close) */
#cps-toc-overlay {
  position: fixed; inset: 0;
  /* Slightly darker to focus attention on the menu */
  background: rgba(0,0,0,0.2); 
  display: none; 
  z-index: 1004; /* Below the panel, above the buttons */
}
#cps-toc-overlay.is-open { display: block; }

/* --- THE DROPDOWN PANEL (MOVED TO TOP RIGHT) --- */
#cps-toc-panel {
  position: fixed; 
  
  /* POSITION: 60px from top (Clear of the header) */
  top: 60px !important; 
  
  /* POSITION: Aligned with the button */
  right: 10px !important; 
  left: auto !important; 
  bottom: auto !important; /* Crucial: Detach from bottom */
  
  /* SIZE: Fixed width card instead of full width */
  width: 300px !important;
  max-width: 90vw !important; /* Safety for small screens */
  max-height: 80vh !important;
  
  /* APPEARANCE: Floating Card */
  border-radius: 12px !important;
  background: #ffffff !important; 
  color: #202122 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important;
  
  padding: 12px !important;
  
  /* SCROLLING */
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  
  /* VISIBILITY */
  z-index: 1005 !important; /* Must be highest */
  display: none; /* Hidden by default */
}

/* Logic to show panel (usually handled by JS toggling a class, 
   but ensuring display block when active) */
.is-open #cps-toc-panel, 
#cps-toc-overlay.is-open + #cps-toc-panel, /* Fallback selector */
#cps-toc-panel[style*="display: block"] {
    display: block !important;
}

/* Header row */
#cps-toc-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px;
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
}
#cps-toc-title { font-size: 16px; font-weight: 700; margin: 0; color: #000; }
#cps-toc-close {
  background: transparent; border: 0; font-size: 24px; line-height: 1;
  color: #666; padding: 0 8px;
}

/* List Styling */
#cps-toc-list {
  list-style: none; margin: 0; padding: 0;
}
#cps-toc-list li { margin: 0; }
#cps-toc-list a {
  display: block; padding: 10px; 
  border-radius: 6px;
  text-decoration: none; 
  color: #202122;
  font-size: 14px;
  line-height: 1.4;
}
#cps-toc-list a:active {
  background: #f0f0f0;
  color: #3366cc;
}

/* Indentation by heading level */
#cps-toc-list li[data-level="3"] { padding-left: 10px; }
#cps-toc-list li[data-level="4"] { padding-left: 20px; }
#cps-toc-list li[data-level="5"] { padding-left: 30px; }
#cps-toc-list li[data-level="6"] { padding-left: 40px; }

/* Only show on phone-ish widths */
@media (min-width: 768px) {
  #cps-open-toc, #cps-toc-overlay, #cps-toc-panel { display: none !important; }
}

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

/* ======================================================= */
/* FIX: HIDE DUPLICATE "CONTENTS" TITLE IN MOBILE TOC      */
/* ======================================================= */
#cps-toc-panel .toctitle,
#cps-toc-panel #mw-toc-heading,
#cps-toc-panel h2 {
    display: none !important;
}

/* ======================================================= */
/* FIX: HIDE DUPLICATE "CONTENTS" TITLE IN MOBILE TOC      */
/* ======================================================= */

/* This hides the original MediaWiki header inside your custom panel */
#cps-toc-panel .toctitle,
#cps-toc-panel #mw-toc-heading,
#cps-toc-panel h2 {
    display: none !important;
}

/* ======================================================= */
/* 2. GLOBAL HIDE (READ-ONLY MODE)                         */
/* These elements are hidden for everyone by default.    */
/* They are UNHIDDEN in MediaWiki:Group-user.css         */
/* ======================================================= */

/* HIDE USER LINKS (Includes Sticky Header IDs for Vector 2022) */
#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;
}

/* HIDE TOOLS (Sidebar, Dropdowns, Tabs) */
#p-tb,                        /* Toolbox */
#vector-page-tools,           /* Vector 22 Sidebar */
#vector-page-tools-dropdown, /* Vector 22 Dropdown */
.vector-p-tb,
#ca-viewsource,
#ca-history,
#ca-talk {
    display: none !important;
}

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

/* ======================================================= */
/* FORCE HIDE MOBILE HISTORY BAR                           */
/* Placed in Common.css to ensure it loads on all devices  */
/* ======================================================= */

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

/* Target the text wrapper explicitly */
.last-modified-bar__text,
.modified-enhancement {
    display: none !important;
}

/* Target the specific clock icon found inside that button */
.minerva-icon--modified-history {
    display: none !important;
}

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

/* Target the main container div */
.minerva-user-menu {
    display: none !important;
}

/* Backup: Target the toggle button specifically */
.toggle-list__toggle#minerva-user-menu-toggle {
    display: none !important;
}

/* Backup: Target the icon inside */
.minerva-icon--userAvatarOutline {
    display: none !important;
}

/* ======================================================= */
/* HIDE MOBILE SIDEBAR ITEMS                               */
/* ======================================================= */

/* 1. Hide "Recent Changes" */
#mw-mf-page-left a[href*="Special:RecentChanges"],
#mw-mf-page-left a[data-event-name="recentchanges"] {
    display: none !important;
}

/* 2. Hide "Special Pages" */
#mw-mf-page-left a[href*="Special:SpecialPages"] {
    display: none !important;
}

/* 3. Hide "Community Portal" */
/* Matches the URL: index.php?title=...Community_portal */
#mw-mf-page-left a[href*="Community_portal"] {
    display: none !important;
}

/* ======================================================= */
/* 1. DESKTOP STICKY HEADER (Vector 2022 Skin)             */
/* ======================================================= */
/* This part works perfectly, as confirmed. */

.vector-header-container {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Pushes article content down so it isn't hidden behind the fixed header */
body.skin-vector-2022 {
    padding-top: 60px;
}
.mw-page-container {
    margin-top: 10px;
}

/* ======================================================= */
/* 2. TOP FLOATING SQUARES (44px | #F8F9FA Tone)           */
/* ======================================================= */

/* --- A. HEADER RESET (Invisible Container) --- */
.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;
    transform: none !important;
    transition: none !important;
    overflow: visible !important;
}

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

/* Hide default elements */
.header-container .navigation-drawer { display: none !important; }

/* --- B. COMMON SQUARE STYLE (0.03 Transparency for #F8F9FA) --- */
.branding-box, 
#searchIcon, 
#cps-open-toc,
body.mw-mf-search-mode .minerva-header .search-box input {
    /* 3% Black = ~#F8F9FA on white */
    background-color: rgba(0, 0, 0, 0.03) !important; 
    
    /* Force Full Opacity & Strip Defaults */
    opacity: 1 !important;
    background-image: none !important;
    -webkit-appearance: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    
    border-radius: 8px !important;
    pointer-events: auto !important;
    
    /* STANDARD 44px SIZING */
    box-sizing: border-box !important;
    width: 44px !important; 
    height: 44px !important;
    padding: 0 !important; 
    margin: 0 !important;
}

/* --- C. BUTTON 1: SEARCH TRIGGER (TOP LEFT) --- */
#searchIcon {
    position: fixed !important;
    
    /* ALIGNMENT: 8px Top */
    top: 8px !important;      
    left: 10px !important;
    right: auto !important;
    
    /* FORCE SIZE RESET */
    min-width: 0 !important; 
    min-height: 0 !important;
    max-width: 44px !important;
    max-height: 44px !important;
    
    z-index: 1003 !important;
    display: flex !important; align-items: center; justify-content: center;
}

/* Search Icon */
#searchIcon .minerva-icon {
    font-size: 24px !important;
    color: #fff !important;
    fill: #fff !important;
    opacity: 1 !important;
    filter: brightness(0) invert(1); 
    margin: 0 !important;
}

/* --- D. BUTTON 2: TOC (RIGHT - 100px SPACE) --- */
#cps-open-toc {
    display: flex !important;
    position: fixed !important;
    top: 8px !important;
    
    /* Position: 100px from right edge */
    right: 100px !important; 
    left: auto !important; bottom: auto !important;
    
    z-index: 1002 !important;
    color: #fff !important;
    align-items: center; justify-content: center;
}

/* TOC Icon */
#cps-open-toc .icon { font-size: 24px !important; }

/* --- E. BUTTON 3: HOME (LEFT OF TOC) --- */
.branding-box {
    position: fixed !important;
    top: 8px !important;
    
    /* Position: 100px (Space) + 44px (TOC) + 10px (Gap) */
    right: 154px !important;
    left: auto !important;
    
    z-index: 1002 !important;
    display: flex !important; 
    align-items: center; 
    justify-content: center;
}

/* 1. The Home Icon (Bold & White) */
.branding-box::after {
    content: "⌂"; 
    font-size: 30px !important; 
    color: #fff !important; 
    -webkit-text-stroke: 1px #fff !important; 
    margin-top: -6px !important; 
    display: block !important;
    line-height: 1 !important;
}

/* 2. The Link Overlay */
.branding-box a {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    opacity: 0 !important; 
    z-index: 2 !important;
}
.branding-box a * { display: none !important; }
.branding-box a::before { display: none !important; }

/* --- F. THE SEARCH INPUT --- */

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

/* 2. Position Wrapper */
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;
}

/* 3. Style Input Pill */
body.mw-mf-search-mode .minerva-header .search-box input {
    width: 100% !important;
    height: 44px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    
    /* Background matches buttons */
    background-color: rgba(0, 0, 0, 0.03) !important;
    
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
    
    /* PADDING: 44px (Button) + 11px (Gap) */
    padding-left: 55px !important; 
    padding-right: 55px !important;
    
    margin: 0 !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 {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

/* 6. Cancel "X" Button */
.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;
}