MediaWiki:Vector.css: Difference between revisions

From aurawatch
Jump to navigation Jump to search
No edit summary
No edit summary
Line 324: Line 324:




/* Deus Ex inspired header styling with blue/cyan accents */
:root{
  --ui-bg-1: rgba(26,28,33,.72);      /* smoky grey glass */
  --ui-bg-2: rgba(18,20,24,.42);
  --ui-stroke: rgba(180,195,210,.22);  /* hairline */
  --ui-glow: rgba(90,180,255,.55);    /* blue glow */
  --ui-accent: #6ec3ff;                /* neon blue */
  --ui-text: #e6eaef;
}


.mw-parser-output h2 {
/* H2 — inline chamfered plate + data rail */
    position: relative;
.mw-parser-output h2{
    background: none;
  color: var(--ui-text);
    color: #87ceeb;
  margin: 1.8rem 0 .9rem;
    padding: 12px 20px 12px 15px;
  font-weight: 760;
    margin: 30px 0 20px 0;
  letter-spacing:.02em;
    border: none;
    font-weight: 400;
    font-size: 1.3em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Arial', sans-serif;
}
}


/* Main backdrop - angular Deus Ex style */
.mw-parser-output h2 .mw-headline{
.mw-parser-output h2::before {
  position: relative;
    content: '';
  display: inline-block;       /* panel hugs text only */
    position: absolute;
  padding: .18em .75em .18em .7em;
    left: 0;
  line-height: 1.15;
    right: 0;
  text-transform: none;
    top: 0;
  isolation: isolate;
    bottom: 0;
    background:
        linear-gradient(135deg,
            rgba(0, 0, 0, 0.7) 0%,
            rgba(30, 40, 50, 0.8) 30%,
            rgba(40, 55, 70, 0.6) 70%,
            rgba(0, 0, 0, 0.7) 100%
        );
    border: 1px solid #4a9eff;
    border-left: 3px solid #87ceeb;
    z-index: -1;
   
    /* Angular corners like Deus Ex */
    clip-path: polygon(
        0 0,
        calc(100% - 10px) 0,
        100% 10px,
        100% 100%,
        10px 100%,
        0 calc(100% - 10px)
    );
}
}


/* Subtle inner glow */
/* chamfered “HUD plate” behind text (not full width) */
.mw-parser-output h2::after {
.mw-parser-output h2 .mw-headline::before{
    content: '';
  content:"";
    position: absolute;
  position:absolute; inset:-.18em -.65em;
    left: 3px;
  background: linear-gradient(180deg,var(--ui-bg-1),var(--ui-bg-2));
    right: 1px;
  box-shadow:
    top: 1px;
    inset 0 0 0 1px var(--ui-stroke),
    bottom: 1px;
    0 0 0 1px rgba(0,0,0,.35);
    background: linear-gradient(90deg,  
  clip-path: polygon(
        transparent 0%,
    10px 0%, 100% 0%,
        rgba(135, 206, 235, 0.1) 20%,  
    calc(100% - 10px) 100%, 0% 100%
        rgba(135, 206, 235, 0.05) 80%,
  ); /* tiny notches top-left/bottom-right */
        transparent 100%
  backdrop-filter: blur(6px);
    );
  -webkit-backdrop-filter: blur(6px);
    z-index: -1;
  z-index:-1;
    clip-path: polygon(
  pointer-events:none;
        0 0,
        calc(100% - 9px) 0,
        100% 9px,
        100% 100%,
        9px 100%,
        0 calc(100% - 9px)
    );
}
}


/* Hover effect */
/* thin neon rail underline */
.mw-parser-output h2:hover::before {
.mw-parser-output h2 .mw-headline::after{
    border-color: #87ceeb;
  content:"";
     box-shadow:
  position:absolute; left:0; right:0; bottom:-.45em; height:2px;
        0 0 20px rgba(135, 206, 235, 0.3),
  background:
        inset 0 0 20px rgba(135, 206, 235, 0.1);
     linear-gradient(90deg, transparent, var(--ui-accent) 25%, #bfe6ff 50%, var(--ui-accent) 75%, transparent);
  filter: drop-shadow(0 0 6px var(--ui-glow));
}
}


.mw-parser-output h2:hover {
/* subtle scanline flicker across the plate */
    color: #fff;
@keyframes ui-scan {
    text-shadow: 0 0 8px rgba(135, 206, 235, 0.8);
  0%{opacity:.0; transform: translateY(-120%);}
  100%{opacity:.14; transform: translateY(120%);}
}
}
 
.mw-parser-output h2 .mw-headline::before{
/* Rules section - red accent */
  overflow:hidden; /* for scan overlay below */
.mw-parser-output h2[id*="Rules"]::before,
}
.mw-parser-output h2[id*="rules"]::before {
.mw-parser-output h2 .mw-headline > em{ /* optional: wrap a word in <em> to pulse */
    border-color: #ff6b6b;
  text-shadow: 0 0 8px var(--ui-glow);
    border-left-color: #ff5252;
    background: linear-gradient(135deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(50, 20, 30, 0.8) 30%,
        rgba(70, 30, 45, 0.6) 70%,
        rgba(0, 0, 0, 0.7) 100%
    );
}
}
 
.mw-parser-output h2 .mw-headline > span.scan{
.mw-parser-output h2[id*="Rules"],
  position:absolute; left:0; right:0; top:-40%; bottom:-40%;
.mw-parser-output h2[id*="rules"] {
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.08), transparent);
    color: #ff6b6b;
  animation: ui-scan 3.5s linear infinite;
  pointer-events:none;
}
}


/* Gamemodes section - keep blue but brighter */
/* H3 — slimmer label with left “data rail” */
.mw-parser-output h2[id*="Gamemode"]::before,
.mw-parser-output h3{
.mw-parser-output h2[id*="gamemode"]::before {
  color: var(--ui-text);
    border-color: #00d4ff;
  margin: 1.2rem 0 .5rem;
    border-left-color: #40e0d0;
  font-weight: 680;
    background: linear-gradient(135deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(20, 35, 50, 0.8) 30%,
        rgba(30, 50, 70, 0.6) 70%,
        rgba(0, 0, 0, 0.7) 100%
    );
}
}


.mw-parser-output h2[id*="Gamemode"],
.mw-parser-output h3 .mw-headline{
.mw-parser-output h2[id*="gamemode"] {
  position:relative; display:inline-block; padding:.05em .5em .05em .85em;
    color: #00d4ff;
}
}
 
.mw-parser-output h3 .mw-headline::before{
/* Edit section styling */
  content:"";
.mw-parser-output h2 .mw-editsection {
  position:absolute; left:-.55em; top:0; bottom:0; width:2px;
    float: right;
  background: linear-gradient(180deg, var(--ui-accent), transparent);
    margin-left: 15px;
  box-shadow: 0 0 10px var(--ui-glow);
    margin-top: -2px;
  transform: skewY(-8deg);
  border-radius: 1px;
}
}


.mw-parser-output h2 .mw-editsection a {
/* keep edit links tidy */
    color: rgba(135, 206, 235, 0.7);
.mw-parser-output h2 .mw-editsection,
    text-decoration: none;
.mw-parser-output h3 .mw-editsection{ opacity:0; transition:opacity .15s }
    font-size: 0.7em;
.mw-parser-output h2:hover .mw-editsection,
    padding: 3px 8px;
.mw-parser-output h3:hover .mw-editsection{ opacity:1 }
    border: 1px solid rgba(135, 206, 235, 0.5);
    background: rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    text-transform: none;
    letter-spacing: normal;
}


.mw-parser-output h2 .mw-editsection a:hover {
/* =================== Lists after headings (your link blocks) =================== */
    color: #87ceeb;
/* Give the list just under a heading a HUD list look */
    border-color: #87ceeb;
.mw-parser-output h2 + ul,
    background: rgba(135, 206, 235, 0.1);
.mw-parser-output h3 + ul{
    box-shadow: 0 0 5px rgba(135, 206, 235, 0.3);
  margin-top:.35rem;
  padding-left: 0;
  list-style: none;
  border-left: 2px solid rgba(130,160,190,.12);
}
}
 
.mw-parser-output h2 + ul > li,
/* Subsection headers (h3) - smaller angular boxes */
.mw-parser-output h3 + ul > li{
.mw-parser-output h3 {
  position:relative;
    position: relative;
  padding:.4rem .4rem .4rem 1rem;
    background: none;
  margin:.05rem 0;
    color: #4a9eff;
  color:#dfe6ee;
    padding: 8px 15px;
    margin: 20px 0 15px 0;
    font-weight: 400;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
}
 
.mw-parser-output h2 + ul > li::before,
.mw-parser-output h3::before {
.mw-parser-output h3 + ul > li::before{
    content: '';
  content: "›";             /* thin chevron bullet */
    position: absolute;
  position:absolute; left:.2rem; top:.3rem;
    left: 0;
  color: var(--ui-accent);
    right: 0;
  text-shadow: 0 0 6px var(--ui-glow);
    top: 0;
  font-weight:800;
    bottom: 0;
    background: linear-gradient(135deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(20, 30, 40, 0.7) 50%,
        rgba(0, 0, 0, 0.6) 100%
    );
    border: 1px solid rgba(74, 158, 255, 0.6);
    border-left: 2px solid #4a9eff;
    z-index: -1;
    clip-path: polygon(
        0 0,
        calc(100% - 6px) 0,
        100% 6px,
        100% 100%,
        6px 100%,
        0 calc(100% - 6px)
    );
}
}
 
.mw-parser-output h2 + ul > li a{
/* Additional tech elements */
  color:#e9f3ff; text-decoration:none; border-bottom:1px dotted rgba(150,190,230,.25);
.mw-parser-output h2 .tech-corner {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid rgba(135, 206, 235, 0.3);
}
}
 
.mw-parser-output h2 + ul > li a:hover{
/* Subtle animation on page load */
  color:#ffffff; border-bottom-color: var(--ui-accent); filter: drop-shadow(0 0 4px var(--ui-glow));
@keyframes slideIn {
    from {
        transform: translateX(-20px);  
        opacity: 0;
    }
    to {
        transform: translateX(0);  
        opacity: 1;
    }
}
}


.mw-parser-output h2 {
/* Optional very subtle page backdrop grid */
     animation: slideIn 0.6s ease-out;
.skin-vector .mw-body,
.skin-vector-2022 .mw-body{
  background-image:
     radial-gradient(1000px 380px at 75% -200px, rgba(110,195,255,.08), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 24px);
  background-blend-mode: screen;
}
}

Revision as of 16:54, 18 September 2025

div.vectorTabs ul li#ca-history {
    display: none;
}
.vector-menu-tabs-legacy li {
    background-color: transparent !important;
    color: #72777d;
    cursor: pointer;
}
.new.mw-list-item {
    background-color: transparent !important;
}
.new.mw-list-item a {
    background-color: transparent !important;
    color: #72777d;
    cursor: pointer;
    font-size: 0.8em;
}
.ca-talk {
    background-color: transparent !important;
    color: #72777d;
    cursor: pointer;
    font-size: 0.8em;
}
.vector-menu-portal .vector-menu-content li a,
.vector-menu-portal .vector-menu-content li a:visited {
    color: #72777d;
}
/* Additional rules to ensure transparency */
.vector-menu-tabs,
.vector-menu-tabs ul,
.vector-menu-tabs li,
.vector-menu-tabs a,
.vector-menu-tabs-legacy,
.vector-menu-tabs-legacy ul,
.vector-menu-tabs-legacy li,
.vector-menu-tabs-legacy a,
#p-namespaces,
#p-namespaces li,
#p-namespaces a,
#ca-nstab-main,
#ca-talk,
.vector-tab-noicon,
.mw-list-item-js {
    background-color: transparent !important;
    background: transparent !important;
    background-image: none !important;
}


.vector-menu-portal,
#mw-panel,
.vector-menu-portal .vector-menu-content {
    background-color: #202020 !important;
}

.vector-menu-portal .vector-menu-heading {
    color: #cccccc;  /* Light gray for headers */
}

/* For the links */
.vector-menu-portal .vector-menu-content a {
    color: #3366bb;  /* Blue color for links */
}

/* Remove any borders that might be present */
.vector-menu-portal {
    border: none !important;
}


body {
    background-image: url('https://i.imgur.com/9GQ16Re.png') !important;
    background-color: rgba(0, 0, 0, 0.6) !important; /* Semi-transparent black */
    background-blend-mode: overlay !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-attachment: fixed !important;
    background-size: cover !important;
}


#ca-view a, #ca-edit a, #ca-history a {
  color: inherit !important;
  background-color: transparent !important;
}










/* =========================================================
   Colors: outer bg #2f2f2f, outer border #444, inner #6a6a6a, caption #c0c0c0
========================================================= */

/* ---------- PARSOID / VE (figure markup) ---------- */
/* (A) Outer frame on figure containers - FORCE proper wrapping */
.mw-parser-output figure[typeof*="mw:File/Thumb"],
.mw-parser-output figure[typeof*="mw:Image/Thumb"],
.mw-parser-output figure[typeof*="mw:File/Frame"],
.mw-parser-output figure[typeof*="mw:Image/Frame"] {
    background-color: #2f2f2f !important;
    border: 1px solid #444 !important;
    padding: 3px !important;
    box-shadow: none !important;
    display: block !important;
    overflow: hidden !important; /* Force container to wrap content */
    width: auto !important; /* Let it size to content */
    box-sizing: border-box !important;
}

/* (B) Remove border from link wrapper in figures */
.mw-parser-output figure[typeof*="mw:"] > a.mw-file-description,
.mw-parser-output figure[typeof*="mw:"] > span:first-child > a.mw-file-description {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* (C) Thin inner line on images in figures */
.mw-parser-output figure[typeof*="mw:"] img.mw-file-element {
    border: 1px solid #6a6a6a !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ---------- LEGACY / CLASSIC (div.thumb markup) ---------- */
/* (D) Outer frame on div.thumb containers - FORCE proper wrapping */
.mw-parser-output div.thumb,
.mw-parser-output .thumb {
    background-color: #2f2f2f !important;
    border: 1px solid #444 !important;
    padding: 3px !important;
    box-shadow: none !important;
    display: block !important;
    overflow: hidden !important; /* Force container to wrap content */
    width: auto !important; /* Let it size to content */
    box-sizing: border-box !important;
}

/* (E) Remove border from thumbinner */
.mw-parser-output .thumbinner {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* (F) Thin inner line on images in div.thumb */
.mw-parser-output .thumbimage {
    border: 1px solid #6a6a6a !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ---------- CAPTION STYLING (both types) ---------- */
.mw-parser-output figure figcaption {
    background-color: #2f2f2f !important;
    color: #c0c0c0 !important;
    border: 0 !important;
    padding: 4px 2px 2px 2px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* (H) Dark caption styling for div.thumb - prevent overflow */
.mw-parser-output .thumbcaption {
    background-color: #2f2f2f !important;
    color: #c0c0c0 !important;
    border: 0 !important;
    padding: 4px 2px 2px 2px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* ---------- HIDE CAPTION ICONS ---------- */
.mw-parser-output .magnify,
.mw-parser-output .metadata,
.mw-parser-output .magnify a,
.mw-parser-output .magnify img,
.mw-parser-output .thumbcaption .magnify,
.mw-parser-output figcaption .magnify,
.mw-parser-output .mw-file-description + .magnify,
.mw-parser-output .thumbinner .magnify,
.mw-parser-output [class*="magnify"],
.mw-parser-output .thumb .internal,
.mw-parser-output .thumbcaption .internal,
.mw-parser-output .enlarge,
.mw-parser-output .mw-file-info {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* (J) Hide pseudo-element icons on file description links */
.mw-parser-output a.mw-file-description::after,
.mw-parser-output a.mw-file-description::before,
.mw-parser-output .mw-file-description::after,
.mw-parser-output .mw-file-description::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}
/* ============================================================ */




















/* Sidebar (left) navigation link colors — Vector (new) + Vector legacy */

/* normal state */
#mw-panel .vector-menu-portal .vector-menu-content .vector-menu-content-list > li > a,
.skin-vector-legacy #mw-panel .portal .body li a {
  color: #8BB9E0 !important;       /* light blue */
  background: transparent !important;
  text-decoration: none !important;
}

/* visited */
#mw-panel .vector-menu-portal .vector-menu-content .vector-menu-content-list > li > a:visited,
.skin-vector-legacy #mw-panel .portal .body li a:visited {
  color: #74A8D4 !important;       /* keep blue, not purple */
}

/* hover & focus */
#mw-panel .vector-menu-portal .vector-menu-content .vector-menu-content-list > li > a:hover,
#mw-panel .vector-menu-portal .vector-menu-content .vector-menu-content-list > li > a:focus,
.skin-vector-legacy #mw-panel .portal .body li a:hover,
.skin-vector-legacy #mw-panel .portal .body li a:focus {
  color: #BFD9F2 !important;       /* brighter on hover */
  text-decoration: underline !important;
}

/* active (mouse down) */
#mw-panel .vector-menu-portal .vector-menu-content .vector-menu-content-list > li > a:active,
.skin-vector-legacy #mw-panel .portal .body li a:active {
  color: #E6F2FF !important;
}

.mw-body, .mw-body-content, .mw-parser-output {
  font-size: 16px !important;      /* was ~14–15px */
  line-height: 1.6 !important;
}

/* Sidebar / left nav */
#mw-panel,
#mw-panel .vector-menu-portal .vector-menu-content {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* TOC, captions, small UI text */
.toc, .thumbcaption, .catlinks,
.mw-ui-message, .mw-message-box {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Code blocks / preformatted */
pre, code, kbd, samp, .mw-code {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Tabs (Read / View source / History) & top menus */
#mw-head .vectorTabs li a,
.vector-menu-tabs a,
.vector-menu-tabs-legacy a {
  font-size: 15px !important;
}

/* Make sure headings scale nicely (relative to new base) */
.mw-body h1 { font-size: 2.0em !important; }
.mw-body h2 { font-size: 1.6em !important; }
.mw-body h3 { font-size: 1.35em !important; }
.mw-body h4 { font-size: 1.15em !important; }

/* Optional: slightly smaller on narrow screens */
@media (max-width: 768px) {
  .mw-body, .mw-body-content, .mw-parser-output { font-size: 16px !important; }
}















:root{
  --ui-bg-1: rgba(26,28,33,.72);      /* smoky grey glass */
  --ui-bg-2: rgba(18,20,24,.42);
  --ui-stroke: rgba(180,195,210,.22);  /* hairline */
  --ui-glow: rgba(90,180,255,.55);     /* blue glow */
  --ui-accent: #6ec3ff;                /* neon blue */
  --ui-text: #e6eaef;
}

/* H2 — inline chamfered plate + data rail */
.mw-parser-output h2{
  color: var(--ui-text);
  margin: 1.8rem 0 .9rem;
  font-weight: 760;
  letter-spacing:.02em;
}

.mw-parser-output h2 .mw-headline{
  position: relative;
  display: inline-block;       /* panel hugs text only */
  padding: .18em .75em .18em .7em;
  line-height: 1.15;
  text-transform: none;
  isolation: isolate;
}

/* chamfered “HUD plate” behind text (not full width) */
.mw-parser-output h2 .mw-headline::before{
  content:"";
  position:absolute; inset:-.18em -.65em;
  background: linear-gradient(180deg,var(--ui-bg-1),var(--ui-bg-2));
  box-shadow:
    inset 0 0 0 1px var(--ui-stroke),
    0 0 0 1px rgba(0,0,0,.35);
  clip-path: polygon(
     10px 0%, 100% 0%,
     calc(100% - 10px) 100%, 0% 100%
  ); /* tiny notches top-left/bottom-right */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index:-1;
  pointer-events:none;
}

/* thin neon rail underline */
.mw-parser-output h2 .mw-headline::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-.45em; height:2px;
  background:
    linear-gradient(90deg, transparent, var(--ui-accent) 25%, #bfe6ff 50%, var(--ui-accent) 75%, transparent);
  filter: drop-shadow(0 0 6px var(--ui-glow));
}

/* subtle scanline flicker across the plate */
@keyframes ui-scan {
  0%{opacity:.0; transform: translateY(-120%);}
  100%{opacity:.14; transform: translateY(120%);}
}
.mw-parser-output h2 .mw-headline::before{
  overflow:hidden; /* for scan overlay below */
}
.mw-parser-output h2 .mw-headline > em{ /* optional: wrap a word in <em> to pulse */
  text-shadow: 0 0 8px var(--ui-glow);
}
.mw-parser-output h2 .mw-headline > span.scan{
  position:absolute; left:0; right:0; top:-40%; bottom:-40%;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.08), transparent);
  animation: ui-scan 3.5s linear infinite;
  pointer-events:none;
}

/* H3 — slimmer label with left “data rail” */
.mw-parser-output h3{
  color: var(--ui-text);
  margin: 1.2rem 0 .5rem;
  font-weight: 680;
}

.mw-parser-output h3 .mw-headline{
  position:relative; display:inline-block; padding:.05em .5em .05em .85em;
}
.mw-parser-output h3 .mw-headline::before{
  content:"";
  position:absolute; left:-.55em; top:0; bottom:0; width:2px;
  background: linear-gradient(180deg, var(--ui-accent), transparent);
  box-shadow: 0 0 10px var(--ui-glow);
  transform: skewY(-8deg);
  border-radius: 1px;
}

/* keep edit links tidy */
.mw-parser-output h2 .mw-editsection,
.mw-parser-output h3 .mw-editsection{ opacity:0; transition:opacity .15s }
.mw-parser-output h2:hover .mw-editsection,
.mw-parser-output h3:hover .mw-editsection{ opacity:1 }

/* =================== Lists after headings (your link blocks) =================== */
/* Give the list just under a heading a HUD list look */
.mw-parser-output h2 + ul,
.mw-parser-output h3 + ul{
  margin-top:.35rem;
  padding-left: 0;
  list-style: none;
  border-left: 2px solid rgba(130,160,190,.12);
}
.mw-parser-output h2 + ul > li,
.mw-parser-output h3 + ul > li{
  position:relative;
  padding:.4rem .4rem .4rem 1rem;
  margin:.05rem 0;
  color:#dfe6ee;
}
.mw-parser-output h2 + ul > li::before,
.mw-parser-output h3 + ul > li::before{
  content: "›";             /* thin chevron bullet */
  position:absolute; left:.2rem; top:.3rem;
  color: var(--ui-accent);
  text-shadow: 0 0 6px var(--ui-glow);
  font-weight:800;
}
.mw-parser-output h2 + ul > li a{
  color:#e9f3ff; text-decoration:none; border-bottom:1px dotted rgba(150,190,230,.25);
}
.mw-parser-output h2 + ul > li a:hover{
  color:#ffffff; border-bottom-color: var(--ui-accent); filter: drop-shadow(0 0 4px var(--ui-glow));
}

/* Optional very subtle page backdrop grid */
.skin-vector .mw-body,
.skin-vector-2022 .mw-body{
  background-image:
    radial-gradient(1000px 380px at 75% -200px, rgba(110,195,255,.08), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 24px);
  background-blend-mode: screen;
}