MediaWiki:Vector.css
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ========================================
CORA TO WIKI - VECTOR LEGACY SPECIFIC STYLES
Styles specific to Vector Legacy 2010 skin
======================================== */
/***********************
* Palette (inherits if available)
***********************/
:root {
--cora-vl-primary: var(--primary-pink, #ff6b9d);
--cora-vl-accent: var(--accent-pink, #ff8fb0);
--cora-vl-bg: rgba(255,255,255,0.96);
--cora-vl-bg-2: #fff0f7;
--cora-vl-border: rgba(255, 107, 157, 0.25);
--cora-vl-border-2: #f7d6e6;
--cora-vl-shadow: 0 6px 20px rgba(255, 107, 157, 0.15);
--cora-vl-radius: 14px;
--cora-vl-radius-sm: 10px;
--cora-vl-space-xs: 4px;
--cora-vl-space-sm: 8px;
--cora-vl-space-md: 12px;
--cora-vl-space-lg: 18px;
}
/* ========================================
VECTOR LEGACY SIDEBAR STYLES
======================================== */
/* Base container */
body.skin-vector-legacy #mw-panel {
background: rgba(255, 255, 255, 0.8);
border-right: 2px solid var(--cora-vl-border);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
padding: var(--cora-vl-space-lg) 0;
border-radius: var(--cora-vl-radius);
}
/* Logo area */
body.skin-vector-legacy #p-logo {
margin: 0 var(--cora-vl-space-md) var(--cora-vl-space-lg);
}
body.skin-vector-legacy #p-logo a {
display: block;
background-color: var(--cora-vl-bg-2);
border: 1px solid var(--cora-vl-border-2);
border-radius: var(--cora-vl-radius);
padding: var(--cora-vl-space-md);
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.skin-vector-legacy #p-logo a:hover {
transform: translateY(-2px);
border-color: var(--cora-vl-primary);
box-shadow: 0 8px 24px rgba(255, 107, 157, 0.18);
}
/* Portals */
body.skin-vector-legacy #mw-panel .vector-menu-portal,
body.skin-vector-legacy #mw-panel .portal {
margin: 1px;
border: 1px solid var(--cora-vl-border-2);
border-radius: var(--cora-vl-radius);
background: #fff;
overflow: hidden;
}
/* Headings - Now clickable and collapsible */
body.skin-vector-legacy #mw-panel .vector-menu-portal .vector-menu-heading,
body.skin-vector-legacy #mw-panel .portal h3 {
margin: 0;
padding: 10px 12px;
font-size: 0.92em;
font-weight: 700;
letter-spacing: .3px;
color: #ffffff !important;
background: linear-gradient(135deg, var(--cora-vl-primary), var(--cora-vl-accent));
border-bottom: 1px solid var(--cora-vl-border-2);
text-shadow: 0 1px 2px rgb(0, 0, 0) !important;
cursor: pointer;
user-select: none;
position: relative;
transition: background 0.3s ease, transform 0.2s ease;
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
}
/* Hover effect for headings */
body.skin-vector-legacy #mw-panel .vector-menu-portal .vector-menu-heading:hover,
body.skin-vector-legacy #mw-panel .portal h3:hover {
background: linear-gradient(135deg, var(--cora-vl-accent), var(--cora-vl-primary));
transform: translateY(-1px);
}
/* Collapse/Expand indicator */
body.skin-vector-legacy #mw-panel .vector-menu-portal .vector-menu-heading::after,
body.skin-vector-legacy #mw-panel .portal h3::after {
content: '▼';
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
font-size: 0.8em;
transition: transform 0.3s ease;
}
/* Collapsed state indicator */
body.skin-vector-legacy #mw-panel .vector-menu-portal.collapsed .vector-menu-heading::after,
body.skin-vector-legacy #mw-panel .portal.collapsed h3::after {
transform: translateY(-50%) rotate(-90deg);
}
/* Lists - Now collapsible */
body.skin-vector-legacy #mw-panel .vector-menu-content ul,
body.skin-vector-legacy #mw-panel .portal .body ul {
list-style: none;
margin: 0;
padding: var(--cora-vl-space-xs) 0;
}
/* Collapsible content containers */
body.skin-vector-legacy #mw-panel .vector-menu-content,
body.skin-vector-legacy #mw-panel .portal .body {
max-height: none;
overflow: hidden;
transition: max-height 0.4s ease, opacity 0.3s ease;
opacity: 1;
}
/* Collapsed state */
body.skin-vector-legacy #mw-panel .vector-menu-portal.collapsed .vector-menu-content,
body.skin-vector-legacy #mw-panel .portal.collapsed .body {
max-height: 0 !important;
opacity: 0;
padding: 0;
}
/* Collapsed portal styling */
body.skin-vector-legacy #mw-panel .vector-menu-portal.collapsed,
body.skin-vector-legacy #mw-panel .portal.collapsed {
margin-bottom: var(--cora-vl-space-sm);
}
/* Smooth border transition for collapsed state */
body.skin-vector-legacy #mw-panel .vector-menu-portal.collapsed .vector-menu-heading,
body.skin-vector-legacy #mw-panel .portal.collapsed h3 {
border-bottom: none;
border-radius: var(--cora-vl-radius);
}
body.skin-vector-legacy #mw-panel .vector-menu-content li,
body.skin-vector-legacy #mw-panel .portal .body li {
border-bottom: 1px solid #f3e2ea;
}
body.skin-vector-legacy #mw-panel .vector-menu-content li:last-child,
body.skin-vector-legacy #mw-panel .portal .body li:last-child {
border-bottom: 0;
}
/* Links */
body.skin-vector-legacy #mw-panel .vector-menu-content a,
body.skin-vector-legacy #mw-panel .portal .body a {
display: block;
padding: 8px 14px;
color: #9a3b5f;
text-decoration: none;
border-left: 3px solid transparent;
transition: color .2s ease, background-color .2s ease, border-color .2s ease, padding .2s ease;
}
body.skin-vector-legacy #mw-panel .vector-menu-content a:hover,
body.skin-vector-legacy #mw-panel .portal .body a:hover {
color: var(--cora-vl-primary);
background: #fff5fb;
border-left-color: var(--cora-vl-primary);
padding-left: 18px;
}
/* Scrollbar */
body.skin-vector-legacy #mw-panel::-webkit-scrollbar { width: 6px; }
body.skin-vector-legacy #mw-panel::-webkit-scrollbar-track { background: #ffe6f0; }
body.skin-vector-legacy #mw-panel::-webkit-scrollbar-thumb { background: var(--cora-vl-accent); border-radius: 3px; }
body.skin-vector-legacy #mw-panel::-webkit-scrollbar-thumb:hover { background: var(--cora-vl-primary); }
/* Content spacing (desktop) */
@media (min-width: 1025px) {
body.skin-vector-legacy #content,
body.skin-vector-legacy .mw-body { margin-left: 220px; }
}
/* Responsiveness */
@media (max-width: 1024px) {
body.skin-vector-legacy #content,
body.skin-vector-legacy .mw-body { margin-left: 190px; }
}
/* Mobile hamburger menu button */
.mobile-hamburger-menu {
display: none;
position: fixed;
top: 20px;
left: 20px;
z-index: 1002;
width: 50px;
height: 50px;
background: linear-gradient(135deg, var(--cora-vl-primary), var(--cora-vl-accent));
border: none;
border-radius: var(--cora-vl-radius);
cursor: pointer;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 4px;
box-shadow: var(--cora-vl-shadow);
transition: transform .3s ease, box-shadow .3s ease;
padding: 0;
}
.mobile-hamburger-menu:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(255, 107, 157, 0.3);
}
.mobile-hamburger-menu span {
display: block;
width: 25px;
height: 3px;
background: white;
border-radius: 2px;
transition: transform .3s ease, opacity .3s ease;
transform-origin: center;
}
.mobile-hamburger-menu.active span:nth-child(1) {
transform: rotate(45deg) translate(6px, 6px);
}
.mobile-hamburger-menu.active span:nth-child(2) {
opacity: 0;
}
.mobile-hamburger-menu.active span:nth-child(3) {
transform: rotate(-45deg) translate(6px, -6px);
}
@media (max-width: 768px) {
/* Show hamburger menu on mobile */
.mobile-hamburger-menu {
display: flex;
}
/* Sidebar mobile behavior */
body.skin-vector-legacy #mw-panel {
transform: translateX(-100%);
transition: transform .3s ease;
position: fixed;
z-index: 1000;
height: 100vh;
width: 220px;
overflow-y: auto;
overflow-x: hidden;
}
body.skin-vector-legacy #mw-panel.mobile-open { transform: translateX(0); }
body.skin-vector-legacy #content,
body.skin-vector-legacy .mw-body { margin-left: 0; }
/* Add overlay when sidebar is open */
body.sidebar-open::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 1;
transition: opacity .3s ease;
}
/* Sidebar peek tab with image (Vector Legacy only) */
body.skin-vector-legacy #p-logo { position: absolute; top: 12px; left: calc(100% + 12px); margin: 0; z-index: 1001; }
body.skin-vector-legacy #p-logo a {
width: 56px; height: 56px; padding: 0; display: block;
border-radius: var(--cora-vl-radius-sm);
/* Keep any existing wiki logo background-image */
background-color: var(--cora-vl-bg-2);
background-repeat: no-repeat; background-position: center; background-size: contain;
border: 1px solid var(--cora-vl-border-2);
box-shadow: 0 8px 20px rgba(255, 107, 157, 0.22);
}
/* When sidebar is opened, return the logo to the panel */
body.skin-vector-legacy #mw-panel.mobile-open #p-logo { position: relative; left: auto; top: auto; margin: 0 var(--cora-vl-space-md) var(--cora-vl-space-lg); }
body.skin-vector-legacy #mw-panel.mobile-open #p-logo a {
width: auto; height: auto; padding: var(--cora-vl-space-md);
background-size: contain; /* Still show the image nicely inside */
}
}
/* High contrast fallback */
@media (prefers-contrast: more) {
body.skin-vector-legacy #mw-panel .vector-menu-content a:hover { text-decoration: underline; }
}
/* ========================================
VECTOR LEGACY 2010 HEADER TABS POLISH
Targets: Page/Discussion + Read/Edit/View history/More
======================================== */
/* Variables for header buttons */
:root {
--cora-hd-radius: 10px;
--cora-hd-shadow: 0 2px 8px rgba(0,0,0,0.05);
--cora-hd-shadow-hover: 0 8px 30px rgba(255, 107, 157, 0.3);
--cora-hd-border: rgba(255, 107, 157, 0.22);
--cora-hd-grad: linear-gradient(135deg, #ff6b9d 0%, #ffc3e0 100%);
}
/* Base button look for tabs (Vector Legacy 2010 ONLY) */
body.skin-vector-legacy #p-namespaces li a,
body.skin-vector-legacy #p-views li a,
body.skin-vector-legacy #p-cactions li a {
display: inline-block !important;
padding: 8px 12px !important;
margin: 4px 6px 0 0 !important;
border-radius: var(--cora-hd-radius) !important;
background: rgba(255,255,255,0.92) !important;
color: var(--primary-pink, #ff6b9d) !important;
border: 2px solid transparent !important;
font-weight: 700 !important;
text-decoration: none !important;
box-shadow: var(--cora-hd-shadow) !important;
transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
}
/* Hover state */
body.skin-vector-legacy #p-namespaces li a:hover,
body.skin-vector-legacy #p-views li a:hover,
body.skin-vector-legacy #p-cactions li a:hover {
transform: translateY(-2px) !important;
color: var(--dark-pink, #d63384) !important;
border-color: var(--cora-hd-border) !important;
box-shadow: var(--cora-hd-shadow-hover) !important;
}
/* Active/selected state */
body.skin-vector-legacy #p-namespaces li.selected a,
body.skin-vector-legacy #p-views li.selected a,
body.skin-vector-legacy #p-cactions li.selected a {
background: var(--cora-hd-grad) !important;
color: #fff !important;
border-color: transparent !important;
box-shadow: var(--cora-hd-shadow-hover) !important;
}
/* "More" dropdown trigger to match the tabs */
body.skin-vector-legacy #p-cactions .vector-menu-heading {
display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
padding: 8px 12px !important;
margin: 4px 6px 0 0 !important;
border-radius: var(--cora-hd-radius) !important;
background: rgba(255,255,255,0.92) !important;
color: var(--primary-pink, #ff6b9d) !important;
border: 2px solid transparent !important;
font-weight: 700 !important;
text-decoration: none !important;
box-shadow: var(--cora-hd-shadow) !important;
transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
}
body.skin-vector-legacy #p-cactions .vector-menu-heading:hover {
transform: translateY(-2px) !important;
color: var(--dark-pink, #d63384) !important;
border-color: var(--cora-hd-border) !important;
box-shadow: var(--cora-hd-shadow-hover) !important;
}
/* Watch star (favorite) - Vector Legacy 2010 */
body.skin-vector-legacy #ca-watch a,
body.skin-vector-legacy #ca-unwatch a {
display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
padding: 6px 10px !important;
margin: 4px 6px 0 0 !important;
border-radius: 999px !important;
background: rgba(255,255,255,0.92) !important;
color: var(--primary-pink, #ff6b9d) !important;
border: 2px solid transparent !important;
font-weight: 700 !important;
text-decoration: none !important;
box-shadow: var(--cora-hd-shadow) !important;
transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease !important;
}
body.skin-vector-legacy #ca-watch a:hover,
body.skin-vector-legacy #ca-unwatch a:hover {
transform: translateY(-2px) !important;
color: #fff !important;
background: var(--cora-hd-grad) !important;
box-shadow: var(--cora-hd-shadow-hover) !important;
}
/* Compact layout for smaller screens */
@media (max-width: 840px) {
body.skin-vector-legacy #p-namespaces li a,
body.skin-vector-legacy #p-views li a,
body.skin-vector-legacy #p-cactions li a {
padding: 6px 10px !important;
margin: 3px 4px 0 0 !important;
font-size: 0.95em !important;
}
}
/* Vector Legacy specific content spacing */
body.skin-vector-legacy #content,
body.skin-vector-legacy .mw-body {
padding: 1.25em;
background: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
/* Vector Legacy specific responsive adjustments */
@media (max-width: 768px) {
body.skin-vector-legacy #content,
body.skin-vector-legacy .mw-body {
padding: 1em;
margin-top: 1em;
}
}
.ve-ui-surface, .ve-init-target {
all: unset !important;
}