12 CSS Neon Designs 08 / 12
Neon Cyberpunk Palette
A complete design-token showcase for a pink/blue cyberpunk palette — five glowing swatch chips, three italic display headlines, three button variants, and an animated gradient-border card showing the actual CSS custom-property variable list inside.
Best fordesign system showcases, cyberpunk style guides, branding pages, dev-portfolio palette demos.
The code
<section class="nn-pal" aria-label="Neon cyberpunk palette demo">
<div class="stage">
<div class="swatch-row">
<div class="swatch">
<div class="swatch-chip chip-cyan" aria-hidden="true"></div>
<div class="swatch-hex">#00DBDE</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-pink" aria-hidden="true"></div>
<div class="swatch-hex">#FC00FF</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-blue" aria-hidden="true"></div>
<div class="swatch-hex">#0057FF</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-violet" aria-hidden="true"></div>
<div class="swatch-hex">#8B00FF</div>
</div>
<div class="swatch swatch-wide">
<div class="swatch-chip chip-dual" aria-hidden="true"></div>
<div class="swatch-hex">Cyberpunk Gradient</div>
</div>
</div>
<div class="text-block">
<div class="headline-cyan">ELECTRIC</div>
<div class="headline-pink">VOLTAGE</div>
<div class="headline-dual">CYBERPUNK</div>
</div>
<div class="btn-group">
<button class="gbtn gbtn-cyan" type="button">◈ Connect Cyan</button>
<button class="gbtn gbtn-pink" type="button">◈ Engage Pink</button>
<button class="gbtn gbtn-dual" type="button">◈ Dual Tone CTA</button>
</div>
<div class="card-dual">
<div class="card-label">CSS Custom Properties — Cyberpunk Palette</div>
<div class="card-dual-inner">
<div class="token-list">
<div><span class="var-name">--neon-cyan</span>: <span class="var-val">#00dbde</span>; <span class="var-comment">/* electric teal */</span></div>
<div><span class="var-name">--neon-pink</span>: <span class="var-val">#fc00ff</span>; <span class="var-comment">/* hot magenta */</span></div>
<div><span class="var-name">--neon-blue</span>: <span class="var-val">#0057ff</span>; <span class="var-comment">/* deep electric */</span></div>
<div><span class="var-name">--neon-violet</span>: <span class="var-val">#8b00ff</span>; <span class="var-comment">/* mid spectrum */</span></div>
<div><span class="var-name">--glow-cyan</span>: <span class="var-val">0 0 6px #fff, 0 0 14px var(--neon-cyan)...</span></div>
<div><span class="var-name">--glow-pink</span>: <span class="var-val">0 0 6px #fff, 0 0 14px var(--neon-pink)...</span></div>
</div>
</div>
</div>
</div>
</section> <section class="nn-pal" aria-label="Neon cyberpunk palette demo">
<div class="stage">
<div class="swatch-row">
<div class="swatch">
<div class="swatch-chip chip-cyan" aria-hidden="true"></div>
<div class="swatch-hex">#00DBDE</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-pink" aria-hidden="true"></div>
<div class="swatch-hex">#FC00FF</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-blue" aria-hidden="true"></div>
<div class="swatch-hex">#0057FF</div>
</div>
<div class="swatch">
<div class="swatch-chip chip-violet" aria-hidden="true"></div>
<div class="swatch-hex">#8B00FF</div>
</div>
<div class="swatch swatch-wide">
<div class="swatch-chip chip-dual" aria-hidden="true"></div>
<div class="swatch-hex">Cyberpunk Gradient</div>
</div>
</div>
<div class="text-block">
<div class="headline-cyan">ELECTRIC</div>
<div class="headline-pink">VOLTAGE</div>
<div class="headline-dual">CYBERPUNK</div>
</div>
<div class="btn-group">
<button class="gbtn gbtn-cyan" type="button">◈ Connect Cyan</button>
<button class="gbtn gbtn-pink" type="button">◈ Engage Pink</button>
<button class="gbtn gbtn-dual" type="button">◈ Dual Tone CTA</button>
</div>
<div class="card-dual">
<div class="card-label">CSS Custom Properties — Cyberpunk Palette</div>
<div class="card-dual-inner">
<div class="token-list">
<div><span class="var-name">--neon-cyan</span>: <span class="var-val">#00dbde</span>; <span class="var-comment">/* electric teal */</span></div>
<div><span class="var-name">--neon-pink</span>: <span class="var-val">#fc00ff</span>; <span class="var-comment">/* hot magenta */</span></div>
<div><span class="var-name">--neon-blue</span>: <span class="var-val">#0057ff</span>; <span class="var-comment">/* deep electric */</span></div>
<div><span class="var-name">--neon-violet</span>: <span class="var-val">#8b00ff</span>; <span class="var-comment">/* mid spectrum */</span></div>
<div><span class="var-name">--glow-cyan</span>: <span class="var-val">0 0 6px #fff, 0 0 14px var(--neon-cyan)...</span></div>
<div><span class="var-name">--glow-pink</span>: <span class="var-val">0 0 6px #fff, 0 0 14px var(--neon-pink)...</span></div>
</div>
</div>
</div>
</div>
</section>/* ─── 08 Neon Cyberpunk Palette — design token showcase ────────── */
@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,300;0,700;0,900;1,900&family=Share+Tech+Mono&display=swap');
/* Tokens scoped to .nn-pal — NOT :root — so they don't leak to host. */
.nn-pal {
--nn-pal-cyan: #00dbde;
--nn-pal-pink: #fc00ff;
--nn-pal-blue: #0057ff;
--nn-pal-violet: #8b00ff;
--nn-pal-bg: #050510;
--nn-pal-surface: rgba(12, 8, 28, 0.9);
--nn-pal-glow-cyan: 0 0 6px #fff, 0 0 14px var(--nn-pal-cyan), 0 0 32px var(--nn-pal-cyan), 0 0 64px rgba(0,219,222,0.5);
--nn-pal-glow-pink: 0 0 6px #fff, 0 0 14px var(--nn-pal-pink), 0 0 32px var(--nn-pal-pink), 0 0 64px rgba(252,0,255,0.5);
--nn-pal-tshadow-cyan: 0 0 4px #fff, 0 0 10px var(--nn-pal-cyan), 0 0 22px var(--nn-pal-cyan), 0 0 44px rgba(0,219,222,0.7);
--nn-pal-tshadow-pink: 0 0 4px #fff, 0 0 10px var(--nn-pal-pink), 0 0 22px var(--nn-pal-pink), 0 0 44px rgba(252,0,255,0.7);
position: relative;
width: 100%;
min-height: 780px;
background: var(--nn-pal-bg);
font-family: 'Exo 2', sans-serif;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 16px;
overflow: hidden;
box-sizing: border-box;
}
.nn-pal *,
.nn-pal *::before,
.nn-pal *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Diagonal gradient wash — was body::before fixed; scoped. */
.nn-pal::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 55% 55% at 10% 50%, rgba(0,219,222,0.07) 0%, transparent 70%),
radial-gradient(ellipse 55% 55% at 90% 50%, rgba(252,0,255,0.07) 0%, transparent 70%),
linear-gradient(135deg, rgba(0,87,255,0.04) 0%, transparent 50%, rgba(139,0,255,0.04) 100%);
pointer-events: none;
z-index: 0;
}
.nn-pal .stage {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px 48px;
padding: 50px 60px;
max-width: 860px;
width: 100%;
}
.nn-pal .swatch-row {
grid-column: 1 / -1;
display: flex;
gap: 16px;
align-items: center;
}
.nn-pal .swatch { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nn-pal .swatch-wide { flex: 2; }
.nn-pal .swatch-chip {
height: 44px;
border-radius: 2px;
position: relative;
overflow: hidden;
}
.nn-pal .swatch-chip::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, transparent 50%);
}
.nn-pal .chip-cyan { background: var(--nn-pal-cyan); box-shadow: 0 0 20px rgba(0,219,222,0.7), 0 0 50px rgba(0,219,222,0.3); }
.nn-pal .chip-pink { background: var(--nn-pal-pink); box-shadow: 0 0 20px rgba(252,0,255,0.7), 0 0 50px rgba(252,0,255,0.3); }
.nn-pal .chip-blue { background: var(--nn-pal-blue); box-shadow: 0 0 20px rgba(0,87,255,0.7), 0 0 50px rgba(0,87,255,0.3); }
.nn-pal .chip-violet { background: var(--nn-pal-violet); box-shadow: 0 0 20px rgba(139,0,255,0.7), 0 0 50px rgba(139,0,255,0.3); }
.nn-pal .chip-dual {
background: linear-gradient(90deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
box-shadow: 0 0 20px rgba(0,219,222,0.5), 0 0 50px rgba(252,0,255,0.4);
}
.nn-pal .swatch-hex {
font-family: 'Share Tech Mono', monospace;
font-size: 10px;
letter-spacing: 0.1em;
color: rgba(200,200,240,0.55);
text-align: center;
}
.nn-pal .text-block { display: flex; flex-direction: column; gap: 12px; }
.nn-pal .headline-cyan {
font-size: 44px;
font-weight: 900;
font-style: italic;
letter-spacing: -0.02em;
color: var(--nn-pal-cyan);
text-shadow: var(--nn-pal-tshadow-cyan);
line-height: 1;
}
.nn-pal .headline-pink {
font-size: 44px;
font-weight: 900;
font-style: italic;
letter-spacing: -0.02em;
color: var(--nn-pal-pink);
text-shadow: var(--nn-pal-tshadow-pink);
line-height: 1;
}
.nn-pal .headline-dual {
font-size: 38px;
font-weight: 900;
letter-spacing: 0.06em;
background: linear-gradient(90deg, var(--nn-pal-cyan) 0%, var(--nn-pal-violet) 50%, var(--nn-pal-pink) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
filter: drop-shadow(0 0 8px rgba(0,219,222,0.6)) drop-shadow(0 0 18px rgba(252,0,255,0.5));
}
.nn-pal .btn-group { display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.nn-pal .gbtn {
padding: 14px 28px;
font-family: 'Exo 2', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.nn-pal .gbtn-cyan {
background: transparent;
color: var(--nn-pal-cyan);
border: 1.5px solid var(--nn-pal-cyan);
text-shadow: 0 0 8px rgba(0,219,222,0.8);
box-shadow: var(--nn-pal-glow-cyan);
animation: nn-pal-pulsecyan 2.5s ease-in-out infinite;
}
@keyframes nn-pal-pulsecyan {
0%, 100% { box-shadow: 0 0 8px rgba(0,219,222,0.4), 0 0 24px rgba(0,219,222,0.2); }
50% { box-shadow: 0 0 18px rgba(0,219,222,0.75), 0 0 50px rgba(0,219,222,0.35); }
}
.nn-pal .gbtn-pink {
background: linear-gradient(90deg, rgba(252,0,255,0.15), rgba(139,0,255,0.15));
color: #fff;
border: 1.5px solid var(--nn-pal-pink);
text-shadow: 0 0 8px rgba(252,0,255,0.8);
box-shadow: var(--nn-pal-glow-pink);
}
.nn-pal .gbtn-dual {
background: linear-gradient(90deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
color: #000;
border: none;
box-shadow: 0 0 24px rgba(0,219,222,0.5), 0 0 50px rgba(252,0,255,0.35);
font-weight: 900;
}
.nn-pal .card-dual {
grid-column: 1 / -1;
position: relative;
padding: 28px 32px;
background: var(--nn-pal-surface);
overflow: hidden;
}
.nn-pal .card-dual::before {
content: '';
position: absolute;
inset: 0;
padding: 1.5px;
background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
animation: nn-pal-bordercycle 4s linear infinite;
}
@keyframes nn-pal-bordercycle {
0% { background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink)); }
33% { background: linear-gradient(135deg, var(--nn-pal-pink), var(--nn-pal-cyan), var(--nn-pal-violet)); }
66% { background: linear-gradient(135deg, var(--nn-pal-violet), var(--nn-pal-pink), var(--nn-pal-cyan)); }
100% { background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink)); }
}
.nn-pal .card-dual-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}
.nn-pal .card-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: rgba(200,200,240,0.35);
margin-bottom: 12px;
}
.nn-pal .token-list {
font-family: 'Share Tech Mono', monospace;
font-size: 11px;
line-height: 2;
color: rgba(200,200,240,0.65);
}
.nn-pal .token-list .var-name { color: var(--nn-pal-cyan); }
.nn-pal .token-list .var-val { color: var(--nn-pal-pink); }
.nn-pal .token-list .var-comment { color: rgba(150,150,200,0.4); }
@media (max-width: 720px) {
.nn-pal .stage { grid-template-columns: 1fr; }
.nn-pal .swatch-row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
.nn-pal .gbtn-cyan,
.nn-pal .card-dual::before { animation: none !important; }
} /* ─── 08 Neon Cyberpunk Palette — design token showcase ────────── */
@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,300;0,700;0,900;1,900&family=Share+Tech+Mono&display=swap');
/* Tokens scoped to .nn-pal — NOT :root — so they don't leak to host. */
.nn-pal {
--nn-pal-cyan: #00dbde;
--nn-pal-pink: #fc00ff;
--nn-pal-blue: #0057ff;
--nn-pal-violet: #8b00ff;
--nn-pal-bg: #050510;
--nn-pal-surface: rgba(12, 8, 28, 0.9);
--nn-pal-glow-cyan: 0 0 6px #fff, 0 0 14px var(--nn-pal-cyan), 0 0 32px var(--nn-pal-cyan), 0 0 64px rgba(0,219,222,0.5);
--nn-pal-glow-pink: 0 0 6px #fff, 0 0 14px var(--nn-pal-pink), 0 0 32px var(--nn-pal-pink), 0 0 64px rgba(252,0,255,0.5);
--nn-pal-tshadow-cyan: 0 0 4px #fff, 0 0 10px var(--nn-pal-cyan), 0 0 22px var(--nn-pal-cyan), 0 0 44px rgba(0,219,222,0.7);
--nn-pal-tshadow-pink: 0 0 4px #fff, 0 0 10px var(--nn-pal-pink), 0 0 22px var(--nn-pal-pink), 0 0 44px rgba(252,0,255,0.7);
position: relative;
width: 100%;
min-height: 780px;
background: var(--nn-pal-bg);
font-family: 'Exo 2', sans-serif;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 16px;
overflow: hidden;
box-sizing: border-box;
}
.nn-pal *,
.nn-pal *::before,
.nn-pal *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Diagonal gradient wash — was body::before fixed; scoped. */
.nn-pal::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 55% 55% at 10% 50%, rgba(0,219,222,0.07) 0%, transparent 70%),
radial-gradient(ellipse 55% 55% at 90% 50%, rgba(252,0,255,0.07) 0%, transparent 70%),
linear-gradient(135deg, rgba(0,87,255,0.04) 0%, transparent 50%, rgba(139,0,255,0.04) 100%);
pointer-events: none;
z-index: 0;
}
.nn-pal .stage {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px 48px;
padding: 50px 60px;
max-width: 860px;
width: 100%;
}
.nn-pal .swatch-row {
grid-column: 1 / -1;
display: flex;
gap: 16px;
align-items: center;
}
.nn-pal .swatch { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nn-pal .swatch-wide { flex: 2; }
.nn-pal .swatch-chip {
height: 44px;
border-radius: 2px;
position: relative;
overflow: hidden;
}
.nn-pal .swatch-chip::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, transparent 50%);
}
.nn-pal .chip-cyan { background: var(--nn-pal-cyan); box-shadow: 0 0 20px rgba(0,219,222,0.7), 0 0 50px rgba(0,219,222,0.3); }
.nn-pal .chip-pink { background: var(--nn-pal-pink); box-shadow: 0 0 20px rgba(252,0,255,0.7), 0 0 50px rgba(252,0,255,0.3); }
.nn-pal .chip-blue { background: var(--nn-pal-blue); box-shadow: 0 0 20px rgba(0,87,255,0.7), 0 0 50px rgba(0,87,255,0.3); }
.nn-pal .chip-violet { background: var(--nn-pal-violet); box-shadow: 0 0 20px rgba(139,0,255,0.7), 0 0 50px rgba(139,0,255,0.3); }
.nn-pal .chip-dual {
background: linear-gradient(90deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
box-shadow: 0 0 20px rgba(0,219,222,0.5), 0 0 50px rgba(252,0,255,0.4);
}
.nn-pal .swatch-hex {
font-family: 'Share Tech Mono', monospace;
font-size: 10px;
letter-spacing: 0.1em;
color: rgba(200,200,240,0.55);
text-align: center;
}
.nn-pal .text-block { display: flex; flex-direction: column; gap: 12px; }
.nn-pal .headline-cyan {
font-size: 44px;
font-weight: 900;
font-style: italic;
letter-spacing: -0.02em;
color: var(--nn-pal-cyan);
text-shadow: var(--nn-pal-tshadow-cyan);
line-height: 1;
}
.nn-pal .headline-pink {
font-size: 44px;
font-weight: 900;
font-style: italic;
letter-spacing: -0.02em;
color: var(--nn-pal-pink);
text-shadow: var(--nn-pal-tshadow-pink);
line-height: 1;
}
.nn-pal .headline-dual {
font-size: 38px;
font-weight: 900;
letter-spacing: 0.06em;
background: linear-gradient(90deg, var(--nn-pal-cyan) 0%, var(--nn-pal-violet) 50%, var(--nn-pal-pink) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
filter: drop-shadow(0 0 8px rgba(0,219,222,0.6)) drop-shadow(0 0 18px rgba(252,0,255,0.5));
}
.nn-pal .btn-group { display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.nn-pal .gbtn {
padding: 14px 28px;
font-family: 'Exo 2', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.nn-pal .gbtn-cyan {
background: transparent;
color: var(--nn-pal-cyan);
border: 1.5px solid var(--nn-pal-cyan);
text-shadow: 0 0 8px rgba(0,219,222,0.8);
box-shadow: var(--nn-pal-glow-cyan);
animation: nn-pal-pulsecyan 2.5s ease-in-out infinite;
}
@keyframes nn-pal-pulsecyan {
0%, 100% { box-shadow: 0 0 8px rgba(0,219,222,0.4), 0 0 24px rgba(0,219,222,0.2); }
50% { box-shadow: 0 0 18px rgba(0,219,222,0.75), 0 0 50px rgba(0,219,222,0.35); }
}
.nn-pal .gbtn-pink {
background: linear-gradient(90deg, rgba(252,0,255,0.15), rgba(139,0,255,0.15));
color: #fff;
border: 1.5px solid var(--nn-pal-pink);
text-shadow: 0 0 8px rgba(252,0,255,0.8);
box-shadow: var(--nn-pal-glow-pink);
}
.nn-pal .gbtn-dual {
background: linear-gradient(90deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
color: #000;
border: none;
box-shadow: 0 0 24px rgba(0,219,222,0.5), 0 0 50px rgba(252,0,255,0.35);
font-weight: 900;
}
.nn-pal .card-dual {
grid-column: 1 / -1;
position: relative;
padding: 28px 32px;
background: var(--nn-pal-surface);
overflow: hidden;
}
.nn-pal .card-dual::before {
content: '';
position: absolute;
inset: 0;
padding: 1.5px;
background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
animation: nn-pal-bordercycle 4s linear infinite;
}
@keyframes nn-pal-bordercycle {
0% { background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink)); }
33% { background: linear-gradient(135deg, var(--nn-pal-pink), var(--nn-pal-cyan), var(--nn-pal-violet)); }
66% { background: linear-gradient(135deg, var(--nn-pal-violet), var(--nn-pal-pink), var(--nn-pal-cyan)); }
100% { background: linear-gradient(135deg, var(--nn-pal-cyan), var(--nn-pal-violet), var(--nn-pal-pink)); }
}
.nn-pal .card-dual-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}
.nn-pal .card-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: rgba(200,200,240,0.35);
margin-bottom: 12px;
}
.nn-pal .token-list {
font-family: 'Share Tech Mono', monospace;
font-size: 11px;
line-height: 2;
color: rgba(200,200,240,0.65);
}
.nn-pal .token-list .var-name { color: var(--nn-pal-cyan); }
.nn-pal .token-list .var-val { color: var(--nn-pal-pink); }
.nn-pal .token-list .var-comment { color: rgba(150,150,200,0.4); }
@media (max-width: 720px) {
.nn-pal .stage { grid-template-columns: 1fr; }
.nn-pal .swatch-row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
.nn-pal .gbtn-cyan,
.nn-pal .card-dual::before { animation: none !important; }
}