MediaWiki:Common.css
From W3BC0R3
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.
/* ============================================================
WEBCORE SKIN — Preview App Styles
MS Paint Sidebar × Dark Net × Y2K Neon
============================================================ */
/* ── Google Fonts fallback ── */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&family=Nunito:wght@400;600;700&display=swap');
/* ── CSS Variables (webcore palette) ── */
:root {
--wc-void: #0a0a1a;
--wc-navy: #0d0d2b;
--wc-deep: #12122a;
--wc-panel: #1a1a3a;
--wc-surface: #1e1e40;
--wc-cyan: #00e5ff;
--wc-cyan-dim: #00aabb;
--wc-cyan-glow: rgba(0, 229, 255, 0.30);
--wc-magenta: #ff00cc;
--wc-magenta-dim: #bb0099;
--wc-magenta-glow: rgba(255, 0, 204, 0.28);
--wc-lime: #39ff14;
--wc-lime-dim: #22cc00;
--wc-lime-glow: rgba(57, 255, 20, 0.28);
--wc-purple: #8b00ff;
--wc-purple-dim: #6600cc;
--wc-purple-glow: rgba(139, 0, 255, 0.30);
--wc-pixel-white: #e8e8f0;
--wc-pixel-gray: #888899;
--paint-bg: #c0c0c0;
--paint-light: #f0f0f0;
--paint-mid: #c0c0c0;
--paint-dark: #808080;
--paint-shadow: #404040;
--paint-text: #000000;
--paint-select: #000080;
--paint-select-txt: #ffffff;
--wc-glow-cyan: 0 0 8px rgba(0,229,255,0.8), 0 0 24px rgba(0,229,255,0.4);
--wc-glow-magenta: 0 0 8px rgba(255,0,204,0.8), 0 0 24px rgba(255,0,204,0.4);
--wc-glow-lime: 0 0 8px rgba(57,255,20,0.8), 0 0 24px rgba(57,255,20,0.4);
--wc-glow-purple: 0 0 8px rgba(139,0,255,0.8), 0 0 24px rgba(139,0,255,0.4);
--wc-pixel: 'Press Start 2P', monospace;
--wc-body: 'Fredoka', 'Nunito', Verdana, sans-serif;
--wc-mono: 'Courier New', monospace;
--wc-radius: 12px;
--wc-radius-sm: 8px;
--wc-radius-pill:999px;
}
/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }
body {
margin: 0;
padding: 0;
background-color: var(--wc-void);
background-image:
repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,229,255,0.012) 2px, rgba(0,229,255,0.012) 4px),
repeating-linear-gradient(90deg, transparent, transparent 32px, rgba(139,0,255,0.04) 32px, rgba(139,0,255,0.04) 33px),
repeating-linear-gradient(0deg, transparent, transparent 32px, rgba(139,0,255,0.04) 32px, rgba(139,0,255,0.04) 33px),
linear-gradient(180deg, #0a0a1a 0%, #0d0d2b 100%);
color: var(--wc-pixel-white);
font-family: var(--wc-body);
min-height: 100vh;
overflow-x: hidden;
}
/* ── App root ── */
.wc-app-root {
display: flex;
flex-direction: column;
min-height: 100vh;
position: relative;
}
/* ── Floating noise layer ── */
.wc-noise-layer {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 0;
background-image:
radial-gradient(circle 2px at 15% 20%, rgba(0,229,255,0.20) 0%, transparent 100%),
radial-gradient(circle 1px at 72% 8%, rgba(255,0,204,0.18) 0%, transparent 100%),
radial-gradient(circle 2px at 88% 35%, rgba(57,255,20,0.15) 0%, transparent 100%),
radial-gradient(circle 1px at 5% 65%, rgba(139,0,255,0.20) 0%, transparent 100%),
radial-gradient(circle 2px at 50% 90%, rgba(0,229,255,0.15) 0%, transparent 100%);
}
/* ══════════════════════════════════════════
TOP BAR — MS Paint menu bar
══════════════════════════════════════════ */
.wc-topbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 2px 6px;
background: linear-gradient(180deg, var(--paint-light) 0%, var(--paint-mid) 60%, var(--paint-dark) 100%);
border-bottom: 3px solid var(--wc-cyan);
box-shadow: 0 3px 20px rgba(0,229,255,0.4);
position: relative;
z-index: 100;
user-select: none;
}
.wc-topbar-title {
display: flex;
align-items: center;
gap: 8px;
font-family: var(--wc-pixel);
font-size: 7px;
color: var(--paint-text);
letter-spacing: 0.04em;
}
.wc-topbar-icon {
font-size: 14px;
}
.wc-topbar-version {
background: var(--paint-select);
color: white;
padding: 1px 5px;
font-size: 5px;
font-family: var(--wc-pixel);
letter-spacing: 0.06em;
box-shadow: 0 0 6px rgba(0,229,255,0.4);
}
.wc-topbar-menu {
display: flex;
gap: 2px;
}
.wc-menu-btn {
background: transparent;
border: none;
font-family: var(--wc-pixel);
font-size: 7px;
color: var(--paint-text);
padding: 4px 10px;
cursor: pointer;
transition: background 0.05s;
letter-spacing: 0.02em;
}
.wc-menu-btn:hover {
background: var(--paint-select);
color: white;
}
/* ══════════════════════════════════════════
TOOLBAR STRIP — MS Paint tools row
══════════════════════════════════════════ */
.wc-toolbar-strip {
display: flex;
align-items: center;
padding: 3px 6px;
gap: 4px;
background: var(--paint-mid);
border-bottom: 2px solid var(--paint-dark);
border-top: 1px solid var(--paint-light);
position: relative;
z-index: 99;
box-shadow: 0 2px 10px rgba(0,229,255,0.15);
}
.wc-toolbar-group {
display: flex;
gap: 2px;
}
.wc-tool-btn {
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid var(--paint-shadow);
width: 24px;
height: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 11px;
cursor: pointer;
transition: all 0.05s;
font-family: var(--wc-pixel);
color: var(--paint-text);
font-weight: bold;
}
.wc-tool-btn:hover {
background: var(--paint-light);
box-shadow: 0 0 6px rgba(0,229,255,0.4);
}
.wc-tool-btn:active {
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
background: var(--paint-mid);
}
.wc-toolbar-sep {
width: 2px;
height: 22px;
background: var(--paint-dark);
margin: 0 3px;
box-shadow: 1px 0 0 var(--paint-light);
}
.wc-tab-strip {
display: flex;
gap: 2px;
margin-left: 6px;
}
.wc-tab-btn {
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid transparent;
padding: 4px 12px;
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--paint-text);
cursor: pointer;
letter-spacing: 0.04em;
transition: all 0.05s;
white-space: nowrap;
}
.wc-tab-btn:hover:not(.wc-tab-active) {
background: var(--paint-light);
box-shadow: 0 0 6px rgba(0,229,255,0.3);
}
.wc-tab-active {
background: var(--paint-select) !important;
color: white !important;
border-top: 2px solid var(--paint-shadow) !important;
border-left: 2px solid var(--paint-shadow) !important;
border-right: 2px solid var(--paint-light) !important;
border-bottom:2px solid transparent !important;
box-shadow: 0 0 10px rgba(0,229,255,0.5) !important;
}
/* ── Status bar (under toolbar) ── */
.wc-statusbar {
display: flex;
align-items: center;
padding: 2px 6px;
background: var(--paint-mid);
border-bottom: 2px solid var(--paint-shadow);
border-top: 1px solid var(--paint-light);
gap: 0;
position: relative;
z-index: 98;
}
.wc-status-cell {
font-family: var(--wc-pixel);
font-size: 5.5px;
color: var(--paint-text);
padding: 2px 8px;
border-top: 1px solid var(--paint-shadow);
border-left: 1px solid var(--paint-shadow);
border-right: 1px solid var(--paint-light);
border-bottom:1px solid var(--paint-light);
letter-spacing: 0.04em;
}
.wc-status-sep {
width: 2px;
height: 16px;
background: var(--paint-dark);
margin: 0;
}
.wc-status-blink {
color: var(--wc-lime);
animation: wc-pixel-blink 1s step-end infinite;
}
/* ══════════════════════════════════════════
WORKSPACE LAYOUT
══════════════════════════════════════════ */
.wc-workspace {
display: flex;
flex: 1;
gap: 0;
position: relative;
z-index: 1;
min-height: 0;
}
/* ══════════════════════════════════════════
SIDEBAR — MS Paint tool panel
══════════════════════════════════════════ */
.wc-sidebar {
width: 220px;
min-width: 220px;
flex-shrink: 0;
background: var(--paint-mid);
border-top: 3px solid var(--paint-light);
border-left: 3px solid var(--paint-light);
border-right: 3px solid var(--paint-shadow);
border-bottom:3px solid var(--paint-shadow);
padding: 0;
display: flex;
flex-direction: column;
gap: 0;
overflow-y: auto;
position: relative;
box-shadow:
2px 0 0 var(--paint-shadow),
0 0 0 1px var(--wc-void),
4px 0 24px rgba(0,229,255,0.20),
0 0 50px rgba(0,229,255,0.08);
z-index: 10;
}
/* Windows title bar on sidebar */
.wc-sidebar::before {
content: '■ NAVIGATOR ─ ◻ ✕';
display: block;
background: linear-gradient(90deg, #000080 0%, #1084d0 60%, #000080 100%);
color: white;
font-family: 'Press Start 2P', monospace;
font-size: 5px;
padding: 4px 6px;
letter-spacing: 0.04em;
border-bottom: 2px solid var(--wc-cyan);
box-shadow: 0 2px 10px rgba(0,229,255,0.35);
position: sticky;
top: 0;
z-index: 5;
}
.wc-sidebar-logo {
display: flex;
align-items: center;
gap: 8px;
padding: 10px 8px 8px;
border-bottom: 1px solid var(--paint-dark);
border-top: 1px solid var(--paint-light);
background: var(--paint-light);
}
.wc-logo-pixel {
width: 32px;
height: 32px;
background: linear-gradient(135deg, #000080, #1084d0);
color: white;
font-family: var(--wc-pixel);
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid var(--paint-shadow);
box-shadow: 0 0 12px rgba(0,229,255,0.4);
flex-shrink: 0;
}
.wc-logo-wiki {
font-family: var(--wc-pixel);
font-size: 7px;
color: var(--paint-text);
letter-spacing: 0.06em;
text-transform: uppercase;
}
.wc-logo-sub {
font-family: var(--wc-pixel);
font-size: 5px;
color: var(--paint-shadow);
letter-spacing: 0.08em;
text-transform: uppercase;
margin-top: 2px;
}
/* Search panel */
.wc-search-panel {
padding: 6px 6px 8px;
border-bottom: 1px solid var(--paint-dark);
}
.wc-search-titlebar {
background: linear-gradient(90deg, #000080 0%, #1084d0 50%, #000080 100%);
color: white;
font-family: var(--wc-pixel);
font-size: 5.5px;
padding: 3px 6px;
letter-spacing: 0.06em;
margin-bottom: 5px;
box-shadow: 0 1px 0 var(--wc-cyan);
}
.wc-search-input {
width: 100%;
padding: 4px 6px;
background: white;
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
border-radius: 0;
font-family: var(--wc-pixel);
font-size: 6.5px;
color: var(--paint-text);
outline: none;
display: block;
box-sizing: border-box;
}
.wc-search-input:focus {
box-shadow: 0 0 0 2px rgba(0,229,255,0.5);
}
.wc-search-btn {
margin-top: 4px;
width: 100%;
padding: 4px;
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid var(--paint-shadow);
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--paint-text);
cursor: pointer;
letter-spacing: 0.06em;
transition: all 0.05s;
}
.wc-search-btn:hover {
background: var(--paint-light);
box-shadow: 0 0 8px rgba(0,229,255,0.4);
}
.wc-search-btn:active {
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
}
/* Portlet */
.wc-portlet {
border-bottom: 1px solid var(--paint-dark);
border-top: 1px solid var(--paint-light);
}
.wc-portlet-header {
background: linear-gradient(90deg, #000080 0%, #1084d0 50%, #000080 100%);
color: white;
font-family: var(--wc-pixel);
font-size: 5.5px;
padding: 4px 6px;
display: flex;
align-items: center;
gap: 5px;
letter-spacing: 0.06em;
text-transform: uppercase;
box-shadow: 0 1px 0 var(--wc-cyan), 0 0 10px rgba(0,229,255,0.25);
}
.wc-portlet-icon {
color: var(--wc-cyan);
font-size: 8px;
text-shadow: 0 0 6px var(--wc-cyan);
}
.wc-portlet-list {
list-style: none;
padding: 3px 4px;
margin: 0;
background: var(--paint-mid);
display: flex;
flex-direction: column;
gap: 2px;
}
.wc-nav-link {
display: flex;
align-items: center;
padding: 4px 8px;
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid var(--paint-shadow);
color: var(--paint-text);
font-family: var(--wc-pixel);
font-size: 6.5px;
text-decoration: none;
letter-spacing: 0.02em;
transition: all 0.05s;
}
.wc-nav-link:hover {
background: var(--paint-light);
box-shadow: 0 0 8px rgba(0,229,255,0.4);
color: var(--paint-text);
}
.wc-nav-link:active {
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
}
/* Paint palette */
.wc-paint-palette {
padding: 6px;
border-top: 1px solid var(--paint-light);
border-bottom: 1px solid var(--paint-dark);
background: var(--paint-mid);
}
.wc-palette-title {
font-family: var(--wc-pixel);
font-size: 5.5px;
color: var(--paint-shadow);
letter-spacing: 0.08em;
margin-bottom: 5px;
text-transform: uppercase;
}
.wc-palette-swatches {
display: grid;
grid-template-columns: repeat(8, 1fr);
gap: 2px;
}
.wc-swatch {
width: 100%;
aspect-ratio: 1;
border-top: 1px solid rgba(255,255,255,0.6);
border-left: 1px solid rgba(255,255,255,0.6);
border-right: 1px solid rgba(0,0,0,0.4);
border-bottom:1px solid rgba(0,0,0,0.4);
cursor: crosshair;
transition: transform 0.05s;
}
.wc-swatch:hover {
transform: scale(1.3);
z-index: 1;
position: relative;
box-shadow: 0 0 8px rgba(0,229,255,0.6);
}
/* Hit counter */
.wc-hit-counter {
padding: 6px;
background: var(--paint-mid);
border-top: 1px solid var(--paint-light);
border-bottom: 1px solid var(--paint-dark);
}
.wc-hc-label {
font-family: var(--wc-pixel);
font-size: 5.5px;
color: var(--paint-shadow);
letter-spacing: 0.08em;
margin-bottom: 4px;
text-transform: uppercase;
}
.wc-hc-digits {
display: flex;
gap: 2px;
}
.wc-hc-digit {
background: #111;
color: var(--wc-lime);
font-family: var(--wc-pixel);
font-size: 12px;
width: 20px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #333;
border-top: 1px solid var(--paint-shadow);
border-left: 1px solid var(--paint-shadow);
text-shadow: 0 0 6px var(--wc-lime);
box-shadow: inset 0 0 4px rgba(0,0,0,0.8);
}
/* 88x31 buttons */
.wc-btn88-row {
padding: 6px;
display: flex;
flex-wrap: wrap;
gap: 3px;
background: var(--paint-mid);
border-top: 1px solid var(--paint-light);
}
.wc-btn88 {
width: 88px;
height: 31px;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--wc-pixel);
font-size: 5.5px;
letter-spacing: 0.06em;
border: 2px solid;
cursor: pointer;
text-transform: uppercase;
background: var(--wc-void);
transition: all 0.1s;
}
.wc-btn88:hover {
background: rgba(0,229,255,0.08);
box-shadow: 0 0 10px currentColor;
}
/* ══════════════════════════════════════════
MAIN CONTENT AREA
══════════════════════════════════════════ */
.wc-main {
flex: 1;
padding: 0;
overflow-y: auto;
overflow-x: hidden;
background: transparent;
position: relative;
min-width: 0;
}
/* ══════════════════════════════════════════
PREVIEW TAB
══════════════════════════════════════════ */
.wc-preview {
padding: 20px 24px;
max-width: 100%;
}
.wc-page-title-bar {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1rem;
padding-bottom: 8px;
border-bottom: 2px solid var(--paint-dark);
}
.wc-page-title {
font-family: 'LEMON MILK', 'Fredoka', var(--wc-body);
font-size: 1.8rem;
color: var(--wc-cyan);
margin: 0;
text-shadow:
0 0 10px rgba(0,229,255,0.9),
0 0 30px rgba(0,229,255,0.4),
2px 2px 0 var(--wc-purple);
letter-spacing: 0.03em;
}
.wc-page-actions {
display: flex;
gap: 2px;
flex-shrink: 0;
}
.wc-action-tab {
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid transparent;
padding: 4px 12px;
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--paint-text);
cursor: pointer;
letter-spacing: 0.04em;
transition: all 0.05s;
}
.wc-action-tab:hover {
background: var(--paint-light);
box-shadow: 0 0 6px rgba(0,229,255,0.3);
}
.wc-action-tab:first-child {
background: var(--paint-select);
color: white;
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
}
.wc-page-content {
max-width: 900px;
}
.wc-lead {
font-size: 1rem;
line-height: 1.7;
color: var(--wc-pixel-white);
margin-bottom: 1rem;
}
a {
color: var(--wc-cyan);
text-decoration-color: rgba(0,229,255,0.35);
transition: color 0.15s, text-shadow 0.15s;
}
a:hover {
color: var(--wc-cyan);
text-shadow: var(--wc-glow-cyan);
}
.wc-link-new { color: var(--wc-magenta); }
.wc-section { margin: 1.5rem 0; }
.wc-section h2 {
font-family: 'LEMON MILK', 'Fredoka', var(--wc-body);
color: var(--wc-cyan);
font-size: 1.35rem;
margin-top: 0;
margin-bottom: 0.75rem;
padding-bottom: 6px;
position: relative;
text-shadow: 0 0 10px rgba(0,229,255,0.7), 0 0 30px rgba(0,229,255,0.25);
letter-spacing: 0.03em;
}
.wc-section h2::after {
content: '';
display: block;
position: absolute;
bottom: -1px; left: 0; right: 0;
height: 2px;
background: linear-gradient(90deg, var(--wc-magenta), var(--wc-cyan), var(--wc-lime), var(--wc-purple));
box-shadow: 0 0 8px rgba(0,229,255,0.4);
}
.wc-section h3 {
color: var(--wc-magenta);
font-size: 1.1rem;
margin-bottom: 0.5rem;
text-shadow: 0 0 8px rgba(255,0,204,0.5);
}
.wc-section p {
color: var(--wc-pixel-white);
line-height: 1.7;
margin-bottom: 0.8rem;
}
.wc-list {
list-style: none;
padding: 0;
margin: 0.5rem 0 1rem;
}
.wc-list li {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 0;
color: var(--wc-pixel-white);
}
.wc-list-bullet {
color: var(--wc-cyan);
text-shadow: 0 0 6px var(--wc-cyan);
flex-shrink: 0;
}
/* Notice box */
.wc-notice-box {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 14px;
background: rgba(255,140,0,0.08);
border: 2px solid #ff8c00;
border-left: 4px solid #ff8c00;
border-radius: 4px;
color: #ffb347;
font-family: var(--wc-pixel);
font-size: 7px;
margin-bottom: 1rem;
box-shadow: 0 0 12px rgba(255,140,0,0.25);
letter-spacing: 0.02em;
line-height: 1.8;
}
.wc-notice-icon {
font-size: 16px;
flex-shrink: 0;
}
/* Quote block */
.wc-quote-block {
border-left: 4px solid var(--wc-purple);
padding: 12px 18px 12px 20px;
background: rgba(139,0,255,0.06);
border-radius: 0 4px 4px 0;
font-style: italic;
color: var(--wc-pixel-white);
margin: 1rem 0;
position: relative;
box-shadow: 0 0 14px var(--wc-purple-glow);
}
.wc-quote-block::before {
content: '"';
position: absolute;
left: 6px; top: 2px;
font-size: 2.5em;
color: var(--wc-purple);
opacity: 0.5;
line-height: 1;
font-family: Georgia, serif;
text-shadow: 0 0 10px var(--wc-purple);
}
.wc-quote-block footer {
margin-top: 6px;
font-size: 0.8em;
color: var(--wc-pixel-gray);
font-style: normal;
font-family: var(--wc-pixel);
font-size: 6px;
letter-spacing: 0.04em;
}
/* Code block */
.wc-code-block {
background: var(--wc-void);
border: 2px solid var(--wc-lime-dim);
border-radius: 4px;
margin: 1rem 0;
overflow: hidden;
box-shadow: 0 0 14px var(--wc-lime-glow);
}
.wc-code-header {
background: rgba(57,255,20,0.10);
border-bottom: 1px solid var(--wc-lime-dim);
padding: 5px 12px;
display: flex;
justify-content: space-between;
align-items: center;
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--wc-lime);
letter-spacing: 0.06em;
}
.wc-code-badge {
background: var(--wc-lime-dim);
color: var(--wc-void);
padding: 1px 6px;
font-size: 5px;
border-radius: 2px;
}
.wc-code-content {
padding: 14px 16px;
margin: 0;
font-family: var(--wc-mono);
font-size: 0.8rem;
color: var(--wc-lime);
line-height: 1.6;
overflow-x: auto;
background: transparent;
border: none;
text-shadow: 0 0 4px rgba(57,255,20,0.3);
}
/* Tags */
.wc-tag {
display: inline-block;
padding: 3px 10px;
border-radius: 999px;
font-family: var(--wc-pixel);
font-size: 6px;
letter-spacing: 0.06em;
text-transform: uppercase;
border: 1.5px solid currentColor;
margin: 2px 3px;
}
.wc-tag-cyan { color: var(--wc-cyan); background: rgba(0,229,255,0.12); box-shadow: 0 0 8px rgba(0,229,255,0.25); }
.wc-tag-magenta { color: var(--wc-magenta); background: rgba(255,0,204,0.12); box-shadow: 0 0 8px rgba(255,0,204,0.22); }
.wc-tag-lime { color: var(--wc-lime); background: rgba(57,255,20,0.10); box-shadow: 0 0 8px rgba(57,255,20,0.22); }
.wc-tag-purple { color: var(--wc-purple); background: rgba(139,0,255,0.12); box-shadow: 0 0 8px rgba(139,0,255,0.22); }
.wc-tag-pink { color: #ff69b4; background: rgba(255,105,180,0.12); box-shadow: 0 0 8px rgba(255,105,180,0.20); }
.wc-tag-white { color: var(--wc-pixel-white); background: rgba(232,232,240,0.10); }
/* Category links */
.wc-catlinks {
margin-top: 2rem;
padding: 10px 14px;
background: rgba(13,13,43,0.90);
border: 2px solid var(--wc-purple);
border-radius: 4px;
box-shadow: 0 0 14px var(--wc-purple-glow);
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
}
.wc-cat-label {
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--wc-pixel-gray);
letter-spacing: 0.06em;
margin-right: 4px;
text-transform: uppercase;
}
.wc-cat-link {
display: inline-block;
padding: 3px 10px;
border-radius: 999px;
background: rgba(139,0,255,0.15);
border: 1.5px solid var(--wc-purple);
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--wc-pixel-white);
text-decoration: none;
letter-spacing: 0.04em;
text-transform: uppercase;
transition: all 0.15s;
}
.wc-cat-link:hover {
background: rgba(0,229,255,0.20);
border-color: var(--wc-cyan);
color: var(--wc-cyan);
box-shadow: 0 0 10px var(--wc-cyan-glow);
text-shadow: 0 0 6px var(--wc-cyan);
transform: translateY(-1px);
}
/* ══════════════════════════════════════════
TABLE OF CONTENTS — Paint Window
══════════════════════════════════════════ */
#toc, .toc {
background: var(--paint-mid) !important;
border-top: 2px solid var(--paint-light) !important;
border-left: 2px solid var(--paint-light) !important;
border-right: 2px solid var(--paint-shadow) !important;
border-bottom:2px solid var(--paint-shadow) !important;
padding: 0 !important;
display: inline-block;
min-width: 200px;
margin: 1rem 0;
box-shadow: 1px 1px 0 var(--paint-shadow), 0 0 18px rgba(0,229,255,0.28) !important;
}
.toctitle {
background: linear-gradient(90deg, #000080 0%, #1084d0 50%, #000080 100%);
padding: 0;
margin: 0;
border-bottom: 2px solid var(--wc-cyan);
box-shadow: 0 2px 8px rgba(0,229,255,0.3);
}
.toctitle h2 {
color: white !important;
font-family: var(--wc-pixel) !important;
font-size: 7px !important;
letter-spacing: 0.04em !important;
padding: 5px 8px !important;
margin: 0 !important;
border: none !important;
text-shadow: none !important;
}
.toctitle h2::after { display: none !important; }
#toc ul, .toc ul {
list-style: none !important;
padding: 6px 10px !important;
margin: 0 !important;
}
#toc li, .toc li { margin: 3px 0 !important; }
#toc a, .toc a {
color: var(--paint-text) !important;
font-family: var(--wc-pixel) !important;
font-size: 6.5px !important;
text-decoration: underline;
letter-spacing: 0.02em;
font-weight: normal !important;
}
#toc a:hover, .toc a:hover {
background: var(--paint-select) !important;
color: white !important;
text-shadow: none !important;
display: inline-block;
padding: 0 2px;
text-decoration: none;
box-shadow: none !important;
}
.tocnumber {
font-family: var(--wc-pixel) !important;
font-size: 5.5px !important;
color: var(--paint-shadow) !important;
margin-right: 5px;
}
/* ══════════════════════════════════════════
WIKITABLE
══════════════════════════════════════════ */
.wikitable {
background: rgba(13,13,43,0.92) !important;
border: 2px solid var(--wc-cyan) !important;
border-radius: 4px !important;
border-collapse: separate !important;
border-spacing: 0 !important;
overflow: hidden;
box-shadow: 0 0 16px var(--wc-cyan-glow) !important;
margin: 1rem 0;
width: 100%;
}
.wikitable caption {
font-family: var(--wc-pixel);
font-size: 7px;
color: var(--wc-cyan);
text-shadow: 0 0 8px var(--wc-cyan);
padding: 6px;
background: rgba(0,229,255,0.06);
border-bottom: 1px solid rgba(0,229,255,0.2);
letter-spacing: 0.06em;
text-transform: uppercase;
}
.wikitable th {
background: linear-gradient(90deg, rgba(0,229,255,0.18), rgba(139,0,255,0.12)) !important;
color: var(--wc-cyan) !important;
font-family: var(--wc-pixel) !important;
font-size: 6px !important;
padding: 9px 12px !important;
border-bottom: 2px solid var(--wc-cyan) !important;
border-right: 1px solid rgba(0,229,255,0.15) !important;
text-transform: uppercase;
letter-spacing: 0.08em !important;
text-shadow: 0 0 8px var(--wc-cyan);
}
.wikitable td {
color: var(--wc-pixel-white) !important;
padding: 8px 12px !important;
border-bottom: 1px solid rgba(0,229,255,0.08) !important;
border-right: 1px solid rgba(0,229,255,0.06) !important;
font-size: 0.9em;
background: transparent !important;
}
.wikitable tr:hover td {
background: rgba(0,229,255,0.04) !important;
}
.wc-plusminus-pos {
color: var(--wc-lime);
text-shadow: 0 0 6px var(--wc-lime);
}
.wc-plusminus-neg {
color: var(--wc-magenta);
text-shadow: 0 0 6px var(--wc-magenta);
}
.wc-plusminus-null {
color: var(--wc-pixel-gray);
opacity: 0.7;
}
/* ══════════════════════════════════════════
INFOBOX (Portable, preview)
══════════════════════════════════════════ */
.wc-infobox {
float: right;
margin-left: 1rem;
margin-bottom: 1rem;
width: 220px;
}
.pi-border-color {
border: 3px solid var(--wc-cyan);
border-radius: 4px;
overflow: hidden;
background: rgba(13,13,43,0.95);
box-shadow:
0 0 0 1px var(--wc-void),
0 0 20px var(--wc-cyan-glow),
0 0 40px rgba(0,229,255,0.12);
}
.wc-infobox-title.pi-title {
background: linear-gradient(90deg, #000080 0%, #1084d0 40%, #000080 100%);
color: white;
font-family: var(--wc-pixel);
font-size: 7px;
padding: 8px 10px;
letter-spacing: 0.05em;
text-transform: uppercase;
border-bottom: 2px solid var(--wc-cyan);
box-shadow: 0 2px 0 var(--wc-cyan), 0 0 20px rgba(0,229,255,0.4);
}
.wc-infobox-image.pi-image {
background:
repeating-linear-gradient(
-45deg,
rgba(0,229,255,0.06) 0px,
rgba(0,229,255,0.06) 4px,
transparent 4px,
transparent 12px
);
background-color: var(--wc-void);
display: flex;
align-items: center;
justify-content: center;
height: 80px;
border-bottom: 1px solid rgba(0,229,255,0.2);
}
.wc-infobox-img-placeholder {
font-size: 36px;
opacity: 0.7;
text-align: center;
}
.wc-infobox-section.pi-header {
background: linear-gradient(90deg, rgba(255,0,204,0.12), rgba(255,0,204,0.06));
border-top: 2px solid var(--wc-magenta);
border-bottom: 2px solid var(--wc-magenta);
color: var(--wc-magenta);
font-family: var(--wc-pixel);
font-size: 6px;
padding: 5px 8px;
text-transform: uppercase;
letter-spacing: 0.09em;
text-shadow: 0 0 8px var(--wc-magenta);
}
.wc-infobox-table {
width: 100%;
border-collapse: collapse;
}
.wc-infobox-table th {
background: rgba(0,229,255,0.06);
color: var(--wc-cyan);
font-family: var(--wc-pixel);
font-size: 6px;
padding: 6px 8px;
text-align: left;
letter-spacing: 0.06em;
text-transform: uppercase;
border-bottom: 1px solid rgba(0,229,255,0.10);
border-right: 1px solid rgba(0,229,255,0.10);
width: 42%;
}
.wc-infobox-table td {
color: var(--wc-pixel-white);
padding: 6px 8px;
font-size: 0.85em;
border-bottom: 1px solid rgba(0,229,255,0.06);
font-family: var(--wc-body);
}
/* ══════════════════════════════════════════
INFOBOX TAB — showcase
══════════════════════════════════════════ */
.wc-infobox-showcase {
display: flex;
gap: 2rem;
flex-wrap: wrap;
align-items: flex-start;
}
.wc-classic-infobox-demo {
min-width: 200px;
}
.wc-classic-infobox {
border: 2px solid var(--wc-cyan) !important;
background: rgba(13,13,43,0.92) !important;
border-radius: 4px !important;
overflow: hidden;
box-shadow: 0 0 20px var(--wc-cyan-glow) !important;
border-collapse: separate !important;
border-spacing: 0 !important;
min-width: 200px;
}
.wc-classic-infobox caption {
background: linear-gradient(90deg, #000080 0%, #1084d0 50%, #000080 100%);
color: white !important;
font-family: var(--wc-pixel) !important;
font-size: 7px !important;
padding: 7px 10px !important;
letter-spacing: 0.06em;
border-bottom: 2px solid var(--wc-cyan);
text-shadow: 0 0 6px rgba(0,229,255,0.8);
display: table-caption;
text-align: center;
}
.wc-classic-infobox th {
background: rgba(0,229,255,0.08) !important;
color: var(--wc-cyan) !important;
font-family: var(--wc-pixel) !important;
font-size: 6px !important;
padding: 7px 10px !important;
text-transform: uppercase;
letter-spacing: 0.07em;
border-bottom: 1px solid rgba(0,229,255,0.15) !important;
border-right: 1px solid rgba(0,229,255,0.10) !important;
text-align: left;
}
.wc-classic-infobox td {
color: var(--wc-pixel-white) !important;
padding: 7px 10px !important;
border-bottom: 1px solid rgba(0,229,255,0.08) !important;
font-size: 0.85em;
font-family: var(--wc-body);
}
.wc-ib-img-cell {
text-align: center;
border-bottom: 1px solid rgba(0,229,255,0.15) !important;
}
.wc-ib-img-placeholder {
font-size: 36px;
padding: 14px;
background: var(--wc-void);
display: block;
}
/* Portrait rings */
.wc-ring-showcase {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
margin: 1rem 0;
}
.wc-ring-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}
.portrait-ring {
padding: 4px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}
.wc-ring-img-placeholder {
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--wc-void);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
border: 2px solid rgba(0,229,255,0.2);
}
.wc-ring-label {
font-family: var(--wc-pixel);
font-size: 5px;
color: var(--wc-pixel-gray);
letter-spacing: 0.06em;
text-transform: uppercase;
text-align: center;
}
/* Portrait ring classes */
.pb-webcore-cyan { background: conic-gradient(#00e5ff, #0d0d2b, #00e5ff); animation: pb-neon-spin 3s linear infinite; }
.pb-webcore-magenta { background: conic-gradient(#ff00cc, #0a0a1a, #ff00cc); animation: pb-neon-spin 4s linear infinite; }
.pb-webcore-void { background: conic-gradient(#8b00ff, #00e5ff, #ff00cc, #39ff14, #8b00ff); animation: pb-neon-spin 5s linear infinite; }
.pb-rainbow { background: conic-gradient(#ff0000, #ff8800, #ffff00, #00cc44, #0088ff, #8800ff, #ff00cc, #ff0000); animation: pb-neon-spin 3s linear infinite; }
.pb-purple { background: linear-gradient(135deg, #1a0033 0%, #9933ff 22%, #6600bb 44%, #cc99ff 66%, #2a0055 88%, #9933ff 100%); }
.pb-cyan { background: linear-gradient(135deg, #003344 0%, #00B5AD 22%, #007A75 44%, #7FDBD7 66%, #002233 88%, #00B5AD 100%); }
.pb-blue { background: linear-gradient(135deg, #000066 0%, #4488ff 22%, #1133cc 44%, #99bbff 66%, #000088 88%, #4488ff 100%); }
.pb-green { background: linear-gradient(135deg, #004422 0%, #5BAF8A 22%, #00882a 44%, #A8D8C0 66%, #004410 88%, #5BAF8A 100%); }
@keyframes pb-neon-spin {
0% { filter: hue-rotate(0deg) brightness(1.3) saturate(1.6); }
100% { filter: hue-rotate(360deg) brightness(1.3) saturate(1.6); }
}
/* ══════════════════════════════════════════
UTILITIES TAB
══════════════════════════════════════════ */
.wc-glass-box {
background: rgba(13,13,43,0.88);
border: 2px solid var(--wc-cyan);
border-radius: 12px;
box-shadow: 0 0 20px var(--wc-cyan-glow), inset 0 0 30px rgba(0,0,0,0.4);
padding: 16px 20px;
margin: 8px 0;
color: var(--wc-pixel-white);
}
.wc-paint-box {
background: var(--paint-mid);
border-top: 3px solid var(--paint-light);
border-left: 3px solid var(--paint-light);
border-right: 3px solid var(--paint-shadow);
border-bottom:3px solid var(--paint-shadow);
padding: 14px 18px;
margin: 8px 0;
color: var(--paint-text);
box-shadow: 1px 1px 0 var(--paint-shadow), 0 0 20px rgba(0,229,255,0.15);
position: relative;
}
.wc-cyber-box {
background: rgba(0,13,26,0.92);
border: 2px solid var(--wc-cyan);
border-radius: 4px;
padding: 14px 18px;
margin: 8px 0;
box-shadow: 0 0 8px var(--wc-cyan), 0 0 30px var(--wc-cyan-glow);
color: var(--wc-pixel-white);
position: relative;
overflow: hidden;
}
.wc-cyber-box::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--wc-cyan), transparent);
animation: wc-scan-line 3s linear infinite;
}
@keyframes wc-scan-line {
0% { top: 0; opacity: 1; }
100% { top: 100%; opacity: 0; }
}
.wc-magenta-box {
background: rgba(26,0,20,0.90);
border: 2px solid var(--wc-magenta);
border-radius: 4px;
padding: 14px 18px;
margin: 8px 0;
box-shadow: 0 0 20px var(--wc-magenta-glow);
color: var(--wc-pixel-white);
}
.wc-data-box {
background: rgba(0,10,0,0.90);
border: 2px solid var(--wc-lime);
border-radius: 4px;
padding: 14px 18px;
margin: 8px 0;
box-shadow: 0 0 16px var(--wc-lime-glow);
color: var(--wc-lime);
font-family: var(--wc-mono);
}
.wc-construction {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 12px;
background: repeating-linear-gradient(
-45deg,
rgba(255,140,0,0.10),
rgba(255,140,0,0.10) 8px,
rgba(0,0,0,0.04) 8px,
rgba(0,0,0,0.04) 16px
);
border: 2px dashed #ff8c00;
border-left: 4px solid #ff8c00;
border-radius: 4px;
font-family: var(--wc-pixel);
font-size: 7px;
color: #ffb347;
margin: 8px 0;
box-shadow: 0 0 10px rgba(255,140,0,0.20);
}
.wc-quote {
border-left: 4px solid var(--wc-purple);
padding: 12px 18px 12px 20px;
background: rgba(139,0,255,0.06);
border-radius: 0 4px 4px 0;
font-style: italic;
color: var(--wc-pixel-white);
margin: 8px 0;
position: relative;
box-shadow: 0 0 12px var(--wc-purple-glow);
}
.wc-quote::before {
content: '"';
position: absolute;
left: 6px; top: 2px;
font-size: 2.5em;
color: var(--wc-purple);
opacity: 0.5;
line-height: 1;
font-family: Georgia, serif;
text-shadow: 0 0 10px var(--wc-purple);
}
.wc-info-tile {
display: inline-block;
padding: 8px 12px;
background: white;
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
margin: 4px;
vertical-align: top;
box-shadow: 0 0 12px rgba(0,229,255,0.15);
}
.wc-info-label {
font-family: var(--wc-pixel);
font-size: 5px;
color: var(--paint-shadow);
text-transform: uppercase;
letter-spacing: 0.08em;
display: block;
margin-bottom: 4px;
}
.wc-info-value {
font-weight: 700;
font-size: 0.95em;
color: var(--paint-text);
display: block;
font-family: var(--wc-body);
}
.wc-pixel-label {
font-family: var(--wc-pixel);
font-size: 6px;
color: var(--wc-cyan);
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 2.2;
text-shadow: 0 0 6px var(--wc-cyan);
}
.wc-scroll-demo {
background: rgba(13,13,43,0.90);
border: 2px solid var(--wc-cyan);
border-radius: 4px;
padding: 14px 18px;
max-height: 160px;
overflow-y: scroll;
box-shadow: 0 0 14px var(--wc-cyan-glow);
}
.wc-scroll-demo p { margin: 0.3rem 0; }
/* Scrollbars */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track {
background: var(--wc-void);
border-left: 1px solid rgba(0,229,255,0.08);
}
::-webkit-scrollbar-thumb {
background: linear-gradient(180deg, var(--wc-cyan), var(--wc-purple));
border: 1px solid var(--wc-void);
box-shadow: 0 0 6px var(--wc-cyan-glow);
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(180deg, var(--wc-magenta), var(--wc-cyan));
box-shadow: 0 0 10px var(--wc-magenta-glow);
}
/* ══════════════════════════════════════════
CSS OUTPUT TAB
══════════════════════════════════════════ */
.wc-css-display {
display: flex;
flex-direction: column;
height: calc(100vh - 130px);
}
.wc-css-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 12px;
background: linear-gradient(90deg, #000080 0%, #1084d0 50%, #000080 100%);
color: white;
font-family: var(--wc-pixel);
font-size: 6.5px;
letter-spacing: 0.04em;
border-bottom: 2px solid var(--wc-cyan);
box-shadow: 0 2px 10px rgba(0,229,255,0.3);
}
.wc-copy-btn {
background: var(--paint-mid);
border-top: 2px solid var(--paint-light);
border-left: 2px solid var(--paint-light);
border-right: 2px solid var(--paint-shadow);
border-bottom:2px solid var(--paint-shadow);
font-family: var(--wc-pixel);
font-size: 5.5px;
color: var(--paint-text);
padding: 3px 8px;
cursor: pointer;
letter-spacing: 0.04em;
transition: all 0.05s;
}
.wc-copy-btn:hover {
background: var(--paint-light);
box-shadow: 0 0 8px rgba(0,229,255,0.4);
}
.wc-copy-btn:active {
border-top: 2px solid var(--paint-shadow);
border-left: 2px solid var(--paint-shadow);
border-right: 2px solid var(--paint-light);
border-bottom:2px solid var(--paint-light);
}
.wc-css-pre {
flex: 1;
margin: 0;
padding: 16px 20px;
background: var(--wc-void);
color: var(--wc-lime);
font-family: var(--wc-mono);
font-size: 0.72rem;
line-height: 1.6;
overflow: auto;
border: none;
white-space: pre;
box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.wc-css-pre code {
font-family: inherit;
color: inherit;
background: transparent;
border: none;
font-size: inherit;
box-shadow: none;
display: block;
}
/* ══════════════════════════════════════════
BOTTOM BAR
══════════════════════════════════════════ */
.wc-bottombar {
display: flex;
align-items: center;
gap: 0;
padding: 2px 6px;
background: var(--paint-mid);
border-top: 2px solid var(--paint-shadow);
font-family: var(--wc-pixel);
font-size: 5.5px;
color: var(--paint-text);
letter-spacing: 0.04em;
user-select: none;
position: sticky;
bottom: 0;
z-index: 99;
box-shadow: 0 -2px 10px rgba(0,229,255,0.15);
}
.wc-bottombar span {
padding: 2px 8px;
border-top: 1px solid var(--paint-shadow);
border-left: 1px solid var(--paint-shadow);
border-right: 1px solid var(--paint-light);
border-bottom:1px solid var(--paint-light);
}
/* ══════════════════════════════════════════
ANIMATION CLASSES (utility demos)
══════════════════════════════════════════ */
@keyframes wc-neon-flicker {
0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
text-shadow: 0 0 5px var(--wc-cyan), 0 0 15px var(--wc-cyan), 0 0 40px rgba(0,229,255,0.5);
box-shadow: 0 0 5px rgba(0,229,255,0.4);
}
20%, 24%, 55% {
text-shadow: none;
box-shadow: none;
}
}
@keyframes wc-pixel-blink {
0%, 49% { opacity: 1; }
50%, 100% { opacity: 0; }
}
@keyframes wc-border-pulse {
0%, 100% { box-shadow: 0 0 6px rgba(0,229,255,0.28); }
50% { box-shadow: 0 0 20px rgba(0,229,255,0.28), 0 0 40px rgba(0,229,255,0.15); }
}
.wc-animate-flicker { animation: wc-neon-flicker 5s infinite; }
.wc-animate-blink { animation: wc-pixel-blink 1s step-end infinite; }
.wc-animate-pulse { animation: wc-border-pulse 2s ease-in-out infinite; }
/* ══════════════════════════════════════════
SELECTION
══════════════════════════════════════════ */
::selection {
background: rgba(0,229,255,0.30) !important;
color: white !important;
}