How to build a UI in the Neon style
Neon (neon.tech) reads as Serverless Pitch-Black & Luminous Cyber-Mint Postgres — Pitch-black #000000 canvas with #242628 / #303236 dark structural borders, 56px tight -0.04em Inter display headings, and #34D59A / #00E599 luminous cyber-mint accents. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.
https://neon.tech on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Neon is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Neon.Live preview with Neon tokens
#242628Color palette (dark mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #000000 | bg-black | Primary Neon page canvas |
| surfaceElevated | #131415 | bg-[#131415] | Primary elevated card & bento surface |
| surfaceSecondary | #CDDFD7 | bg-[#CDDFD7] | Secondary interactive container / hover fill |
| borderPrimary | #242628 | border-[#242628] | Primary structural divider (1px solid #242628) |
| borderSecondary | #303236 | border-[#303236] | Secondary nested module or pill border |
| textPrimary | #FFFFFF | text-white | Hero H1, section H2 & high-contrast foreground |
| textMuted | #94979E | text-[#94979E] | Lead paragraphs, descriptions & muted labels |
| accentPrimary | #34D59A | bg-[#34D59A] | Primary interactive CTA & brand highlight (9999px (Pill)) |
| accentSecondary | #34D59A | text-[#34D59A] | Secondary badge, syntax or telemetry highlight |
Typography
Heading Inter · body Inter · mono JetBrains Mono
| Level | Computed spec |
|---|---|
| Hero H1 | 56px | line-height 63px (leading-[1.13]) | letter-spacing -2.24px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Inter |
| Section H2 (Primary) | 64px | line-height 64px (leading-[1]) | letter-spacing -2.56px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter |
| Section H2 (Secondary) | 52px | line-height 58.5px (leading-[1.13]) | letter-spacing -2.08px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter |
| Card / Feature H3 | 28px | line-height 35px (leading-[1.25]) | letter-spacing -0.56px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter |
| Body Copy (Paragraph) | 15px | line-height 18.8px (leading-[1.25]) | letter-spacing -0.3px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #94979E (text-[#94979E]) | font Inter |
| Monospace / Code Block | 16px | line-height 24px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Inter |
Spacing, radius, depth and motion
| Token family | Most frequent values (count on page) |
|---|---|
| Border radius | 4px ×60 · 5px ×1 · 10px ×1 |
| Box shadow | rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, lab(100 -0.0000298023 0.0000119209 / 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px ×5 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(48, 50, 54) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0) 0px 0px 0px 0px ×2 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.4) 0px 8px 20px 0px ×1 |
| Grid / flex gap | 8px normal ×29 · 8px ×9 · 48px ×8 · normal 10px ×7 · 20px ×7 · normal 128px ×6 |
| Container max-width | 1600px ×10 · 1184px ×3 · 1280px ×2 · 960px ×2 |
| Section vertical padding | 28px / 80px ×3 · 384px / 8px ×1 · 128px / 96px ×1 · 106px / 0px ×1 |
| Easing | cubic-bezier(0.4, 0, 0.2, 1) ×90 |
| Duration | 0.2s ×88 · 0.15s ×2 |
Component recipes
Buttons (6 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Sign up | 36px | 0px 18px | 9999px | #FFFFFF#000000 | none | 14px / 500 |
| Get started | 44px | 0px 28px | 9999px | #FFFFFF#1A1A1A | none | 16px / 500 |
| Log in | 36px | 0px 18px | 9999px | transparent#FFFFFF | 1px solid #61646B | 14px / 500 |
| Avoid outages | 44px | 0px 16px | 0px | #303236#FFFFFF | 1px solid #494B50 | 16px / 500 |
| Save costs | 44px | 0px 16px | 0px | #18191Brgba(255, 255, 255, 0.6) | 1px solid #494B50 | 16px / 500 |
No card container was detected on the extracted page; use #131415 surface with #242628 border.
Rules: what never to do in the Neon style
- NEVER substitute generic uncalibrated gray backgrounds for Neon’s exact
#000000canvas and#131415surface pairing. - NEVER replace
Interdisplay typography or ignore its signature scale (56px / -0.04em (w400)). - NEVER use thick opaque borders that clash with
#242628(1px solid #242628). - NEVER deviate from the signature button geometry (
9999px (Pill)) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with
JetBrains Mono.
Copy-paste kit
:root {
/* Neon style — extracted from neon.tech by taste-skill */
--canvas: #000000;
--surface: #131415;
--text: #FFFFFF;
--text-muted: #94979E;
--accent: #34D59A;
--border: #242628;
--font-heading: Inter, Inter, system-ui, -apple-system, sans-serif;
--font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
--font-mono: 'JetBrains Mono', 'JetBrains Mono', ui-monospace, monospace;
--h1-size: 56px;
--h1-tracking: -0.04em;
--h1-weight: 400;
--radius-button: 9999px;
--radius-common: 4px;
--shadow-common: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, lab(100 -0.0000298023 0.0000119209 / 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px;
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--duration: 0.2s;
}// tailwind.config.js — Neon style tokens (taste-skill)
module.exports = {
theme: {
extend: {
colors: {
canvas: "#000000",
surface: "#131415",
ink: "#FFFFFF",
muted: "#94979E",
accent: "#34D59A",
line: "#242628",
},
fontFamily: {
heading: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
mono: ["JetBrains Mono", 'ui-monospace', 'monospace'],
},
fontSize: { display: ["56px", { letterSpacing: "-0.04em", fontWeight: "400" }] },
borderRadius: { button: "9999px", card: "4px" },
boxShadow: { brand: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, lab(100 -0.0000298023 0.0000119209 / 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px" },
transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 0.2, 1)" },
},
},
};--- name: neon-style description: Build UI in the Neon visual style (Serverless Pitch-Black & Luminous Cyber-Mint Postgres). Use when the user asks for a Neon-like look. --- # Neon Style — Quick Rules (source: neon.tech, extracted by taste-skill) ## Tokens - canvasBg: #000000 — Primary Neon page canvas - surfaceElevated: #131415 — Primary elevated card & bento surface - surfaceSecondary: #CDDFD7 — Secondary interactive container / hover fill - borderPrimary: #242628 — Primary structural divider (1px solid #242628) - borderSecondary: #303236 — Secondary nested module or pill border - textPrimary: #FFFFFF — Hero H1, section H2 & high-contrast foreground - textMuted: #94979E — Lead paragraphs, descriptions & muted labels - accentPrimary: #34D59A — Primary interactive CTA & brand highlight (9999px (Pill)) - accentSecondary: #34D59A — Secondary badge, syntax or telemetry highlight ## Typography - Heading font: Inter; body: Inter; mono: JetBrains Mono - Hero H1: 56px | line-height 63px (leading-[1.13]) | letter-spacing -2.24px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Inter - Section H2 (Primary): 64px | line-height 64px (leading-[1]) | letter-spacing -2.56px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter - Section H2 (Secondary): 52px | line-height 58.5px (leading-[1.13]) | letter-spacing -2.08px (tracking-[-0.04em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter - Card / Feature H3: 28px | line-height 35px (leading-[1.25]) | letter-spacing -0.56px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #000000 (text-black) | font Inter ## Components - Primary button: height 36px, padding 0px 18px, radius 9999px, bg #FFFFFF, text #000000, 14px / 500 - Card: bg #131415, border 1px solid #242628 ## Never - NEVER substitute generic uncalibrated gray backgrounds for Neon’s exact #000000 canvas and #131415 surface pairing. - NEVER replace Inter display typography or ignore its signature scale (56px / -0.04em (w400)). - NEVER use thick opaque borders that clash with #242628 (1px solid #242628). - NEVER deviate from the signature button geometry (9999px (Pill)) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with JetBrains Mono. Full 120-line spec: https://taste-skill.pages.dev/taste/neon/
npx taste-skill add neon
Related
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →