MediaWiki:Pivot.css
From Dune Awakening DB
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.
/**********************************************************
* Enhanced Pivot skin – Dune Awakening UI inspired (v3)
* Complete overhaul for game-accurate aesthetics
**********************************************************/
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;700;900&family=Rajdhani:wght@400;500;600;700&display=swap');
/*─────────────────────────────────────────
1 · ENHANCED DESIGN TOKENS
─────────────────────────────────────────*/
:root{
/* Core Dune palette - richer, more vibrant */
--dune-black: rgba(8, 6, 12, 0.95);
--dune-panel-bg-dark: rgba(0, 0, 2, 0.9);
--dune-panel-bg-light: rgba(22, 22, 24, 0.6);
--dune-dark: rgba(20, 18, 28, 0.85);
--dune-darker: rgba(10, 8, 16, 0.9);
/* Enhanced gold spectrum */
--dune-gold: #fce7c8;
--dune-gold-bright: #fff4e6;
--dune-gold-hover: #E3BB7A;
--dune-gold-dark: #A07B40;
--dune-gold-glow: rgba(252, 231, 200, 0.4);
/* Text hierarchy */
--text-primary: #E8E8E8;
--text-secondary: #C8C8C8;
--text-title: #fce7c8;
--text-inactive: #666666;
--text-highlight: #FFFFFF;
--text-error: #ff4444;
/* Spacing system */
--spacing-xxs: 4px;
--spacing-xs: 8px;
--spacing-sm: 12px;
--spacing-md: 16px;
--spacing-lg: 20px;
--spacing-xl: 24px;
--spacing-xxl: 32px;
/* Borders & effects */
--border-thin: 1px;
--border-medium: 2px;
--border-thick: 3px;
--border-radius-sm: 3px;
--border-radius-lg: 6px;
--border-angle: 30deg;
/* Enhanced shadows */
--shadow-subtle: 0 2px 10px rgba(0, 0, 0, 0.4);
--shadow-medium: 0 4px 20px rgba(0, 0, 0, 0.6);
--shadow-heavy: 0 8px 40px rgba(0, 0, 0, 0.8);
--shadow-glow: 0 0 30px var(--dune-gold-glow);
/* Typography - game-inspired fonts */
--font-primary: "Rajdhani", "Segoe UI", sans-serif;
--font-display: "Orbitron", "Arial Black", sans-serif;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xl: 1.5rem;
--font-size-xxl: 2rem;
/* Layout */
--nav-height: 48px;
--sidebar-width: 280px;
}
/*─────────────────────────────────────────
2 · ENHANCED RESET & BODY
─────────────────────────────────────────*/
html, body {
margin: 0;
padding: 0;
height: 100%;
min-height: 100%;
overflow-x: hidden;
}
body.skin-pivot {
background:
/* Tech overlay pattern */
radial-gradient(circle at 20% 50%, rgba(252, 231, 200, 0.02) 0%, transparent 50%),
radial-gradient(circle at 80% 80%, rgba(252, 231, 200, 0.02) 0%, transparent 50%),
/* Main background */
url('https://dunedb.com/images/5/57/DuneDB_Background.jpg') no-repeat center/cover fixed;
color: var(--text-primary);
font-family: var(--font-primary);
line-height: 1.5;
font-size: 16px;
position: relative;
}
/* Animated background overlay */
body.skin-pivot::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(252, 231, 200, 0.03) 2px,
rgba(252, 231, 200, 0.03) 4px
);
pointer-events: none;
z-index: 1;
animation: scanlines 8s linear infinite;
}
@keyframes scanlines {
0% { transform: translateY(0); }
100% { transform: translateY(4px); }
}
/*─────────────────────────────────────────
3 · ENHANCED TRANSPARENT WRAPPERS
─────────────────────────────────────────*/
.skin-pivot #content,
.skin-pivot .mw-body,
.skin-pivot .mw-content-ltr,
.skin-pivot .mw-content-rtl {
background: transparent;
padding: var(--spacing-xl);
margin: 0;
position: relative;
z-index: 2;
}
/* Remove all default backgrounds */
.skin-pivot .off-canvas-wrap,
.skin-pivot .docs-wrap,
.skin-pivot .inner-wrap,
#page-base, .page-base,
#main-section.main-section,
#page-content,
.row, .columns,
#sidebar.large-2.medium-3.columns.hide-for-small.hide-for-print,
.exit-off-canvas {
background: transparent !important;
border: none !important;
overflow: visible !important;
}
footer, .footer, #footer, .mw-footer,
#mw-footer-container, #mw-footer,
#catlinks, .catlinks, .printfooter,
#mw-data-after-content {
background: transparent !important;
border: none !important;
color: var(--dune-gold) !important;
margin-top: var(--spacing-xxl);
}
/*─────────────────────────────────────────
4 · ENHANCED NAVIGATION
─────────────────────────────────────────*/
/* Main navbar with hexagonal design */
.skin-pivot .navbar {
background: linear-gradient(90deg,
var(--dune-darker) 0%,
rgba(10, 8, 16, 0.95) 50%,
var(--dune-darker) 100%
) !important;
border: none !important;
height: var(--nav-height);
display: flex;
align-items: center;
justify-content: center;
position: relative;
box-shadow: var(--shadow-medium);
overflow: hidden;
}
/* Hexagonal border effect */
.skin-pivot .navbar::before,
.skin-pivot .navbar::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: var(--border-medium);
background: linear-gradient(90deg,
transparent 0%,
var(--dune-gold) 10%,
var(--dune-gold-hover) 50%,
var(--dune-gold) 90%,
transparent 100%
);
animation: navGlow 3s ease-in-out infinite;
}
@keyframes navGlow {
0%, 100% { opacity: 0.6; }
50% { opacity: 1; }
}
/* Navbar links with enhanced styling */
.skin-pivot .navbar-nav {
display: flex;
justify-content: center;
width: 100%;
gap: var(--spacing-xs);
}
.skin-pivot .navbar-nav > li > a {
color: var(--dune-gold) !important;
font-family: var(--font-display);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 2px;
padding: 12px 24px;
margin: 0;
position: relative;
transition: all 0.3s ease;
overflow: hidden;
}
/* Hover effect with sliding background */
.skin-pivot .navbar-nav > li > a::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent 0%,
rgba(252, 231, 200, 0.1) 50%,
transparent 100%
);
transition: left 0.3s ease;
}
.skin-pivot .navbar-nav > li > a:hover {
color: var(--dune-gold-bright) !important;
text-shadow: 0 0 10px var(--dune-gold-glow);
}
.skin-pivot .navbar-nav > li > a:hover::before {
left: 100%;
}
.skin-pivot .navbar-nav > li.active > a {
color: var(--dune-gold-bright) !important;
background: rgba(252, 231, 200, 0.1);
box-shadow:
inset 0 -3px 0 var(--dune-gold),
0 0 20px rgba(252, 231, 200, 0.2);
}
/* Mobile tab-bar enhancement */
nav.tab-bar.hide-for-print {
background: var(--dune-darker);
border-bottom: var(--border-medium) solid var(--dune-gold);
color: var(--dune-gold);
height: var(--nav-height);
display: flex;
align-items: center;
padding: 0 var(--spacing-md);
box-shadow: var(--shadow-medium);
}
/*─────────────────────────────────────────
5 · ENHANCED TYPOGRAPHY
─────────────────────────────────────────*/
/* Headings with game-style treatment */
.skin-pivot h1,
.skin-pivot h2,
.skin-pivot h3,
.skin-pivot h4,
.skin-pivot h5,
.skin-pivot h6 {
font-family: var(--font-display);
color: var(--dune-gold);
font-weight: 700;
text-transform: uppercase;
margin: 1.5em 0 0.75em 0;
position: relative;
letter-spacing: 1px;
}
.skin-pivot h1 {
font-size: var(--font-size-xxl);
background: linear-gradient(135deg, var(--dune-gold) 0%, var(--dune-gold-hover) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 30px var(--dune-gold-glow);
}
.skin-pivot h2 {
font-size: var(--font-size-xl);
color: var(--dune-gold);
padding-bottom: var(--spacing-sm);
border-bottom: 2px solid rgba(252, 231, 200, 0.3);
}
.skin-pivot h2::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 60px;
height: 2px;
background: var(--dune-gold);
box-shadow: 0 0 10px var(--dune-gold-glow);
}
/* Enhanced links */
.skin-pivot a {
color: var(--dune-gold);
font-weight: 500;
text-decoration: none;
transition: all 0.2s ease;
position: relative;
}
.skin-pivot a:hover {
color: var(--dune-gold-bright);
text-shadow: 0 0 5px var(--dune-gold-glow);
}
/* Content links with underline animation */
.mw-body-content a {
display: inline-block;
position: relative;
}
.mw-body-content a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 1px;
background: var(--dune-gold);
transition: width 0.3s ease;
}
.mw-body-content a:hover::after {
width: 100%;
}
/*─────────────────────────────────────────
6 · ENHANCED FORM ELEMENTS
─────────────────────────────────────────*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea,
select {
background: rgba(0, 0, 2, 0.8);
border: 2px solid rgba(252, 231, 200, 0.3);
color: var(--text-primary);
padding: var(--spacing-sm) var(--spacing-md);
font-family: var(--font-primary);
transition: all 0.3s ease;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
outline: none;
border-color: var(--dune-gold);
box-shadow: 0 0 10px var(--dune-gold-glow);
background: rgba(0, 0, 2, 0.9);
}
/* Enhanced buttons */
button,
.button,
input[type="submit"],
input[type="button"] {
background: linear-gradient(135deg, rgba(252, 231, 200, 0.2) 0%, rgba(252, 231, 200, 0.1) 100%);
border: 2px solid var(--dune-gold);
color: var(--dune-gold);
padding: var(--spacing-sm) var(--spacing-lg);
font-family: var(--font-display);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
button:hover,
.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
background: linear-gradient(135deg, rgba(252, 231, 200, 0.3) 0%, rgba(252, 231, 200, 0.2) 100%);
color: var(--dune-gold-bright);
box-shadow: 0 0 20px var(--dune-gold-glow);
transform: translateY(-2px);
}
/*─────────────────────────────────────────
7 · RESPONSIVE GRID SYSTEM
─────────────────────────────────────────*/
.responsive-container {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-lg);
align-items: stretch;
width: 100%;
margin: var(--spacing-lg) 0;
box-sizing: border-box;
}
.responsive-col {
display: flex;
flex-direction: column;
flex: 1 1 100%;
min-width: 320px;
}
@media (min-width: 768px) {
.responsive-col {
flex: 1 1 calc((100% - var(--spacing-lg)) / 2);
}
}
@media (min-width: 1024px) {
.responsive-col {
flex: 1 1 calc((100% - 2 * var(--spacing-lg)) / 3);
}
}
.responsive-col .skin-pivot {
display: flex;
flex-direction: column;
flex: 1 1 auto;
height: 100%;
}
/*─────────────────────────────────────────
8 · UTILITY CLASSES
─────────────────────────────────────────*/
/* Text utilities */
.text-gold { color: var(--dune-gold) !important; }
.text-bright { color: var(--dune-gold-bright) !important; }
.text-glow { text-shadow: 0 0 10px var(--dune-gold-glow); }
/* Background utilities */
.bg-dark { background: var(--dune-dark) !important; }
.bg-darker { background: var(--dune-darker) !important; }
.bg-panel { background: var(--dune-panel-bg-dark) !important; }
/* Border utilities */
.border-gold { border-color: var(--dune-gold) !important; }
.border-glow { box-shadow: 0 0 10px var(--dune-gold-glow) !important; }
/* Animation utilities */
.animate-pulse { animation: techPulse 2s ease-in-out infinite; }
.animate-glow { animation: borderGlow 3s ease-in-out infinite; }
.animate-slide { animation: slideGlow 3s ease-in-out infinite; }
/*─────────────────────────────────────────
9 · SCROLLBAR STYLING
─────────────────────────────────────────*/
::-webkit-scrollbar {
width: 12px;
background: rgba(0, 0, 2, 0.8);
}
::-webkit-scrollbar-track {
background: rgba(0, 0, 2, 0.8);
border: 1px solid rgba(252, 231, 200, 0.1);
}
::-webkit-scrollbar-thumb {
background: linear-gradient(180deg, var(--dune-gold-dark) 0%, var(--dune-gold-hover) 100%);
border: 1px solid var(--dune-gold);
border-radius: 2px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(180deg, var(--dune-gold-hover) 0%, var(--dune-gold) 100%);
}
/*─────────────────────────────────────────
10 · MEDIA QUERIES & RESPONSIVE ADJUSTMENTS
─────────────────────────────────────────*/
@media (max-width: 768px) {
:root {
--nav-height: 40px;
--spacing-lg: 16px;
--spacing-xl: 20px;
}
.skin-pivot h1 { font-size: var(--font-size-xl); }
.skin-pivot h2 { font-size: var(--font-size-lg); }
.skin-pivot .navbar-nav > li > a {
padding: 8px 16px;
font-size: var(--font-size-sm);
letter-spacing: 1px;
}
}