MediaWiki:Common.css: Difference between revisions

From Counter-Strike 2 Wiki
Add CS2 dark theme
 
Add CSS for map screenshots, weapon images, skin galleries, collection tables
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
/* ============================================================
/* ============================================================
   COUNTER-STRIKE WIKI — CS2 DARK THEME
   COUNTER-STRIKE 2 WIKI — LIGHT THEME
   Custom CSS for MediaWiki Vector 2022 Skin
   Clean editorial design with CS2 orange accent
   ============================================================ */
   ============================================================ */


/* ---- Google Fonts Import ---- */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Barlow+Condensed:wght@400;500;600;700&display=swap');


/* ============================================================
/* ============================================================
   CSS CUSTOM PROPERTIES (Variables)
   CSS CUSTOM PROPERTIES
   ============================================================ */
   ============================================================ */
:root {
:root {
     /* Core palette */
     --cs-bg: #f7f5f0;
     --cs2-bg-dark: #0f1923;
     --cs-bg-content: #ffffff;
     --cs2-bg-content: #14202e;
     --cs-bg-card: #ffffff;
     --cs2-bg-card: #1a2a3a;
     --cs-bg-card-hover: #faf9f6;
     --cs2-bg-elevated: #1e3045;
     --cs-bg-subtle: #f0ede6;
     --cs2-accent-gold: #de9b35;
     --cs-bg-header: #1b1f24;
     --cs2-accent-gold-hover: #f0b04a;
     --cs-accent: #de8e1d;
     --cs2-accent-ct-blue: #4b93d1;
    --cs-accent-hover: #c47a12;
     --cs2-accent-t-gold: #dea83b;
     --cs-accent-soft: rgba(222, 142, 29, 0.08);
     --cs2-text-primary: #e0e0e0;
     --cs-accent-border: rgba(222, 142, 29, 0.25);
     --cs2-text-secondary: #a0a8b0;
    --cs-blue: #2563eb;
     --cs2-text-muted: #6a7a8a;
     --cs-blue-hover: #1d4ed8;
     --cs2-link: #5b9fd4;
     --cs-blue-soft: rgba(37, 99, 235, 0.06);
     --cs2-link-visited: #7baed4;
     --cs-text: #1a1d21;
     --cs2-link-hover: #de9b35;
     --cs-text-secondary: #555d68;
     --cs2-border: #2a3a4a;
     --cs-text-muted: #8b929c;
     --cs2-border-light: #354555;
     --cs-text-inverse: #f0ede6;
     --cs2-border-accent: #3a5060;
     --cs-border: #e2dfd8;
     --cs2-shadow: rgba(0, 0, 0, 0.4);
     --cs-border-subtle: #eae7e0;
     --cs2-scrollbar-track: #0f1923;
     --cs-shadow-sm: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
     --cs2-scrollbar-thumb: #2a3a4a;
     --cs-shadow-md: 0 4px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
     --cs2-scrollbar-thumb-hover: #3a5060;
     --cs-shadow-lg: 0 8px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
 
     --cs-radius: 6px;
    /* Font stacks */
     --cs-radius-lg: 10px;
     --cs2-font-heading: 'Rajdhani', 'Barlow Condensed', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
     --cs-font-display: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     --cs2-font-body: 'Barlow Condensed', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
     --cs-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cs-transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
}


/* ============================================================
/* ============================================================
   GLOBAL / HTML / BODY
   GLOBAL RESET & BASE
   ============================================================ */
   ============================================================ */
html,
html, body {
body {
     background-color: var(--cs-bg) !important;
     background-color: var(--cs2-bg-dark) !important;
     color: var(--cs-text) !important;
     color: var(--cs2-text-primary) !important;
}
}


body {
body {
     background-image:
     background-image: none !important;
        radial-gradient(ellipse at 20% 50%, rgba(75, 147, 209, 0.03) 0%, transparent 50%),
     background-attachment: unset !important;
        radial-gradient(ellipse at 80% 20%, rgba(222, 155, 53, 0.03) 0%, transparent 50%),
        linear-gradient(180deg, #0f1923 0%, #0d1520 100%) !important;
     background-attachment: fixed !important;
}
}


/* ============================================================
/* ============================================================
   VECTOR 2022 — PAGE CONTAINER & LAYOUT
   VECTOR 2022 LAYOUT
   ============================================================ */
   ============================================================ */
.mw-page-container,
.mw-page-container,
Line 64: Line 60:
}
}


/* Main content column */
.mw-body,
.mw-body,
.vector-body,
.vector-body,
Line 70: Line 65:
#content,
#content,
.mw-body-content {
.mw-body-content {
     background-color: var(--cs2-bg-content) !important;
     background-color: var(--cs-bg-content) !important;
     color: var(--cs2-text-primary) !important;
     color: var(--cs-text) !important;
     border-color: var(--cs2-border) !important;
     border-color: var(--cs-border) !important;
}
}


/* Content wrapper with subtle border */
.mw-body {
.mw-body {
     border: 1px solid var(--cs2-border) !important;
     border: 1px solid var(--cs-border) !important;
     border-radius: 4px;
     border-radius: var(--cs-radius-lg) !important;
     padding: 1.5em 2em !important;
     padding: 2em 2.5em !important;
     box-shadow: 0 2px 12px var(--cs2-shadow);
     box-shadow: var(--cs-shadow-md) !important;
    margin-top: 0.5em !important;
}
}


/* ============================================================
/* ============================================================
   HEADER BAR
   HEADER
   ============================================================ */
   ============================================================ */
.vector-header-container,
.vector-header-container,
Line 90: Line 85:
.mw-header,
.mw-header,
header.vector-header {
header.vector-header {
     background-color: var(--cs2-bg-dark) !important;
     background-color: var(--cs-bg-header) !important;
     border-bottom: 1px solid var(--cs2-border) !important;
     border-bottom: none !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.12) !important;
}
}


Line 98: Line 94:
}
}


/* Site name / wordmark */
.mw-logo-wordmark,
.mw-logo-wordmark,
.vector-menu-heading,
.vector-menu-heading,
.mw-wiki-title {
.mw-wiki-title {
     color: var(--cs2-accent-gold) !important;
     color: #ffffff !important;
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
     font-weight: 700 !important;
     font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}
}


/* Hide "change your logo" placeholder */
.mw-logo-icon[src*="change-your-logo"],
.mw-logo-icon[src*="change-your-logo"],
img[src*="change-your-logo"],
img[src*="change-your-logo"],
Line 118: Line 113:


/* ============================================================
/* ============================================================
   SIDEBAR / NAVIGATION PANEL
  STICKY HEADER
  ============================================================ */
.vector-sticky-header {
    background-color: var(--cs-bg-header) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.12) !important;
}
 
.vector-sticky-header a {
    color: var(--cs-text-inverse) !important;
}
 
.vector-sticky-header a:hover {
    color: var(--cs-accent) !important;
}
 
.vector-sticky-header-context-bar__title {
    color: #ffffff !important;
}
 
/* ============================================================
   SIDEBAR
   ============================================================ */
   ============================================================ */
#mw-panel,
#mw-panel,
Line 126: Line 142:
.vector-column-start,
.vector-column-start,
.vector-sidebar {
.vector-sidebar {
     background-color: var(--cs2-bg-dark) !important;
     background-color: var(--cs-bg) !important;
}
}


Line 133: Line 149:
.vector-main-menu-group .vector-menu-heading,
.vector-main-menu-group .vector-menu-heading,
.sidebar-toc .sidebar-toc-header {
.sidebar-toc .sidebar-toc-header {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-text) !important;
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
     font-weight: 600 !important;
     font-weight: 700 !important;
     text-transform: uppercase !important;
     text-transform: uppercase !important;
     letter-spacing: 0.05em !important;
     letter-spacing: 0.06em !important;
     font-size: 0.85em !important;
     font-size: 0.72em !important;
}
}


Line 145: Line 161:
nav.vector-main-menu-landmark a,
nav.vector-main-menu-landmark a,
.mw-panel a {
.mw-panel a {
     color: var(--cs2-text-secondary) !important;
     color: var(--cs-text-secondary) !important;
     transition: color 0.15s ease !important;
     transition: color var(--cs-transition) !important;
    font-family: var(--cs-font-body) !important;
}
}


Line 153: Line 170:
nav.vector-main-menu-landmark a:hover,
nav.vector-main-menu-landmark a:hover,
.mw-panel a:hover {
.mw-panel a:hover {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-accent-hover) !important;
     text-decoration: none !important;
     text-decoration: none !important;
}
}


/* ============================================================
/* ============================================================
   TABLE OF CONTENTS (Sidebar TOC in Vector 2022)
   TABLE OF CONTENTS
   ============================================================ */
   ============================================================ */
.vector-toc,
.vector-toc,
Line 165: Line 182:
#vector-toc-pinned-container,
#vector-toc-pinned-container,
.vector-column-start .sidebar-toc {
.vector-column-start .sidebar-toc {
     background-color: var(--cs2-bg-dark) !important;
     background-color: var(--cs-bg) !important;
     border-color: var(--cs2-border) !important;
     border-color: var(--cs-border) !important;
}
}


.sidebar-toc .sidebar-toc-header,
.sidebar-toc .sidebar-toc-header,
.vector-toc .vector-toc-heading {
.vector-toc .vector-toc-heading {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-text) !important;
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
     text-transform: uppercase !important;
     text-transform: uppercase !important;
     letter-spacing: 0.05em !important;
     letter-spacing: 0.06em !important;
    font-size: 0.72em !important;
    font-weight: 700 !important;
}
}


.sidebar-toc .sidebar-toc-list-item a,
.sidebar-toc .sidebar-toc-list-item a,
.vector-toc .vector-toc-list-item a {
.vector-toc .vector-toc-list-item a {
     color: var(--cs2-text-secondary) !important;
     color: var(--cs-text-secondary) !important;
     border-left-color: var(--cs2-border) !important;
     border-left-color: var(--cs-border) !important;
     transition: color 0.15s ease, border-left-color 0.15s ease !important;
     transition: color var(--cs-transition), border-left-color var(--cs-transition) !important;
    font-family: var(--cs-font-body) !important;
}
}


.sidebar-toc .sidebar-toc-list-item a:hover,
.sidebar-toc .sidebar-toc-list-item a:hover,
.vector-toc .vector-toc-list-item a:hover {
.vector-toc .vector-toc-list-item a:hover {
     color: var(--cs2-link-hover) !important;
     color: var(--cs-accent-hover) !important;
     border-left-color: var(--cs2-accent-gold) !important;
     border-left-color: var(--cs-accent) !important;
}
}


.sidebar-toc .sidebar-toc-list-item-active > a,
.sidebar-toc .sidebar-toc-list-item-active > a,
.vector-toc .sidebar-toc-list-item-active > a {
.vector-toc .sidebar-toc-list-item-active > a {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-accent) !important;
     border-left-color: var(--cs2-accent-gold) !important;
     border-left-color: var(--cs-accent) !important;
     font-weight: 600 !important;
     font-weight: 600 !important;
}
}


/* In-content TOC (legacy or fallback) */
#toc, .toc,
#toc,
.toc,
.toctogglecheckbox + .toctitle,
.mw-parser-output .toc {
.mw-parser-output .toc {
     background-color: var(--cs2-bg-card) !important;
     background-color: var(--cs-bg-subtle) !important;
     border: 1px solid var(--cs2-border) !important;
     border: 1px solid var(--cs-border) !important;
     border-radius: 4px !important;
     border-radius: var(--cs-radius) !important;
     padding: 1em 1.5em !important;
     padding: 1em 1.5em !important;
     color: var(--cs2-text-primary) !important;
     color: var(--cs-text) !important;
}
}


#toc .toctitle,
#toc .toctitle, .toc .toctitle {
.toc .toctitle {
     font-family: var(--cs-font-display) !important;
     font-family: var(--cs2-font-heading) !important;
     color: var(--cs-text) !important;
     color: var(--cs2-accent-gold) !important;
     font-weight: 700 !important;
     font-weight: 700 !important;
     text-transform: uppercase !important;
     text-transform: uppercase !important;
     letter-spacing: 0.05em !important;
     letter-spacing: 0.06em !important;
}
     font-size: 0.8em !important;
 
#toc a,
.toc a {
     color: var(--cs2-link) !important;
}
}


#toc a:hover,
#toc a, .toc a { color: var(--cs-blue) !important; }
.toc a:hover {
#toc a:hover, .toc a:hover { color: var(--cs-accent) !important; }
    color: var(--cs2-link-hover) !important;
}


/* ============================================================
/* ============================================================
Line 234: Line 244:
.mw-body-content,
.mw-body-content,
.vector-body {
.vector-body {
     font-family: var(--cs2-font-body) !important;
     font-family: var(--cs-font-body) !important;
     font-size: 15px !important;
     font-size: 15.5px !important;
     line-height: 1.65 !important;
     line-height: 1.72 !important;
    color: var(--cs-text) !important;
}
}


/* Headings — override Vector serif to CS2 tactical sans-serif */
h1, h2, h3, h4, h5, h6,
h1, h2, h3, h4, h5, h6,
.mw-body h1, .mw-body h2, .mw-body h3,
.mw-body h1, .mw-body h2, .mw-body h3,
Line 246: Line 256:
.mw-heading h4, .mw-heading h5, .mw-heading h6,
.mw-heading h4, .mw-heading h5, .mw-heading h6,
.mw-body-content h1, .mw-body-content h2, .mw-body-content h3 {
.mw-body-content h1, .mw-body-content h2, .mw-body-content h3 {
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
     color: var(--cs2-text-primary) !important;
     color: var(--cs-text) !important;
     border-bottom-color: var(--cs2-border) !important;
     border-bottom-color: var(--cs-border) !important;
}
}


/* H1 — Page title: large, bold, with accent underline */
/* H1 */
h1,
h1, .mw-body h1, .mw-first-heading,
.mw-body h1,
.mw-first-heading,
.mw-body .mw-first-heading {
.mw-body .mw-first-heading {
     font-size: 2.2em !important;
     font-size: 2.1em !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    border-bottom: 3px solid var(--cs-accent) !important;
    padding-bottom: 0.35em !important;
    margin-bottom: 0.7em !important;
    color: var(--cs-text) !important;
}
 
/* H2 */
h2, .mw-body h2,
.mw-heading2, .mw-body .mw-heading2 h2 {
    font-size: 1.45em !important;
     font-weight: 700 !important;
     font-weight: 700 !important;
     letter-spacing: 0.02em !important;
    text-transform: none !important;
     border-bottom: 2px solid var(--cs2-accent-gold) !important;
     letter-spacing: -0.01em !important;
     border-bottom: 1px solid var(--cs-border) !important;
     padding-bottom: 0.3em !important;
     padding-bottom: 0.3em !important;
    margin-bottom: 0.6em !important;
     margin-top: 1.8em !important;
    color: #ffffff !important;
     color: var(--cs-text) !important;
}
 
/* H2 — Section headings: uppercase tactical style */
h2,
.mw-body h2,
.mw-heading2,
.mw-body .mw-heading2 h2 {
    font-size: 1.5em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-bottom: 1px solid var(--cs2-border) !important;
    padding-bottom: 0.25em !important;
     margin-top: 1.5em !important;
     color: var(--cs2-text-primary) !important;
}
}


/* H3-H6 */
h3, .mw-body h3 {
h3, .mw-body h3 {
     font-size: 1.2em !important;
     font-size: 1.15em !important;
     font-weight: 600 !important;
     font-weight: 700 !important;
     color: var(--cs2-accent-ct-blue) !important;
     color: var(--cs-text) !important;
    margin-top: 1.4em !important;
}
}


h4, .mw-body h4 {
h4, .mw-body h4 {
     font-size: 1.05em !important;
     font-size: 1em !important;
     font-weight: 600 !important;
     font-weight: 600 !important;
     color: var(--cs2-text-secondary) !important;
     color: var(--cs-text-secondary) !important;
}
}


Line 296: Line 302:
   LINKS
   LINKS
   ============================================================ */
   ============================================================ */
a,
a, .mw-body a,
.mw-body a,
.mw-body-content a, .vector-body a {
.mw-body-content a,
     color: var(--cs-blue) !important;
.vector-body a {
    text-decoration: none !important;
     color: var(--cs2-link) !important;
     transition: color var(--cs-transition) !important;
     transition: color 0.15s ease !important;
}
}


a:visited,
a:visited, .mw-body a:visited,
.mw-body a:visited,
.vector-body a:visited {
.vector-body a:visited {
     color: var(--cs2-link-visited) !important;
     color: var(--cs-blue) !important;
}
}


a:hover,
a:hover, a:focus,
a:focus,
.mw-body a:hover, .mw-body-content a:hover,
.mw-body a:hover,
.mw-body-content a:hover,
.vector-body a:hover {
.vector-body a:hover {
     color: var(--cs2-link-hover) !important;
     color: var(--cs-accent-hover) !important;
     text-decoration: underline !important;
     text-decoration: underline !important;
}
}


/* Red links (non-existent pages) */
a.new, .mw-body a.new { color: #c44040 !important; }
a.new,
a.new:hover { color: #dc5050 !important; }
.mw-body a.new {
 
    color: #c44a4a !important;
.mw-body-content a.external { color: var(--cs-blue) !important; }
}
.mw-body-content a.external:hover { color: var(--cs-accent-hover) !important; }


a.new:hover {
/* ============================================================
     color: #e05555 !important;
  TABLES
  ============================================================ */
.wikitable, table.wikitable,
.mw-parser-output table.wikitable {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    border-collapse: collapse !important;
     color: var(--cs-text) !important;
    border-radius: var(--cs-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--cs-shadow-sm) !important;
}
}


/* External links */
.wikitable th, table.wikitable th {
.mw-body-content a.external {
    background-color: var(--cs-bg-header) !important;
     color: var(--cs2-link) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.08) !important;
     font-family: var(--cs-font-display) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 10px 14px !important;
    font-size: 0.88em !important;
}
}


.mw-body-content a.external:hover {
.wikitable td, table.wikitable td {
     color: var(--cs2-link-hover) !important;
    background-color: var(--cs-bg-card) !important;
    border-color: var(--cs-border-subtle) !important;
     color: var(--cs-text) !important;
    padding: 9px 14px !important;
    font-size: 0.93em !important;
}
}


/* ============================================================
.wikitable tr:nth-child(even) td {
  INFOBOXES & CARDS
     background-color: var(--cs-bg-subtle) !important;
  ============================================================ */
.infobox,
.wikitable.infobox,
table.infobox,
.sidebar,
.mw-parser-output .infobox {
     background-color: var(--cs2-bg-card) !important;
    border: 1px solid var(--cs2-border) !important;
    border-radius: 4px !important;
    color: var(--cs2-text-primary) !important;
    box-shadow: 0 2px 8px var(--cs2-shadow) !important;
}
}


.infobox th,
.wikitable tr:hover td {
table.infobox th {
     background-color: var(--cs-accent-soft) !important;
     background-color: var(--cs2-bg-elevated) !important;
    color: var(--cs2-accent-gold) !important;
    border-color: var(--cs2-border) !important;
    font-family: var(--cs2-font-heading) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
}


.infobox td,
/* Sortable table headers */
table.infobox td {
.wikitable.sortable th {
     border-color: var(--cs2-border) !important;
     cursor: pointer !important;
    color: var(--cs2-text-primary) !important;
}
}


/* ============================================================
/* ============================================================
   TABLES (wikitables)
   INFOBOXES
   ============================================================ */
   ============================================================ */
.wikitable,
.infobox, .wikitable.infobox,
table.wikitable,
table.infobox, .sidebar,
.mw-parser-output table.wikitable {
.mw-parser-output .infobox {
     background-color: var(--cs2-bg-card) !important;
     background-color: var(--cs-bg-card) !important;
     border: 1px solid var(--cs2-border) !important;
     border: 1px solid var(--cs-border) !important;
     border-collapse: collapse !important;
     border-radius: var(--cs-radius-lg) !important;
     color: var(--cs2-text-primary) !important;
     color: var(--cs-text) !important;
    box-shadow: var(--cs-shadow-md) !important;
    overflow: hidden !important;
}
}


.wikitable th,
.infobox th, table.infobox th {
table.wikitable th {
     background-color: var(--cs-bg-header) !important;
     background-color: var(--cs2-bg-elevated) !important;
     color: #ffffff !important;
     color: var(--cs2-accent-gold) !important;
     border-color: rgba(255,255,255,0.1) !important;
     border-color: var(--cs2-border) !important;
     font-family: var(--cs-font-display) !important;
     font-family: var(--cs2-font-heading) !important;
     text-transform: none !important;
     font-weight: 600 !important;
     letter-spacing: 0 !important;
     text-transform: uppercase !important;
     font-weight: 700 !important;
     letter-spacing: 0.03em !important;
     padding: 10px 14px !important;
     padding: 8px 12px !important;
}
}


.wikitable td,
.infobox td, table.infobox td {
table.wikitable td {
     border-color: var(--cs-border-subtle) !important;
     background-color: var(--cs2-bg-content) !important;
     color: var(--cs-text) !important;
    border-color: var(--cs2-border) !important;
     padding: 8px 14px !important;
     color: var(--cs2-text-primary) !important;
     padding: 6px 12px !important;
}
}


.wikitable tr:nth-child(even) td {
/* Infobox header with accent bg */
     background-color: var(--cs2-bg-card) !important;
.infobox th[colspan="2"],
table.infobox th[colspan="2"] {
     background: linear-gradient(135deg, var(--cs-bg-header), #2a2f36) !important;
    font-size: 1.15em !important;
    padding: 12px 16px !important;
}
}


.wikitable tr:hover td {
/* Label cells in infobox */
     background-color: var(--cs2-bg-elevated) !important;
.infobox th:not([colspan]),
table.infobox th:not([colspan]) {
     background-color: var(--cs-bg-subtle) !important;
    color: var(--cs-text-secondary) !important;
    font-weight: 600 !important;
    font-size: 0.85em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
}


/* ============================================================
/* ============================================================
   CATEGORY LINKS
   CATEGORIES
   ============================================================ */
   ============================================================ */
.catlinks,
.catlinks, #catlinks, .mw-normal-catlinks {
#catlinks,
     background-color: var(--cs-bg-subtle) !important;
.mw-normal-catlinks {
     border: 1px solid var(--cs-border) !important;
     background-color: var(--cs2-bg-card) !important;
     border-radius: var(--cs-radius) !important;
     border: 1px solid var(--cs2-border) !important;
     color: var(--cs-text-secondary) !important;
     border-radius: 4px !important;
     padding: 0.65em 1em !important;
     color: var(--cs2-text-secondary) !important;
     margin-top: 2em !important;
     padding: 0.75em 1em !important;
    font-size: 0.88em !important;
     margin-top: 1.5em !important;
}
}


.catlinks a {
.catlinks a { color: var(--cs-blue) !important; }
    color: var(--cs2-link) !important;
.catlinks a:hover { color: var(--cs-accent-hover) !important; }
}
 
.catlinks a:hover {
    color: var(--cs2-link-hover) !important;
}


/* ============================================================
/* ============================================================
   SEARCH BAR
   SEARCH
   ============================================================ */
   ============================================================ */
.mw-search-input,
.mw-search-input, #searchInput,
#searchInput,
.cdx-text-input__input, .vector-search-box-input,
.cdx-text-input__input,
.cdx-text-input input, input.cdx-text-input__input,
.vector-search-box-input,
.cdx-text-input input,
input.cdx-text-input__input,
.vector-search-box .cdx-text-input__input {
.vector-search-box .cdx-text-input__input {
     background-color: var(--cs2-bg-card) !important;
     background-color: rgba(255,255,255,0.12) !important;
     color: var(--cs2-text-primary) !important;
     color: #ffffff !important;
     border: 1px solid var(--cs2-border) !important;
     border: 1px solid rgba(255,255,255,0.18) !important;
     border-radius: 4px !important;
     border-radius: 8px !important;
     transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
     transition: border-color var(--cs-transition), box-shadow var(--cs-transition), background-color var(--cs-transition) !important;
}
}


.mw-search-input:focus,
.mw-search-input:focus, #searchInput:focus,
#searchInput:focus,
.cdx-text-input__input:focus, .vector-search-box-input:focus,
.cdx-text-input__input:focus,
.vector-search-box-input:focus,
input.cdx-text-input__input:focus {
input.cdx-text-input__input:focus {
     border-color: var(--cs2-accent-ct-blue) !important;
    background-color: rgba(255,255,255,0.18) !important;
     box-shadow: 0 0 0 2px rgba(75, 147, 209, 0.25) !important;
     border-color: var(--cs-accent) !important;
     box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.2) !important;
     outline: none !important;
     outline: none !important;
}
}
Line 460: Line 465:
.cdx-text-input__input::placeholder,
.cdx-text-input__input::placeholder,
.vector-search-box-input::placeholder {
.vector-search-box-input::placeholder {
     color: var(--cs2-text-muted) !important;
     color: rgba(255,255,255,0.5) !important;
}
}


/* Search suggestions dropdown */
.cdx-menu, .cdx-typeahead-search__menu,
.cdx-menu,
.suggestions, .suggestions-results, .cdx-menu__listbox {
.cdx-typeahead-search__menu,
     background-color: var(--cs-bg-card) !important;
.suggestions,
     border: 1px solid var(--cs-border) !important;
.suggestions-results,
     color: var(--cs-text) !important;
.cdx-menu__listbox {
     box-shadow: var(--cs-shadow-lg) !important;
     background-color: var(--cs2-bg-card) !important;
    border-radius: var(--cs-radius) !important;
     border: 1px solid var(--cs2-border) !important;
     color: var(--cs2-text-primary) !important;
     box-shadow: 0 4px 16px var(--cs2-shadow) !important;
}
}


.cdx-menu-item,
.cdx-menu-item, .cdx-menu-item--enabled,
.cdx-menu-item--enabled,
.suggestions-result {
.suggestions-result {
     color: var(--cs2-text-primary) !important;
     color: var(--cs-text) !important;
}
}


.cdx-menu-item:hover,
.cdx-menu-item:hover, .cdx-menu-item--highlighted,
.cdx-menu-item--highlighted,
.suggestions-result-current {
.suggestions-result-current {
     background-color: var(--cs2-bg-elevated) !important;
     background-color: var(--cs-accent-soft) !important;
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-accent-hover) !important;
}
}


.cdx-search-result-title__match,
.cdx-search-result-title__match,
.cdx-menu-item__text__description {
.cdx-menu-item__text__description {
     color: var(--cs2-text-secondary) !important;
     color: var(--cs-text-secondary) !important;
}
}


/* Search button */
.cdx-button, .searchButton, button.cdx-button {
.cdx-button,
     background-color: rgba(255,255,255,0.08) !important;
.searchButton,
     color: #ffffff !important;
button.cdx-button {
     border: 1px solid rgba(255,255,255,0.15) !important;
     background-color: var(--cs2-bg-elevated) !important;
     transition: background-color var(--cs-transition) !important;
     color: var(--cs2-text-primary) !important;
     border: 1px solid var(--cs2-border) !important;
     transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
}


.cdx-button:hover,
.cdx-button:hover, .searchButton:hover, button.cdx-button:hover {
.searchButton:hover,
     background-color: rgba(255,255,255,0.15) !important;
button.cdx-button:hover {
     background-color: var(--cs2-border-accent) !important;
    border-color: var(--cs2-accent-ct-blue) !important;
}
}


/* ============================================================
/* ============================================================
   TABS / PAGE ACTIONS (Read, Edit, History, etc.)
   TABS (Read, Edit, History)
   ============================================================ */
   ============================================================ */
.vector-menu-tabs,
.vector-menu-tabs, .vector-menu-tabs .mw-list-item,
.vector-menu-tabs .mw-list-item,
#p-views, .vector-page-tools {
#p-views,
.vector-page-tools {
     background-color: transparent !important;
     background-color: transparent !important;
}
}


.vector-menu-tabs a,
.vector-menu-tabs a, .vector-menu-tabs .mw-list-item a,
.vector-menu-tabs .mw-list-item a,
#p-views a, .vector-page-tools a {
#p-views a,
     color: var(--cs-text-secondary) !important;
.vector-page-tools a {
     transition: color var(--cs-transition) !important;
     color: var(--cs2-text-secondary) !important;
    font-family: var(--cs-font-body) !important;
     transition: color 0.15s ease !important;
}
}


.vector-menu-tabs a:hover,
.vector-menu-tabs a:hover, #p-views a:hover {
.vector-menu-tabs .mw-list-item a:hover,
     color: var(--cs-accent) !important;
#p-views a:hover {
     color: var(--cs2-accent-gold) !important;
}
}


Line 537: Line 526:
.vector-menu-tabs .mw-list-item.selected a,
.vector-menu-tabs .mw-list-item.selected a,
#p-views li.selected a {
#p-views li.selected a {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-accent) !important;
     border-bottom-color: var(--cs2-accent-gold) !important;
     border-bottom-color: var(--cs-accent) !important;
     font-weight: 600 !important;
     font-weight: 600 !important;
}
}


/* ============================================================
/* ============================================================
   USER MENU / PERSONAL TOOLS
   USER MENU
   ============================================================ */
   ============================================================ */
.vector-user-menu,
.vector-user-menu, #p-personal, .vector-menu-content {
#p-personal,
     background-color: var(--cs-bg-card) !important;
.vector-menu-content {
     border-color: var(--cs-border) !important;
     background-color: var(--cs2-bg-card) !important;
     color: var(--cs-text) !important;
     border-color: var(--cs2-border) !important;
     color: var(--cs2-text-primary) !important;
}
 
.vector-user-menu a,
#p-personal a {
    color: var(--cs2-text-secondary) !important;
}
}


.vector-user-menu a:hover,
.vector-user-menu a, #p-personal a { color: var(--cs-text-secondary) !important; }
#p-personal a:hover {
.vector-user-menu a:hover, #p-personal a:hover { color: var(--cs-accent) !important; }
    color: var(--cs2-accent-gold) !important;
}


/* Dropdown menus */
.vector-menu-content, .vector-dropdown-content {
.vector-menu-content,
     background-color: var(--cs-bg-card) !important;
.vector-dropdown-content {
     border: 1px solid var(--cs-border) !important;
     background-color: var(--cs2-bg-card) !important;
     box-shadow: var(--cs-shadow-lg) !important;
     border: 1px solid var(--cs2-border) !important;
    border-radius: var(--cs-radius) !important;
     box-shadow: 0 4px 16px var(--cs2-shadow) !important;
}
}


.vector-menu-content li a,
.vector-menu-content li a, .vector-dropdown-content li a {
.vector-dropdown-content li a {
     color: var(--cs-text-secondary) !important;
     color: var(--cs2-text-secondary) !important;
}
}


.vector-menu-content li a:hover,
.vector-menu-content li a:hover, .vector-dropdown-content li a:hover {
.vector-dropdown-content li a:hover {
     color: var(--cs-accent) !important;
     color: var(--cs2-accent-gold) !important;
     background-color: var(--cs-accent-soft) !important;
     background-color: var(--cs2-bg-elevated) !important;
}
}


Line 585: Line 562:
   FOOTER
   FOOTER
   ============================================================ */
   ============================================================ */
#footer,
#footer, footer, .mw-footer, .vector-footer-container {
footer,
     background-color: var(--cs-bg) !important;
.mw-footer,
     border-top: 1px solid var(--cs-border) !important;
.vector-footer-container {
     color: var(--cs-text-muted) !important;
     background-color: var(--cs2-bg-dark) !important;
     border-top: 1px solid var(--cs2-border) !important;
     color: var(--cs2-text-muted) !important;
}
 
#footer a,
.mw-footer a {
    color: var(--cs2-text-secondary) !important;
}
}


#footer a:hover,
#footer a, .mw-footer a { color: var(--cs-text-secondary) !important; }
.mw-footer a:hover {
#footer a:hover, .mw-footer a:hover { color: var(--cs-accent) !important; }
    color: var(--cs2-accent-gold) !important;
}


/* ============================================================
/* ============================================================
   CONTENT ELEMENTS
   CONTENT ELEMENTS
   ============================================================ */
   ============================================================ */
/* Blockquotes */
blockquote {
blockquote {
     border-left: 3px solid var(--cs2-accent-gold) !important;
     border-left: 3px solid var(--cs-accent) !important;
     background-color: var(--cs2-bg-card) !important;
     background-color: var(--cs-accent-soft) !important;
     padding: 0.75em 1.25em !important;
     padding: 0.75em 1.25em !important;
     color: var(--cs2-text-secondary) !important;
     color: var(--cs-text-secondary) !important;
     border-radius: 0 4px 4px 0 !important;
     border-radius: 0 var(--cs-radius) var(--cs-radius) 0 !important;
    margin: 1em 0 !important;
}
}


/* Code / Pre */
code, pre, .mw-code, .mw-highlight {
code,
     background-color: var(--cs-bg-subtle) !important;
pre,
     color: var(--cs-text) !important;
.mw-code,
     border: 1px solid var(--cs-border) !important;
.mw-highlight {
     border-radius: 4px !important;
     background-color: var(--cs2-bg-card) !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
     color: var(--cs2-accent-ct-blue) !important;
     border: 1px solid var(--cs2-border) !important;
     border-radius: 3px !important;
}
}


pre,
pre, .mw-code {
.mw-code {
     padding: 1em 1.2em !important;
     padding: 1em !important;
    font-size: 0.88em !important;
    line-height: 1.6 !important;
    overflow-x: auto !important;
}
}


code {
code {
     padding: 0.15em 0.4em !important;
     padding: 0.15em 0.45em !important;
    font-size: 0.88em !important;
    color: #b5580a !important;
    background-color: rgba(181, 88, 10, 0.06) !important;
    border: 1px solid rgba(181, 88, 10, 0.12) !important;
}
}


/* Horizontal rules */
hr {
hr {
     border-color: var(--cs2-border) !important;
     border-color: var(--cs-border) !important;
    margin: 1.5em 0 !important;
}
 
dt {
    color: var(--cs-text) !important;
    font-weight: 600 !important;
    font-family: var(--cs-font-display) !important;
}
}


/* Definition lists */
dd { color: var(--cs-text-secondary) !important; }
dd {
 
    color: var(--cs2-text-secondary) !important;
/* Lists */
.mw-body-content ul,
.mw-body-content ol {
    line-height: 1.8 !important;
}
}


dt {
/* Bold text */
    color: var(--cs2-text-primary) !important;
.mw-body-content b,
.mw-body-content strong {
     font-weight: 600 !important;
     font-weight: 600 !important;
    color: var(--cs-text) !important;
}
}


/* ============================================================
/* ============================================================
   EDIT PAGE / SOURCE EDITOR
   EDIT PAGE
   ============================================================ */
   ============================================================ */
.editOptions,
.editOptions, #editform, .mw-editform {
#editform,
     background-color: var(--cs-bg-content) !important;
.mw-editform {
     background-color: var(--cs2-bg-content) !important;
}
}


textarea,
textarea, .mw-editfont-monospace, #wpTextbox1 {
.mw-editfont-monospace,
     background-color: var(--cs-bg-card) !important;
#wpTextbox1 {
     color: var(--cs-text) !important;
     background-color: var(--cs2-bg-card) !important;
     border: 1px solid var(--cs-border) !important;
     color: var(--cs2-text-primary) !important;
     border-radius: var(--cs-radius) !important;
     border: 1px solid var(--cs2-border) !important;
     font-family: 'JetBrains Mono', 'Consolas', monospace !important;
     border-radius: 4px !important;
     font-family: 'Consolas', 'Monaco', monospace !important;
}
}


textarea:focus,
textarea:focus, #wpTextbox1:focus {
#wpTextbox1:focus {
     border-color: var(--cs-accent) !important;
     border-color: var(--cs2-accent-ct-blue) !important;
     box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.15) !important;
     box-shadow: 0 0 0 2px rgba(75, 147, 209, 0.2) !important;
     outline: none !important;
     outline: none !important;
}
}


/* Edit toolbar buttons */
.oo-ui-widget, .oo-ui-buttonElement-button {
.oo-ui-widget,
     background-color: var(--cs-bg-card) !important;
.oo-ui-buttonElement-button {
     color: var(--cs-text) !important;
     background-color: var(--cs2-bg-card) !important;
     border-color: var(--cs-border) !important;
     color: var(--cs2-text-primary) !important;
     border-color: var(--cs2-border) !important;
}
}


/* ============================================================
/* ============================================================
   SPECIAL PAGES / FORMS
   FORMS & BUTTONS
   ============================================================ */
   ============================================================ */
.mw-special-Recentchanges,
fieldset { border-color: var(--cs-border) !important; }
.mw-special-Allpages,
.mw-special-Search {
    color: var(--cs2-text-primary) !important;
}
 
fieldset {
    border-color: var(--cs2-border) !important;
}


legend {
legend {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-text) !important;
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
    font-weight: 700 !important;
}
}


input[type="text"],
input[type="text"], input[type="password"],
input[type="password"],
input[type="email"], input[type="search"],
input[type="email"],
input[type="number"], select {
input[type="search"],
     background-color: var(--cs-bg-card) !important;
input[type="number"],
     color: var(--cs-text) !important;
select {
     border: 1px solid var(--cs-border) !important;
     background-color: var(--cs2-bg-card) !important;
     border-radius: 4px !important;
     color: var(--cs2-text-primary) !important;
    font-family: var(--cs-font-body) !important;
     border: 1px solid var(--cs2-border) !important;
     border-radius: 3px !important;
}
}


input[type="text"]:focus,
input[type="text"]:focus, input[type="password"]:focus,
input[type="password"]:focus,
input[type="email"]:focus, input[type="search"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
select:focus {
select:focus {
     border-color: var(--cs2-accent-ct-blue) !important;
     border-color: var(--cs-accent) !important;
    box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.15) !important;
     outline: none !important;
     outline: none !important;
}
}


/* Submit buttons */
input[type="submit"], button[type="submit"],
input[type="submit"],
.mw-ui-button, .cdx-button--action-progressive {
button[type="submit"],
     background-color: var(--cs-accent) !important;
.mw-ui-button,
     color: #ffffff !important;
.cdx-button--action-progressive {
     background-color: var(--cs2-accent-gold) !important;
     color: #0f1923 !important;
     border: none !important;
     border: none !important;
     border-radius: 3px !important;
     border-radius: var(--cs-radius) !important;
     font-family: var(--cs2-font-heading) !important;
     font-family: var(--cs-font-display) !important;
     font-weight: 600 !important;
     font-weight: 600 !important;
     text-transform: uppercase !important;
     text-transform: none !important;
     letter-spacing: 0.04em !important;
     letter-spacing: 0 !important;
     padding: 0.5em 1.2em !important;
     padding: 0.55em 1.4em !important;
     cursor: pointer !important;
     cursor: pointer !important;
     transition: background-color 0.15s ease !important;
     transition: background-color var(--cs-transition), transform 0.1s ease !important;
    box-shadow: var(--cs-shadow-sm) !important;
}
}


input[type="submit"]:hover,
input[type="submit"]:hover, button[type="submit"]:hover,
button[type="submit"]:hover,
.mw-ui-button:hover, .cdx-button--action-progressive:hover {
.mw-ui-button:hover,
     background-color: var(--cs-accent-hover) !important;
.cdx-button--action-progressive:hover {
    transform: translateY(-1px) !important;
     background-color: var(--cs2-accent-gold-hover) !important;
}
}


/* ============================================================
/* ============================================================
   NOTICES / MESSAGE BOXES
   NOTICES & MESSAGE BOXES
   ============================================================ */
   ============================================================ */
.mw-message-box,
.mw-message-box, .warningbox, .errorbox,
.warningbox,
.successbox, .mbox-small, table.ambox {
.errorbox,
     background-color: var(--cs-bg-card) !important;
.successbox,
     border-color: var(--cs-border) !important;
.mbox-small,
     color: var(--cs-text) !important;
table.ambox {
    border-radius: var(--cs-radius) !important;
     background-color: var(--cs2-bg-card) !important;
     border-color: var(--cs2-border) !important;
     color: var(--cs2-text-primary) !important;
}
}


.warningbox,
.warningbox, table.ambox-content {
table.ambox-content {
     border-left: 4px solid var(--cs-accent) !important;
     border-left-color: var(--cs2-accent-gold) !important;
}
}


.errorbox {
.errorbox { border-left: 4px solid #dc3545 !important; }
    border-left-color: #c44a4a !important;
.successbox { border-left: 4px solid #198754 !important; }
}


.successbox {
#siteNotice, .mw-dismissable-notice {
     border-left-color: #4a9a5a !important;
    background-color: var(--cs-bg-card) !important;
     border: 1px solid var(--cs-border) !important;
    color: var(--cs-text) !important;
    border-radius: var(--cs-radius) !important;
}
}


/* Site notice */
/* ============================================================
#siteNotice,
  DIFF VIEW
.mw-dismissable-notice {
  ============================================================ */
    background-color: var(--cs2-bg-card) !important;
.diff, table.diff { background-color: var(--cs-bg-content) !important; color: var(--cs-text) !important; }
    border: 1px solid var(--cs2-border) !important;
.diff-context { background-color: var(--cs-bg-content) !important; color: var(--cs-text-secondary) !important; }
    color: var(--cs2-text-primary) !important;
.diff-addedline { background-color: rgba(25, 135, 84, 0.08) !important; }
    border-radius: 4px !important;
.diff-deletedline { background-color: rgba(220, 53, 69, 0.08) !important; }
}
td.diff-marker { color: var(--cs-text-muted) !important; }


/* ============================================================
/* ============================================================
   DIFF VIEW
   IMAGES & THUMBNAILS
   ============================================================ */
   ============================================================ */
.diff,
.thumb, .thumbinner {
table.diff {
     background-color: var(--cs-bg-card) !important;
     background-color: var(--cs2-bg-content) !important;
     border: 1px solid var(--cs-border) !important;
     color: var(--cs2-text-primary) !important;
    border-radius: var(--cs-radius) !important;
}
}


.diff-context {
.thumbcaption {
     background-color: var(--cs2-bg-content) !important;
     color: var(--cs-text-secondary) !important;
     color: var(--cs2-text-secondary) !important;
     font-size: 0.88em !important;
    padding: 6px 10px !important;
}
}


.diff-addedline {
.gallerybox {
     background-color: rgba(74, 154, 90, 0.15) !important;
     background-color: var(--cs-bg-card) !important;
     color: var(--cs2-text-primary) !important;
     border: 1px solid var(--cs-border) !important;
}
}


.diff-deletedline {
.gallerytext { color: var(--cs-text-secondary) !important; }
    background-color: rgba(196, 74, 74, 0.15) !important;
    color: var(--cs2-text-primary) !important;
}


.diffchange {
/* ============================================================
    font-weight: bold !important;
  SCROLLBAR
}
  ============================================================ */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--cs-bg); }
::-webkit-scrollbar-thumb { background: var(--cs-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--cs-text-muted); }


td.diff-marker {
html {
     color: var(--cs2-text-muted) !important;
     scrollbar-color: var(--cs-border) var(--cs-bg);
    scrollbar-width: thin;
}
}


/* ============================================================
/* ============================================================
   THUMBNAILS / IMAGES
   SELECTION
   ============================================================ */
   ============================================================ */
.thumb,
::selection {
.thumbinner {
     background-color: rgba(222, 142, 29, 0.2) !important;
     background-color: var(--cs2-bg-card) !important;
     color: var(--cs-text) !important;
     border: 1px solid var(--cs2-border) !important;
    border-radius: 4px !important;
}
}


.thumbcaption {
/* ============================================================
    color: var(--cs2-text-secondary) !important;
  NAV ICONS (undo dark-mode invert)
    font-size: 0.9em !important;
  ============================================================ */
     padding: 4px 8px !important;
.vector-icon, .cdx-button-icon, .mw-ui-icon {
     filter: none !important;
}
}


.gallerybox {
/* Header icons need to be white */
    background-color: var(--cs2-bg-card) !important;
.vector-header .vector-icon,
     border: 1px solid var(--cs2-border) !important;
.vector-header .cdx-button-icon,
.vector-sticky-header .vector-icon,
.vector-sticky-header .cdx-button-icon {
    filter: invert(1) !important;
     opacity: 0.7 !important;
}
}


.gallerytext {
.vector-header .vector-icon:hover,
    color: var(--cs2-text-secondary) !important;
.vector-header .cdx-button-icon:hover,
.vector-sticky-header .vector-icon:hover,
.vector-sticky-header .cdx-button-icon:hover {
    opacity: 1 !important;
}
}


/* ============================================================
/* ============================================================
   SCROLLBAR STYLING (WebKit + Firefox)
   PINNABLE ELEMENTS
   ============================================================ */
   ============================================================ */
.vector-pinnable-header {
    border-bottom-color: var(--cs-border) !important;
}


/* WebKit browsers */
.vector-pinnable-header-label {
::-webkit-scrollbar {
    color: var(--cs-text) !important;
     width: 10px;
     font-family: var(--cs-font-display) !important;
     height: 10px;
     font-weight: 700 !important;
}
}


::-webkit-scrollbar-track {
.vector-pinnable-header-toggle-button,
     background: var(--cs2-scrollbar-track);
.vector-pinnable-header-unpin-button,
.vector-pinnable-header-pin-button {
     color: var(--cs-text-muted) !important;
}
}


::-webkit-scrollbar-thumb {
#contentSub, #contentSub2 { color: var(--cs-text-muted) !important; }
    background: var(--cs2-scrollbar-thumb);
 
    border-radius: 5px;
.hatnote, .dablink {
     border: 2px solid var(--cs2-scrollbar-track);
     color: var(--cs-text-muted) !important;
    font-style: italic !important;
}
}


::-webkit-scrollbar-thumb:hover {
/* Recent changes / prefs */
     background: var(--cs2-scrollbar-thumb-hover);
.mw-changeslist-line, .mw-changeslist { color: var(--cs-text) !important; }
 
.oo-ui-layout, .oo-ui-panelLayout {
     background-color: var(--cs-bg-content) !important;
    color: var(--cs-text) !important;
}
}


::-webkit-scrollbar-corner {
.mwe-popups, .mwe-popups-container {
     background: var(--cs2-scrollbar-track);
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    color: var(--cs-text) !important;
     box-shadow: var(--cs-shadow-lg) !important;
    border-radius: var(--cs-radius) !important;
}
}


/* Firefox */
.mw-spinner, .cdx-progress-bar { border-color: var(--cs-accent) !important; }
html {
    scrollbar-color: var(--cs2-scrollbar-thumb) var(--cs2-scrollbar-track);
    scrollbar-width: thin;
}


/* ============================================================
/* ============================================================
   SELECTION HIGHLIGHT
   MAIN PAGE — LAYOUT FIXES
   ============================================================ */
   ============================================================ */
::selection {
 
    background-color: rgba(222, 155, 53, 0.3) !important;
/* Hide the default "Main Page" h1 on the Main Page only */
     color: #ffffff !important;
body.page-Main_Page .mw-first-heading,
body.page-Main_Page .mw-body-header {
     display: none !important;
}
}


::-moz-selection {
/* Reduce gap between tabs and content body */
     background-color: rgba(222, 155, 53, 0.3) !important;
body.page-Main_Page .mw-body {
     color: #ffffff !important;
     margin-top: 0 !important;
     padding-top: 0 !important;
}
}


/* ============================================================
/* ============================================================
   STICKY HEADER (Vector 2022)
   MAIN PAGE — CUSTOM CARD GRID
   ============================================================ */
   ============================================================ */
.vector-sticky-header {
.cs-hero {
     background-color: var(--cs2-bg-dark) !important;
    text-align: center;
     border-bottom: 1px solid var(--cs2-border) !important;
    padding: 2.5em 1em 1.5em;
     box-shadow: 0 2px 8px var(--cs2-shadow) !important;
    margin: 0 -2.5em 2em;
     background: linear-gradient(135deg, var(--cs-bg-header) 0%, #2a2f36 100%);
     border-radius: var(--cs-radius-lg) var(--cs-radius-lg) 0 0;
}
 
.cs-hero h1 {
    color: #ffffff !important;
     font-family: var(--cs-font-display) !important;
    font-size: 2.2em !important;
    font-weight: 800 !important;
    margin: 0 0 0.15em !important;
    border: none !important;
    padding: 0 !important;
    letter-spacing: -0.02em !important;
}
}


.vector-sticky-header a {
.cs-hero p {
     color: var(--cs2-text-secondary) !important;
     color: rgba(255,255,255,0.6) !important;
    font-family: var(--cs-font-body) !important;
    font-size: 1.05em !important;
    margin: 0 !important;
}
}


.vector-sticky-header a:hover {
.cs-hero .cs-accent {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-accent) !important;
}
}


.vector-sticky-header-context-bar__title {
.cs-grid {
     color: var(--cs2-text-primary) !important;
     display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin: 0 0 1.5em;
}
}


/* ============================================================
.cs-card {
  MISC OVERRIDES & POLISH
    background: var(--cs-bg-card);
  ============================================================ */
    border: 1px solid var(--cs-border);
    border-radius: var(--cs-radius-lg);
    padding: 0;
    overflow: hidden;
    transition: box-shadow var(--cs-transition), transform 0.15s ease, border-color var(--cs-transition);
    box-shadow: var(--cs-shadow-sm);
}


/* Hatnotes */
.cs-card:hover {
.hatnote,
     box-shadow: var(--cs-shadow-md);
.dablink {
    transform: translateY(-2px);
     color: var(--cs2-text-muted) !important;
     border-color: var(--cs-accent-border);
     font-style: italic !important;
}
}


/* Recent changes / watchlist */
.cs-card-header {
.mw-changeslist-line,
     background: var(--cs-bg-header);
.mw-changeslist {
    padding: 10px 16px;
     color: var(--cs2-text-primary) !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
}


/* Preferences */
.cs-card-header h3 {
.oo-ui-layout,
    color: #ffffff !important;
.oo-ui-panelLayout {
     font-family: var(--cs-font-display) !important;
     background-color: var(--cs2-bg-content) !important;
     font-size: 0.95em !important;
     color: var(--cs2-text-primary) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    letter-spacing: 0.02em !important;
}
}


/* Popups (if using Popups extension) */
.cs-card-icon {
.mwe-popups,
     font-size: 1.1em;
.mwe-popups-container {
     line-height: 1;
     background-color: var(--cs2-bg-card) !important;
     border: 1px solid var(--cs2-border) !important;
    color: var(--cs2-text-primary) !important;
    box-shadow: 0 4px 16px var(--cs2-shadow) !important;
}
}


/* Navigation icons — make them visible on dark bg */
.cs-card-body {
.vector-icon,
     padding: 14px 16px 16px;
.cdx-button-icon,
.mw-ui-icon {
     filter: invert(0.8) !important;
}
}


/* Ensure SVG icons in header are visible */
.cs-card-body ul {
.vector-header .vector-icon,
    margin: 0 !important;
.vector-header .cdx-button-icon {
    padding: 0 !important;
     opacity: 0.8 !important;
    list-style: none !important;
}
 
.cs-card-body li {
     padding: 5px 0;
    border-bottom: 1px solid var(--cs-border-subtle);
    font-size: 0.9em;
    line-height: 1.5;
}
}


.vector-header .vector-icon:hover,
.cs-card-body li:last-child {
.vector-header .cdx-button-icon:hover {
     border-bottom: none;
     opacity: 1 !important;
}
}


/* Vector 2022 pinnable elements */
.cs-card-body li a {
.vector-pinnable-header {
     font-weight: 500 !important;
     border-bottom-color: var(--cs2-border) !important;
}
}


.vector-pinnable-header-label {
.cs-card-body .cs-desc {
     color: var(--cs2-accent-gold) !important;
     color: var(--cs-text-muted);
     font-family: var(--cs2-font-heading) !important;
     font-size: 0.88em;
}
}


.vector-pinnable-header-toggle-button,
.cs-stats {
.vector-pinnable-header-unpin-button,
    display: flex;
.vector-pinnable-header-pin-button {
    gap: 12px;
     color: var(--cs2-text-muted) !important;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 2em;
    padding: 1.2em;
    background: var(--cs-bg-subtle);
    border-radius: var(--cs-radius-lg);
     border: 1px solid var(--cs-border);
}
}


/* Page info / metadata at bottom */
.cs-stat {
#contentSub,
     text-align: center;
#contentSub2 {
    padding: 0 16px;
     color: var(--cs2-text-muted) !important;
}
}


/* Interwiki / language links */
.cs-stat-num {
.mw-interlanguage-selector,
    font-family: var(--cs-font-display);
#p-lang .vector-menu-heading {
    font-weight: 800;
     color: var(--cs2-text-secondary) !important;
    font-size: 1.8em;
     color: var(--cs-accent);
    line-height: 1.1;
}
}


/* Loading indicator */
.cs-stat-label {
.mw-spinner,
    font-family: var(--cs-font-display);
.cdx-progress-bar {
    font-size: 0.72em;
     border-color: var(--cs2-accent-ct-blue) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
     color: var(--cs-text-muted);
    font-weight: 600;
}
}


/* ============================================================
/* ============================================================
   RESPONSIVE ADJUSTMENTS
   RESPONSIVE
   ============================================================ */
   ============================================================ */
@media screen and (max-width: 1000px) {
@media screen and (max-width: 1000px) {
    .mw-body { padding: 1.5em !important; }
    h1, .mw-first-heading { font-size: 1.7em !important; }
    h2 { font-size: 1.25em !important; }
    .cs-hero { margin: 0 -1.5em 1.5em; padding: 2em 1em 1.2em; }
    .cs-hero h1 { font-size: 1.8em !important; }
}
@media screen and (max-width: 720px) {
     .mw-body {
     .mw-body {
        border: none !important;
        border-radius: 0 !important;
         padding: 1em !important;
         padding: 1em !important;
     }
     }
    h1, .mw-first-heading { font-size: 1.4em !important; }
    h2 { font-size: 1.1em !important; }
    .cs-hero { margin: 0 -1em 1em; padding: 1.5em 0.75em 1em; border-radius: 0; }
    .cs-hero h1 { font-size: 1.5em !important; }
    .cs-grid { grid-template-columns: 1fr; gap: 12px; }
    .cs-stats { flex-direction: column; gap: 8px; }
}
/* ============================================================
  MAP & WEAPON IMAGE STYLES
  ============================================================ */


     h1, .mw-first-heading {
/* Map screenshot — full-width below infobox */
        font-size: 1.8em !important;
.map-screenshot {
     }
    margin: 1em 0;
    text-align: center;
}
 
.map-screenshot img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    border-radius: var(--cs-radius-lg, 10px) !important;
    border: 1px solid var(--cs-border, #e2dfd8) !important;
     box-shadow: var(--cs-shadow-md, 0 4px 12px rgba(0,0,0,0.06)) !important;
}
 
.map-screenshot-caption {
    font-size: 0.85em;
    color: var(--cs-text-muted, #8b929c);
    margin-top: 0.4em;
    font-style: italic;
}
 
/* Weapon image in infobox */
.weapon-infobox-img {
    text-align: center;
    padding: 12px 8px !important;
    background: var(--cs-bg-subtle, #f0ede6) !important;
}
 
.weapon-infobox-img img {
    max-width: 260px !important;
    height: auto !important;
    object-fit: contain !important;
}
 
/* Notable skins gallery grid */
.skins-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 1em 0;
}
 
.skins-gallery-item {
    flex: 0 0 auto;
    width: 140px;
    text-align: center;
    background: var(--cs-bg-card, #fff);
    border: 1px solid var(--cs-border, #e2dfd8);
    border-radius: var(--cs-radius, 6px);
    padding: 8px;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
}
 
.skins-gallery-item:hover {
    box-shadow: var(--cs-shadow-md, 0 4px 12px rgba(0,0,0,0.06));
    transform: translateY(-2px);
}
 
.skins-gallery-item img {
    max-width: 120px !important;
    height: auto !important;
    object-fit: contain !important;
}
 
.skins-gallery-item .skin-name {
    display: block;
    font-size: 0.8em;
    color: var(--cs-text-secondary, #555d68);
    margin-top: 4px;
     line-height: 1.3;
}
 
/* Callouts table styling */
.callouts-table td:first-child {
    font-weight: 600;
    white-space: nowrap;
}
 
/* Collection/case skin table rarity colors */
.rarity-contraband { color: #e4ae39; font-weight: 600; }
.rarity-covert { color: #eb4b4b; font-weight: 600; }
.rarity-classified { color: #d32ce6; font-weight: 600; }
.rarity-restricted { color: #8847ff; font-weight: 600; }
.rarity-milspec { color: #4b69ff; font-weight: 600; }
.rarity-industrial { color: #5e98d9; font-weight: 600; }
.rarity-consumer { color: #b0c3d9; font-weight: 600; }
 
/* Collection/case header image */
.collection-header-img {
    text-align: center;
    margin: 1em 0;
}


    h2 {
.collection-header-img img {
        font-size: 1.3em !important;
    max-width: 300px !important;
     }
     height: auto !important;
}
}


@media screen and (max-width: 720px) {
/* Extimg general constraint */
    h1, .mw-first-heading {
.mw-parser-output img[src*="githubusercontent.com"] {
        font-size: 1.5em !important;
    max-width: 100% !important;
     }
     height: auto !important;
}


     h2 {
/* Strategy section callout boxes */
        font-size: 1.15em !important;
.strat-box {
        letter-spacing: 0.05em !important;
    background: var(--cs-bg-subtle, #f0ede6);
     }
     border: 1px solid var(--cs-border, #e2dfd8);
    border-left: 3px solid var(--cs-accent, #de8e1d);
    border-radius: 0 var(--cs-radius, 6px) var(--cs-radius, 6px) 0;
    padding: 0.75em 1em;
     margin: 0.75em 0;
}


    .mw-body {
.strat-box-title {
        border: none !important;
    font-family: var(--cs-font-display, 'Outfit', sans-serif);
        border-radius: 0 !important;
    font-weight: 700;
     }
    font-size: 0.95em;
    color: var(--cs-accent, #de8e1d);
     margin-bottom: 0.3em;
}
}

Latest revision as of 14:36, 24 February 2026

/* ============================================================
   COUNTER-STRIKE 2 WIKI — LIGHT THEME
   Clean editorial design with CS2 orange accent
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
    --cs-bg: #f7f5f0;
    --cs-bg-content: #ffffff;
    --cs-bg-card: #ffffff;
    --cs-bg-card-hover: #faf9f6;
    --cs-bg-subtle: #f0ede6;
    --cs-bg-header: #1b1f24;
    --cs-accent: #de8e1d;
    --cs-accent-hover: #c47a12;
    --cs-accent-soft: rgba(222, 142, 29, 0.08);
    --cs-accent-border: rgba(222, 142, 29, 0.25);
    --cs-blue: #2563eb;
    --cs-blue-hover: #1d4ed8;
    --cs-blue-soft: rgba(37, 99, 235, 0.06);
    --cs-text: #1a1d21;
    --cs-text-secondary: #555d68;
    --cs-text-muted: #8b929c;
    --cs-text-inverse: #f0ede6;
    --cs-border: #e2dfd8;
    --cs-border-subtle: #eae7e0;
    --cs-shadow-sm: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
    --cs-shadow-md: 0 4px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
    --cs-shadow-lg: 0 8px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
    --cs-radius: 6px;
    --cs-radius-lg: 10px;
    --cs-font-display: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cs-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cs-transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ============================================================
   GLOBAL RESET & BASE
   ============================================================ */
html, body {
    background-color: var(--cs-bg) !important;
    color: var(--cs-text) !important;
}

body {
    background-image: none !important;
    background-attachment: unset !important;
}

/* ============================================================
   VECTOR 2022 LAYOUT
   ============================================================ */
.mw-page-container,
.mw-page-container-inner {
    background-color: transparent !important;
}

.mw-body,
.vector-body,
#bodyContent,
#content,
.mw-body-content {
    background-color: var(--cs-bg-content) !important;
    color: var(--cs-text) !important;
    border-color: var(--cs-border) !important;
}

.mw-body {
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius-lg) !important;
    padding: 2em 2.5em !important;
    box-shadow: var(--cs-shadow-md) !important;
    margin-top: 0.5em !important;
}

/* ============================================================
   HEADER
   ============================================================ */
.vector-header-container,
.vector-header,
.mw-header,
header.vector-header {
    background-color: var(--cs-bg-header) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.12) !important;
}

.vector-header-container .mw-header {
    background-color: transparent !important;
}

.mw-logo-wordmark,
.vector-menu-heading,
.mw-wiki-title {
    color: #ffffff !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}

.mw-logo-icon[src*="change-your-logo"],
img[src*="change-your-logo"],
.mw-logo a[href] img[src*="change-your-logo"] {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ============================================================
   STICKY HEADER
   ============================================================ */
.vector-sticky-header {
    background-color: var(--cs-bg-header) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.12) !important;
}

.vector-sticky-header a {
    color: var(--cs-text-inverse) !important;
}

.vector-sticky-header a:hover {
    color: var(--cs-accent) !important;
}

.vector-sticky-header-context-bar__title {
    color: #ffffff !important;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
#mw-panel,
.vector-main-menu,
.vector-main-menu-container,
nav.vector-main-menu-landmark,
.vector-column-start,
.vector-sidebar {
    background-color: var(--cs-bg) !important;
}

.vector-main-menu .vector-menu-heading,
.vector-sidebar .vector-menu-heading,
.vector-main-menu-group .vector-menu-heading,
.sidebar-toc .sidebar-toc-header {
    color: var(--cs-text) !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.72em !important;
}

.vector-main-menu .vector-menu-content-list a,
.vector-sidebar a,
nav.vector-main-menu-landmark a,
.mw-panel a {
    color: var(--cs-text-secondary) !important;
    transition: color var(--cs-transition) !important;
    font-family: var(--cs-font-body) !important;
}

.vector-main-menu .vector-menu-content-list a:hover,
.vector-sidebar a:hover,
nav.vector-main-menu-landmark a:hover,
.mw-panel a:hover {
    color: var(--cs-accent-hover) !important;
    text-decoration: none !important;
}

/* ============================================================
   TABLE OF CONTENTS
   ============================================================ */
.vector-toc,
.sidebar-toc,
.vector-toc-landmark,
#vector-toc-pinned-container,
.vector-column-start .sidebar-toc {
    background-color: var(--cs-bg) !important;
    border-color: var(--cs-border) !important;
}

.sidebar-toc .sidebar-toc-header,
.vector-toc .vector-toc-heading {
    color: var(--cs-text) !important;
    font-family: var(--cs-font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.72em !important;
    font-weight: 700 !important;
}

.sidebar-toc .sidebar-toc-list-item a,
.vector-toc .vector-toc-list-item a {
    color: var(--cs-text-secondary) !important;
    border-left-color: var(--cs-border) !important;
    transition: color var(--cs-transition), border-left-color var(--cs-transition) !important;
    font-family: var(--cs-font-body) !important;
}

.sidebar-toc .sidebar-toc-list-item a:hover,
.vector-toc .vector-toc-list-item a:hover {
    color: var(--cs-accent-hover) !important;
    border-left-color: var(--cs-accent) !important;
}

.sidebar-toc .sidebar-toc-list-item-active > a,
.vector-toc .sidebar-toc-list-item-active > a {
    color: var(--cs-accent) !important;
    border-left-color: var(--cs-accent) !important;
    font-weight: 600 !important;
}

#toc, .toc,
.mw-parser-output .toc {
    background-color: var(--cs-bg-subtle) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius) !important;
    padding: 1em 1.5em !important;
    color: var(--cs-text) !important;
}

#toc .toctitle, .toc .toctitle {
    font-family: var(--cs-font-display) !important;
    color: var(--cs-text) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.8em !important;
}

#toc a, .toc a { color: var(--cs-blue) !important; }
#toc a:hover, .toc a:hover { color: var(--cs-accent) !important; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.mw-body,
.mw-body-content,
.vector-body {
    font-family: var(--cs-font-body) !important;
    font-size: 15.5px !important;
    line-height: 1.72 !important;
    color: var(--cs-text) !important;
}

h1, h2, h3, h4, h5, h6,
.mw-body h1, .mw-body h2, .mw-body h3,
.mw-body h4, .mw-body h5, .mw-body h6,
.mw-heading h1, .mw-heading h2, .mw-heading h3,
.mw-heading h4, .mw-heading h5, .mw-heading h6,
.mw-body-content h1, .mw-body-content h2, .mw-body-content h3 {
    font-family: var(--cs-font-display) !important;
    color: var(--cs-text) !important;
    border-bottom-color: var(--cs-border) !important;
}

/* H1 */
h1, .mw-body h1, .mw-first-heading,
.mw-body .mw-first-heading {
    font-size: 2.1em !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    border-bottom: 3px solid var(--cs-accent) !important;
    padding-bottom: 0.35em !important;
    margin-bottom: 0.7em !important;
    color: var(--cs-text) !important;
}

/* H2 */
h2, .mw-body h2,
.mw-heading2, .mw-body .mw-heading2 h2 {
    font-size: 1.45em !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    border-bottom: 1px solid var(--cs-border) !important;
    padding-bottom: 0.3em !important;
    margin-top: 1.8em !important;
    color: var(--cs-text) !important;
}

h3, .mw-body h3 {
    font-size: 1.15em !important;
    font-weight: 700 !important;
    color: var(--cs-text) !important;
    margin-top: 1.4em !important;
}

h4, .mw-body h4 {
    font-size: 1em !important;
    font-weight: 600 !important;
    color: var(--cs-text-secondary) !important;
}

/* ============================================================
   LINKS
   ============================================================ */
a, .mw-body a,
.mw-body-content a, .vector-body a {
    color: var(--cs-blue) !important;
    text-decoration: none !important;
    transition: color var(--cs-transition) !important;
}

a:visited, .mw-body a:visited,
.vector-body a:visited {
    color: var(--cs-blue) !important;
}

a:hover, a:focus,
.mw-body a:hover, .mw-body-content a:hover,
.vector-body a:hover {
    color: var(--cs-accent-hover) !important;
    text-decoration: underline !important;
}

a.new, .mw-body a.new { color: #c44040 !important; }
a.new:hover { color: #dc5050 !important; }

.mw-body-content a.external { color: var(--cs-blue) !important; }
.mw-body-content a.external:hover { color: var(--cs-accent-hover) !important; }

/* ============================================================
   TABLES
   ============================================================ */
.wikitable, table.wikitable,
.mw-parser-output table.wikitable {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    border-collapse: collapse !important;
    color: var(--cs-text) !important;
    border-radius: var(--cs-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--cs-shadow-sm) !important;
}

.wikitable th, table.wikitable th {
    background-color: var(--cs-bg-header) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.08) !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 10px 14px !important;
    font-size: 0.88em !important;
}

.wikitable td, table.wikitable td {
    background-color: var(--cs-bg-card) !important;
    border-color: var(--cs-border-subtle) !important;
    color: var(--cs-text) !important;
    padding: 9px 14px !important;
    font-size: 0.93em !important;
}

.wikitable tr:nth-child(even) td {
    background-color: var(--cs-bg-subtle) !important;
}

.wikitable tr:hover td {
    background-color: var(--cs-accent-soft) !important;
}

/* Sortable table headers */
.wikitable.sortable th {
    cursor: pointer !important;
}

/* ============================================================
   INFOBOXES
   ============================================================ */
.infobox, .wikitable.infobox,
table.infobox, .sidebar,
.mw-parser-output .infobox {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius-lg) !important;
    color: var(--cs-text) !important;
    box-shadow: var(--cs-shadow-md) !important;
    overflow: hidden !important;
}

.infobox th, table.infobox th {
    background-color: var(--cs-bg-header) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.1) !important;
    font-family: var(--cs-font-display) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
}

.infobox td, table.infobox td {
    border-color: var(--cs-border-subtle) !important;
    color: var(--cs-text) !important;
    padding: 8px 14px !important;
}

/* Infobox header with accent bg */
.infobox th[colspan="2"],
table.infobox th[colspan="2"] {
    background: linear-gradient(135deg, var(--cs-bg-header), #2a2f36) !important;
    font-size: 1.15em !important;
    padding: 12px 16px !important;
}

/* Label cells in infobox */
.infobox th:not([colspan]),
table.infobox th:not([colspan]) {
    background-color: var(--cs-bg-subtle) !important;
    color: var(--cs-text-secondary) !important;
    font-weight: 600 !important;
    font-size: 0.85em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* ============================================================
   CATEGORIES
   ============================================================ */
.catlinks, #catlinks, .mw-normal-catlinks {
    background-color: var(--cs-bg-subtle) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius) !important;
    color: var(--cs-text-secondary) !important;
    padding: 0.65em 1em !important;
    margin-top: 2em !important;
    font-size: 0.88em !important;
}

.catlinks a { color: var(--cs-blue) !important; }
.catlinks a:hover { color: var(--cs-accent-hover) !important; }

/* ============================================================
   SEARCH
   ============================================================ */
.mw-search-input, #searchInput,
.cdx-text-input__input, .vector-search-box-input,
.cdx-text-input input, input.cdx-text-input__input,
.vector-search-box .cdx-text-input__input {
    background-color: rgba(255,255,255,0.12) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 8px !important;
    transition: border-color var(--cs-transition), box-shadow var(--cs-transition), background-color var(--cs-transition) !important;
}

.mw-search-input:focus, #searchInput:focus,
.cdx-text-input__input:focus, .vector-search-box-input:focus,
input.cdx-text-input__input:focus {
    background-color: rgba(255,255,255,0.18) !important;
    border-color: var(--cs-accent) !important;
    box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.2) !important;
    outline: none !important;
}

.cdx-text-input__input::placeholder,
.vector-search-box-input::placeholder {
    color: rgba(255,255,255,0.5) !important;
}

.cdx-menu, .cdx-typeahead-search__menu,
.suggestions, .suggestions-results, .cdx-menu__listbox {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    color: var(--cs-text) !important;
    box-shadow: var(--cs-shadow-lg) !important;
    border-radius: var(--cs-radius) !important;
}

.cdx-menu-item, .cdx-menu-item--enabled,
.suggestions-result {
    color: var(--cs-text) !important;
}

.cdx-menu-item:hover, .cdx-menu-item--highlighted,
.suggestions-result-current {
    background-color: var(--cs-accent-soft) !important;
    color: var(--cs-accent-hover) !important;
}

.cdx-search-result-title__match,
.cdx-menu-item__text__description {
    color: var(--cs-text-secondary) !important;
}

.cdx-button, .searchButton, button.cdx-button {
    background-color: rgba(255,255,255,0.08) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    transition: background-color var(--cs-transition) !important;
}

.cdx-button:hover, .searchButton:hover, button.cdx-button:hover {
    background-color: rgba(255,255,255,0.15) !important;
}

/* ============================================================
   TABS (Read, Edit, History)
   ============================================================ */
.vector-menu-tabs, .vector-menu-tabs .mw-list-item,
#p-views, .vector-page-tools {
    background-color: transparent !important;
}

.vector-menu-tabs a, .vector-menu-tabs .mw-list-item a,
#p-views a, .vector-page-tools a {
    color: var(--cs-text-secondary) !important;
    transition: color var(--cs-transition) !important;
    font-family: var(--cs-font-body) !important;
}

.vector-menu-tabs a:hover, #p-views a:hover {
    color: var(--cs-accent) !important;
}

.vector-menu-tabs .selected a,
.vector-menu-tabs .mw-list-item.selected a,
#p-views li.selected a {
    color: var(--cs-accent) !important;
    border-bottom-color: var(--cs-accent) !important;
    font-weight: 600 !important;
}

/* ============================================================
   USER MENU
   ============================================================ */
.vector-user-menu, #p-personal, .vector-menu-content {
    background-color: var(--cs-bg-card) !important;
    border-color: var(--cs-border) !important;
    color: var(--cs-text) !important;
}

.vector-user-menu a, #p-personal a { color: var(--cs-text-secondary) !important; }
.vector-user-menu a:hover, #p-personal a:hover { color: var(--cs-accent) !important; }

.vector-menu-content, .vector-dropdown-content {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    box-shadow: var(--cs-shadow-lg) !important;
    border-radius: var(--cs-radius) !important;
}

.vector-menu-content li a, .vector-dropdown-content li a {
    color: var(--cs-text-secondary) !important;
}

.vector-menu-content li a:hover, .vector-dropdown-content li a:hover {
    color: var(--cs-accent) !important;
    background-color: var(--cs-accent-soft) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer, footer, .mw-footer, .vector-footer-container {
    background-color: var(--cs-bg) !important;
    border-top: 1px solid var(--cs-border) !important;
    color: var(--cs-text-muted) !important;
}

#footer a, .mw-footer a { color: var(--cs-text-secondary) !important; }
#footer a:hover, .mw-footer a:hover { color: var(--cs-accent) !important; }

/* ============================================================
   CONTENT ELEMENTS
   ============================================================ */
blockquote {
    border-left: 3px solid var(--cs-accent) !important;
    background-color: var(--cs-accent-soft) !important;
    padding: 0.75em 1.25em !important;
    color: var(--cs-text-secondary) !important;
    border-radius: 0 var(--cs-radius) var(--cs-radius) 0 !important;
    margin: 1em 0 !important;
}

code, pre, .mw-code, .mw-highlight {
    background-color: var(--cs-bg-subtle) !important;
    color: var(--cs-text) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: 4px !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
}

pre, .mw-code {
    padding: 1em 1.2em !important;
    font-size: 0.88em !important;
    line-height: 1.6 !important;
    overflow-x: auto !important;
}

code {
    padding: 0.15em 0.45em !important;
    font-size: 0.88em !important;
    color: #b5580a !important;
    background-color: rgba(181, 88, 10, 0.06) !important;
    border: 1px solid rgba(181, 88, 10, 0.12) !important;
}

hr {
    border-color: var(--cs-border) !important;
    margin: 1.5em 0 !important;
}

dt {
    color: var(--cs-text) !important;
    font-weight: 600 !important;
    font-family: var(--cs-font-display) !important;
}

dd { color: var(--cs-text-secondary) !important; }

/* Lists */
.mw-body-content ul,
.mw-body-content ol {
    line-height: 1.8 !important;
}

/* Bold text */
.mw-body-content b,
.mw-body-content strong {
    font-weight: 600 !important;
    color: var(--cs-text) !important;
}

/* ============================================================
   EDIT PAGE
   ============================================================ */
.editOptions, #editform, .mw-editform {
    background-color: var(--cs-bg-content) !important;
}

textarea, .mw-editfont-monospace, #wpTextbox1 {
    background-color: var(--cs-bg-card) !important;
    color: var(--cs-text) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius) !important;
    font-family: 'JetBrains Mono', 'Consolas', monospace !important;
}

textarea:focus, #wpTextbox1:focus {
    border-color: var(--cs-accent) !important;
    box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.15) !important;
    outline: none !important;
}

.oo-ui-widget, .oo-ui-buttonElement-button {
    background-color: var(--cs-bg-card) !important;
    color: var(--cs-text) !important;
    border-color: var(--cs-border) !important;
}

/* ============================================================
   FORMS & BUTTONS
   ============================================================ */
fieldset { border-color: var(--cs-border) !important; }

legend {
    color: var(--cs-text) !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 700 !important;
}

input[type="text"], input[type="password"],
input[type="email"], input[type="search"],
input[type="number"], select {
    background-color: var(--cs-bg-card) !important;
    color: var(--cs-text) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: 4px !important;
    font-family: var(--cs-font-body) !important;
}

input[type="text"]:focus, input[type="password"]:focus,
input[type="email"]:focus, input[type="search"]:focus,
select:focus {
    border-color: var(--cs-accent) !important;
    box-shadow: 0 0 0 3px rgba(222, 142, 29, 0.15) !important;
    outline: none !important;
}

input[type="submit"], button[type="submit"],
.mw-ui-button, .cdx-button--action-progressive {
    background-color: var(--cs-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--cs-radius) !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 0.55em 1.4em !important;
    cursor: pointer !important;
    transition: background-color var(--cs-transition), transform 0.1s ease !important;
    box-shadow: var(--cs-shadow-sm) !important;
}

input[type="submit"]:hover, button[type="submit"]:hover,
.mw-ui-button:hover, .cdx-button--action-progressive:hover {
    background-color: var(--cs-accent-hover) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   NOTICES & MESSAGE BOXES
   ============================================================ */
.mw-message-box, .warningbox, .errorbox,
.successbox, .mbox-small, table.ambox {
    background-color: var(--cs-bg-card) !important;
    border-color: var(--cs-border) !important;
    color: var(--cs-text) !important;
    border-radius: var(--cs-radius) !important;
}

.warningbox, table.ambox-content {
    border-left: 4px solid var(--cs-accent) !important;
}

.errorbox { border-left: 4px solid #dc3545 !important; }
.successbox { border-left: 4px solid #198754 !important; }

#siteNotice, .mw-dismissable-notice {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    color: var(--cs-text) !important;
    border-radius: var(--cs-radius) !important;
}

/* ============================================================
   DIFF VIEW
   ============================================================ */
.diff, table.diff { background-color: var(--cs-bg-content) !important; color: var(--cs-text) !important; }
.diff-context { background-color: var(--cs-bg-content) !important; color: var(--cs-text-secondary) !important; }
.diff-addedline { background-color: rgba(25, 135, 84, 0.08) !important; }
.diff-deletedline { background-color: rgba(220, 53, 69, 0.08) !important; }
td.diff-marker { color: var(--cs-text-muted) !important; }

/* ============================================================
   IMAGES & THUMBNAILS
   ============================================================ */
.thumb, .thumbinner {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    border-radius: var(--cs-radius) !important;
}

.thumbcaption {
    color: var(--cs-text-secondary) !important;
    font-size: 0.88em !important;
    padding: 6px 10px !important;
}

.gallerybox {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
}

.gallerytext { color: var(--cs-text-secondary) !important; }

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--cs-bg); }
::-webkit-scrollbar-thumb { background: var(--cs-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--cs-text-muted); }

html {
    scrollbar-color: var(--cs-border) var(--cs-bg);
    scrollbar-width: thin;
}

/* ============================================================
   SELECTION
   ============================================================ */
::selection {
    background-color: rgba(222, 142, 29, 0.2) !important;
    color: var(--cs-text) !important;
}

/* ============================================================
   NAV ICONS (undo dark-mode invert)
   ============================================================ */
.vector-icon, .cdx-button-icon, .mw-ui-icon {
    filter: none !important;
}

/* Header icons need to be white */
.vector-header .vector-icon,
.vector-header .cdx-button-icon,
.vector-sticky-header .vector-icon,
.vector-sticky-header .cdx-button-icon {
    filter: invert(1) !important;
    opacity: 0.7 !important;
}

.vector-header .vector-icon:hover,
.vector-header .cdx-button-icon:hover,
.vector-sticky-header .vector-icon:hover,
.vector-sticky-header .cdx-button-icon:hover {
    opacity: 1 !important;
}

/* ============================================================
   PINNABLE ELEMENTS
   ============================================================ */
.vector-pinnable-header {
    border-bottom-color: var(--cs-border) !important;
}

.vector-pinnable-header-label {
    color: var(--cs-text) !important;
    font-family: var(--cs-font-display) !important;
    font-weight: 700 !important;
}

.vector-pinnable-header-toggle-button,
.vector-pinnable-header-unpin-button,
.vector-pinnable-header-pin-button {
    color: var(--cs-text-muted) !important;
}

#contentSub, #contentSub2 { color: var(--cs-text-muted) !important; }

.hatnote, .dablink {
    color: var(--cs-text-muted) !important;
    font-style: italic !important;
}

/* Recent changes / prefs */
.mw-changeslist-line, .mw-changeslist { color: var(--cs-text) !important; }

.oo-ui-layout, .oo-ui-panelLayout {
    background-color: var(--cs-bg-content) !important;
    color: var(--cs-text) !important;
}

.mwe-popups, .mwe-popups-container {
    background-color: var(--cs-bg-card) !important;
    border: 1px solid var(--cs-border) !important;
    color: var(--cs-text) !important;
    box-shadow: var(--cs-shadow-lg) !important;
    border-radius: var(--cs-radius) !important;
}

.mw-spinner, .cdx-progress-bar { border-color: var(--cs-accent) !important; }

/* ============================================================
   MAIN PAGE — LAYOUT FIXES
   ============================================================ */

/* Hide the default "Main Page" h1 on the Main Page only */
body.page-Main_Page .mw-first-heading,
body.page-Main_Page .mw-body-header {
    display: none !important;
}

/* Reduce gap between tabs and content body */
body.page-Main_Page .mw-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================================================
   MAIN PAGE — CUSTOM CARD GRID
   ============================================================ */
.cs-hero {
    text-align: center;
    padding: 2.5em 1em 1.5em;
    margin: 0 -2.5em 2em;
    background: linear-gradient(135deg, var(--cs-bg-header) 0%, #2a2f36 100%);
    border-radius: var(--cs-radius-lg) var(--cs-radius-lg) 0 0;
}

.cs-hero h1 {
    color: #ffffff !important;
    font-family: var(--cs-font-display) !important;
    font-size: 2.2em !important;
    font-weight: 800 !important;
    margin: 0 0 0.15em !important;
    border: none !important;
    padding: 0 !important;
    letter-spacing: -0.02em !important;
}

.cs-hero p {
    color: rgba(255,255,255,0.6) !important;
    font-family: var(--cs-font-body) !important;
    font-size: 1.05em !important;
    margin: 0 !important;
}

.cs-hero .cs-accent {
    color: var(--cs-accent) !important;
}

.cs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin: 0 0 1.5em;
}

.cs-card {
    background: var(--cs-bg-card);
    border: 1px solid var(--cs-border);
    border-radius: var(--cs-radius-lg);
    padding: 0;
    overflow: hidden;
    transition: box-shadow var(--cs-transition), transform 0.15s ease, border-color var(--cs-transition);
    box-shadow: var(--cs-shadow-sm);
}

.cs-card:hover {
    box-shadow: var(--cs-shadow-md);
    transform: translateY(-2px);
    border-color: var(--cs-accent-border);
}

.cs-card-header {
    background: var(--cs-bg-header);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cs-card-header h3 {
    color: #ffffff !important;
    font-family: var(--cs-font-display) !important;
    font-size: 0.95em !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    letter-spacing: 0.02em !important;
}

.cs-card-icon {
    font-size: 1.1em;
    line-height: 1;
}

.cs-card-body {
    padding: 14px 16px 16px;
}

.cs-card-body ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cs-card-body li {
    padding: 5px 0;
    border-bottom: 1px solid var(--cs-border-subtle);
    font-size: 0.9em;
    line-height: 1.5;
}

.cs-card-body li:last-child {
    border-bottom: none;
}

.cs-card-body li a {
    font-weight: 500 !important;
}

.cs-card-body .cs-desc {
    color: var(--cs-text-muted);
    font-size: 0.88em;
}

.cs-stats {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 2em;
    padding: 1.2em;
    background: var(--cs-bg-subtle);
    border-radius: var(--cs-radius-lg);
    border: 1px solid var(--cs-border);
}

.cs-stat {
    text-align: center;
    padding: 0 16px;
}

.cs-stat-num {
    font-family: var(--cs-font-display);
    font-weight: 800;
    font-size: 1.8em;
    color: var(--cs-accent);
    line-height: 1.1;
}

.cs-stat-label {
    font-family: var(--cs-font-display);
    font-size: 0.72em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cs-text-muted);
    font-weight: 600;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media screen and (max-width: 1000px) {
    .mw-body { padding: 1.5em !important; }
    h1, .mw-first-heading { font-size: 1.7em !important; }
    h2 { font-size: 1.25em !important; }
    .cs-hero { margin: 0 -1.5em 1.5em; padding: 2em 1em 1.2em; }
    .cs-hero h1 { font-size: 1.8em !important; }
}

@media screen and (max-width: 720px) {
    .mw-body {
        border: none !important;
        border-radius: 0 !important;
        padding: 1em !important;
    }
    h1, .mw-first-heading { font-size: 1.4em !important; }
    h2 { font-size: 1.1em !important; }
    .cs-hero { margin: 0 -1em 1em; padding: 1.5em 0.75em 1em; border-radius: 0; }
    .cs-hero h1 { font-size: 1.5em !important; }
    .cs-grid { grid-template-columns: 1fr; gap: 12px; }
    .cs-stats { flex-direction: column; gap: 8px; }
}

/* ============================================================
   MAP & WEAPON IMAGE STYLES
   ============================================================ */

/* Map screenshot — full-width below infobox */
.map-screenshot {
    margin: 1em 0;
    text-align: center;
}

.map-screenshot img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    border-radius: var(--cs-radius-lg, 10px) !important;
    border: 1px solid var(--cs-border, #e2dfd8) !important;
    box-shadow: var(--cs-shadow-md, 0 4px 12px rgba(0,0,0,0.06)) !important;
}

.map-screenshot-caption {
    font-size: 0.85em;
    color: var(--cs-text-muted, #8b929c);
    margin-top: 0.4em;
    font-style: italic;
}

/* Weapon image in infobox */
.weapon-infobox-img {
    text-align: center;
    padding: 12px 8px !important;
    background: var(--cs-bg-subtle, #f0ede6) !important;
}

.weapon-infobox-img img {
    max-width: 260px !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Notable skins gallery grid */
.skins-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 1em 0;
}

.skins-gallery-item {
    flex: 0 0 auto;
    width: 140px;
    text-align: center;
    background: var(--cs-bg-card, #fff);
    border: 1px solid var(--cs-border, #e2dfd8);
    border-radius: var(--cs-radius, 6px);
    padding: 8px;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.skins-gallery-item:hover {
    box-shadow: var(--cs-shadow-md, 0 4px 12px rgba(0,0,0,0.06));
    transform: translateY(-2px);
}

.skins-gallery-item img {
    max-width: 120px !important;
    height: auto !important;
    object-fit: contain !important;
}

.skins-gallery-item .skin-name {
    display: block;
    font-size: 0.8em;
    color: var(--cs-text-secondary, #555d68);
    margin-top: 4px;
    line-height: 1.3;
}

/* Callouts table styling */
.callouts-table td:first-child {
    font-weight: 600;
    white-space: nowrap;
}

/* Collection/case skin table rarity colors */
.rarity-contraband { color: #e4ae39; font-weight: 600; }
.rarity-covert { color: #eb4b4b; font-weight: 600; }
.rarity-classified { color: #d32ce6; font-weight: 600; }
.rarity-restricted { color: #8847ff; font-weight: 600; }
.rarity-milspec { color: #4b69ff; font-weight: 600; }
.rarity-industrial { color: #5e98d9; font-weight: 600; }
.rarity-consumer { color: #b0c3d9; font-weight: 600; }

/* Collection/case header image */
.collection-header-img {
    text-align: center;
    margin: 1em 0;
}

.collection-header-img img {
    max-width: 300px !important;
    height: auto !important;
}

/* Extimg general constraint */
.mw-parser-output img[src*="githubusercontent.com"] {
    max-width: 100% !important;
    height: auto !important;
}

/* Strategy section callout boxes */
.strat-box {
    background: var(--cs-bg-subtle, #f0ede6);
    border: 1px solid var(--cs-border, #e2dfd8);
    border-left: 3px solid var(--cs-accent, #de8e1d);
    border-radius: 0 var(--cs-radius, 6px) var(--cs-radius, 6px) 0;
    padding: 0.75em 1em;
    margin: 0.75em 0;
}

.strat-box-title {
    font-family: var(--cs-font-display, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 0.95em;
    color: var(--cs-accent, #de8e1d);
    margin-bottom: 0.3em;
}