The Crypto Aesthetic is the dominant visual language of the Web3, blockchain, and decentralized finance (DeFi) ecosystem. It emerged alongside the explosive growth of cryptocurrency platforms, NFT marketplaces, and decentralized applications (dApps) in the late 2010s and early 2020s. The style communicates technological sophistication, financial innovation, and a sense of participating in a digital frontier. Its visual DNA draws from cyberpunk, vaporwave, and fintech design traditions, but synthesizes them into something distinctly its own – a look that says “the future of money is here.”
At its core, the Crypto Aesthetic is built on dark backgrounds illuminated by vibrant neon accents and sweeping gradients. Deep blues, purples, and near-blacks serve as the foundational canvas, evoking the boundless digital void of cyberspace, while electric blues, neon greens, hot pinks, and glowing cyans cut through the darkness like data streams on a terminal. The result is interfaces that feel simultaneously exclusive and futuristic – financial dashboards reimagined as cockpits of a spaceship. This is deliberate: the aesthetic projects confidence, trust, and cutting-edge technology, which are essential emotional registers for platforms handling users’ financial assets.
Glassmorphism and neumorphism are core techniques, lending cards and panels a frosted, translucent quality that creates visual depth. Geometric motifs inspired by blockchain itself – interconnected nodes, hexagonal grids, circuit-board traces – appear as decorative elements and background patterns. Typography leans futuristic and geometric, with typefaces like Orbitron and Space Grotesk communicating a tech-forward identity, while highly legible screen fonts like Inter handle body text with clarity. Animations tend toward smooth, purposeful transitions: glowing pulse effects on buttons, gradient shifts across hero sections, and subtle floating particle systems that evoke data flowing through a decentralized network. The overall impression is one of precision, speed, and digital luxury – a visual promise that blockchain technology represents the next evolution of the internet.
The Crypto Aesthetic palette is anchored by deep, dark backgrounds that evoke terminal screens and secure vaults. Neon accents drawn from the blue-purple-cyan-green spectrum provide the signature glow that defines the style. Warm neon accents (pink, orange) are used sparingly for alerts, urgent actions, and brand differentiation. The overall effect is a digital landscape that feels both luxurious and futuristic.
| Swatch | Hex | Role / Usage |
|---|---|---|
Void Black |
#0A0E17 |
Deepest background, page base, app shell |
Deep Space |
#111827 |
Primary surface, card backgrounds, panels |
Charcoal |
#1A1F2E |
Elevated surfaces, modal backgrounds, sidebar |
Gunmetal |
#252B3B |
Subtle borders, dividers, input backgrounds |
Crypto Purple |
#7B3FE4 |
Primary brand accent, gradient start, key CTAs |
Electric Indigo |
#6366F1 |
Secondary accent, active states, selected tabs |
Neon Blue |
#3B82F6 |
Links, informational badges, gradient midpoint |
Cyber Cyan |
#00D4FF |
Highlight accent, gradient end, data visualization |
Matrix Green |
#00FFA3 |
Success states, positive price change, profit indicators |
Emerald |
#10B981 |
Secondary success, confirmed transactions, uptrend |
Alert Red |
#F43F5E |
Error states, negative price change, loss indicators |
Caution Amber |
#F59E0B |
Warning states, pending transactions, gas fee alerts |
Hot Pink |
#EC4899 |
NFT highlights, promotional badges, brand differentiation |
Silver Text |
#E2E8F0 |
Primary text on dark backgrounds |
Muted Steel |
#94A3B8 |
Secondary text, descriptions, timestamps |
:root {
/* Dark bases */
--crypto-void: #0a0e17;
--crypto-deep-space: #111827;
--crypto-charcoal: #1a1f2e;
--crypto-gunmetal: #252b3b;
/* Neon accents */
--crypto-purple: #7b3fe4;
--crypto-indigo: #6366f1;
--crypto-blue: #3b82f6;
--crypto-cyan: #00d4ff;
--crypto-green: #00ffa3;
--crypto-emerald: #10b981;
/* Status colors */
--crypto-red: #f43f5e;
--crypto-amber: #f59e0b;
--crypto-pink: #ec4899;
/* Text */
--crypto-text-primary: #e2e8f0;
--crypto-text-secondary: #94a3b8;
--crypto-text-muted: #475569;
--crypto-text-bright: #f8fafc;
/* Signature gradients */
--crypto-gradient-primary: linear-gradient(135deg, #7b3fe4, #3b82f6, #00d4ff);
--crypto-gradient-neon: linear-gradient(135deg, #00ffa3, #00d4ff, #7b3fe4);
--crypto-gradient-warm: linear-gradient(135deg, #7b3fe4, #ec4899, #f43f5e);
--crypto-gradient-subtle: linear-gradient(135deg, rgba(123, 63, 228, 0.15), rgba(0, 212, 255, 0.1));
/* Glass */
--crypto-glass-bg: rgba(255, 255, 255, 0.04);
--crypto-glass-border: rgba(255, 255, 255, 0.08);
--crypto-glass-blur: 16px;
/* Glow */
--crypto-glow-purple: 0 0 20px rgba(123, 63, 228, 0.3);
--crypto-glow-cyan: 0 0 20px rgba(0, 212, 255, 0.3);
--crypto-glow-green: 0 0 20px rgba(0, 255, 163, 0.3);
}
Crypto Aesthetic typography communicates technological authority and financial precision. Display headings use geometric, futuristic typefaces that evoke space-age computing and digital currency symbols. Body text prioritizes screen legibility at small sizes, since many crypto interfaces are data-dense dashboards requiring users to scan numbers, addresses, and transaction details. Monospace fonts appear frequently for wallet addresses, hash values, and code snippets – a nod to the developer culture at blockchain’s heart.
| Font | Style | Best For |
|---|---|---|
| Orbitron | Geometric, futuristic, display | Hero headlines, token names, brand statements |
| Space Grotesk | Geometric, tech-forward, grotesque | Headlines, section titles, UI labels |
| Exo 2 | Geometric, rounded, futuristic | Sub-headlines, card titles, feature names |
| Inter | Screen-optimized, neutral, versatile | Body text, descriptions, all-purpose UI |
| Sora | Geometric, modern, variable | Headlines, navigation, dashboard labels |
| JetBrains Mono | Monospace, developer-friendly | Wallet addresses, hashes, code, numeric data |
| Space Mono | Monospace, geometric, quirky | Transaction IDs, technical details, tabular data |
| Plus Jakarta Sans | Geometric, slightly rounded | Body text alternative, warm yet modern |
| Heading Font | Body Font | Character |
|---|---|---|
| Orbitron (700) | Inter (400) | Maximum futurism, classic crypto authority |
| Space Grotesk (600) | Inter (400) | Tech-forward but approachable and readable |
| Exo 2 (600) | Plus Jakarta Sans (400) | Futuristic headers, warm and friendly body |
| Sora (700) | Inter (400) | Modern geometric elegance, crisp data display |
| Space Grotesk (700) | JetBrains Mono (400) | Full developer/engineering aesthetic |
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
h1, h2, h3, h4, h5, h6 {
font-family: 'Space Grotesk', sans-serif;
font-weight: 600;
color: var(--crypto-text-primary);
line-height: 1.2;
letter-spacing: -0.02em;
}
.crypto-display {
font-family: 'Space Grotesk', sans-serif;
font-size: clamp(2.5rem, 5vw, 5rem);
font-weight: 700;
letter-spacing: -0.03em;
line-height: 1.1;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
body {
font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 1rem;
line-height: 1.7;
color: var(--crypto-text-secondary);
}
.crypto-mono {
font-family: 'JetBrains Mono', monospace;
font-size: 0.85rem;
font-weight: 400;
letter-spacing: 0.02em;
color: var(--crypto-cyan);
}
.crypto-label {
font-family: 'Space Grotesk', sans-serif;
font-weight: 500;
font-size: 0.8rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--crypto-text-muted);
}
.crypto-price {
font-family: 'Inter', sans-serif;
font-weight: 600;
font-size: 1.5rem;
font-variant-numeric: tabular-nums;
color: var(--crypto-text-bright);
}
.crypto-price--up { color: var(--crypto-green); }
.crypto-price--down { color: var(--crypto-red); }
.crypto-card {
background: var(--crypto-glass-bg);
backdrop-filter: blur(var(--crypto-glass-blur));
-webkit-backdrop-filter: blur(var(--crypto-glass-blur));
border: 1px solid var(--crypto-glass-border);
border-radius: 16px;
padding: 28px;
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.crypto-card:hover {
border-color: rgba(123, 63, 228, 0.3);
box-shadow: var(--crypto-glow-purple);
}
.crypto-card--elevated {
background: var(--crypto-charcoal);
border: 1px solid var(--crypto-gunmetal);
}
.crypto-card__header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.crypto-card__title {
font-family: 'Space Grotesk', sans-serif;
font-weight: 600;
font-size: 1.1rem;
color: var(--crypto-text-primary);
}
.crypto-card__badge {
font-size: 0.75rem;
font-weight: 600;
padding: 4px 10px;
border-radius: 20px;
background: rgba(0, 255, 163, 0.1);
color: var(--crypto-green);
border: 1px solid rgba(0, 255, 163, 0.2);
}
.crypto-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
background: var(--crypto-gradient-primary);
background-size: 200% 200%;
color: #ffffff;
border: none;
border-radius: 12px;
padding: 14px 32px;
font-family: 'Space Grotesk', sans-serif;
font-weight: 600;
font-size: 0.95rem;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease, background-position 0.4s ease;
text-decoration: none;
}
.crypto-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(123, 63, 228, 0.35);
background-position: 100% 50%;
}
.crypto-btn:active {
transform: translateY(0);
}
.crypto-btn--outline {
background: transparent;
border: 1px solid var(--crypto-purple);
color: var(--crypto-purple);
}
.crypto-btn--outline:hover {
background: rgba(123, 63, 228, 0.1);
box-shadow: var(--crypto-glow-purple);
}
.crypto-btn--glass {
background: var(--crypto-glass-bg);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--crypto-glass-border);
color: var(--crypto-text-primary);
}
.crypto-btn--glass:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 255, 255, 0.15);
box-shadow: none;
}
.crypto-btn--connect {
background: var(--crypto-gradient-neon);
background-size: 200% 200%;
animation: gradientPulse 3s ease infinite;
}
@keyframes gradientPulse {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.crypto-nav {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1400px;
margin: 0 auto;
padding: 16px 40px;
position: sticky;
top: 0;
z-index: 100;
background: rgba(10, 14, 23, 0.85);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--crypto-glass-border);
}
.crypto-nav__logo {
font-family: 'Space Grotesk', sans-serif;
font-weight: 700;
font-size: 1.4rem;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-decoration: none;
}
.crypto-nav__links {
display: flex;
align-items: center;
gap: 32px;
list-style: none;
margin: 0;
padding: 0;
}
.crypto-nav__links a {
font-family: 'Inter', sans-serif;
font-weight: 500;
font-size: 0.9rem;
color: var(--crypto-text-secondary);
text-decoration: none;
transition: color 0.2s ease;
position: relative;
}
.crypto-nav__links a:hover {
color: var(--crypto-text-bright);
}
.crypto-nav__links a.active {
color: var(--crypto-text-bright);
}
.crypto-nav__links a.active::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
right: 0;
height: 2px;
background: var(--crypto-gradient-primary);
border-radius: 1px;
}
.crypto-nav__wallet {
display: flex;
align-items: center;
gap: 12px;
}
.crypto-nav__network {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
border-radius: 10px;
background: var(--crypto-glass-bg);
border: 1px solid var(--crypto-glass-border);
font-size: 0.8rem;
color: var(--crypto-text-secondary);
}
.crypto-nav__network::before {
content: '';
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--crypto-green);
box-shadow: 0 0 6px var(--crypto-green);
}
.crypto-hero {
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 80px 40px;
position: relative;
overflow: hidden;
}
.crypto-hero::before {
content: '';
position: absolute;
width: 600px;
height: 600px;
border-radius: 50%;
background: radial-gradient(circle, rgba(123, 63, 228, 0.15) 0%, transparent 70%);
top: 10%;
left: -10%;
animation: floatOrb 15s ease-in-out infinite alternate;
pointer-events: none;
}
.crypto-hero::after {
content: '';
position: absolute;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(0, 212, 255, 0.1) 0%, transparent 70%);
bottom: 5%;
right: -5%;
animation: floatOrb 12s ease-in-out infinite alternate-reverse;
pointer-events: none;
}
@keyframes floatOrb {
0% { transform: translate(0, 0) scale(1); }
50% { transform: translate(30px, -20px) scale(1.05); }
100% { transform: translate(-20px, 30px) scale(0.95); }
}
.crypto-hero h1 {
font-size: clamp(2.5rem, 6vw, 5rem);
font-weight: 700;
margin-bottom: 1.5rem;
letter-spacing: -0.03em;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.crypto-hero p {
font-size: 1.2rem;
color: var(--crypto-text-secondary);
margin-bottom: 2.5rem;
max-width: 620px;
margin-left: auto;
margin-right: auto;
line-height: 1.8;
}
.crypto-hero__actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.crypto-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
}
.crypto-stat {
background: var(--crypto-glass-bg);
border: 1px solid var(--crypto-glass-border);
border-radius: 12px;
padding: 20px 24px;
text-align: center;
}
.crypto-stat__label {
font-family: 'Space Grotesk', sans-serif;
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--crypto-text-muted);
margin-bottom: 8px;
}
.crypto-stat__value {
font-family: 'Inter', sans-serif;
font-size: 1.75rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
color: var(--crypto-text-bright);
}
.crypto-stat__change {
font-size: 0.8rem;
font-weight: 600;
margin-top: 6px;
}
.crypto-stat__change--up {
color: var(--crypto-green);
}
.crypto-stat__change--down {
color: var(--crypto-red);
}
.crypto-gradient-border {
position: relative;
border-radius: 16px;
padding: 28px;
background: var(--crypto-deep-space);
}
.crypto-gradient-border::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
padding: 1px;
background: var(--crypto-gradient-primary);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
.crypto-mesh-bg {
position: relative;
overflow: hidden;
}
.crypto-mesh-bg::before {
content: '';
position: absolute;
inset: 0;
background-image:
radial-gradient(circle at 25% 25%, rgba(123, 63, 228, 0.08) 0%, transparent 50%),
radial-gradient(circle at 75% 75%, rgba(0, 212, 255, 0.06) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(0, 255, 163, 0.04) 0%, transparent 50%);
pointer-events: none;
}
/* Subtle grid overlay */
.crypto-mesh-bg::after {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
}
.crypto-token-row {
display: grid;
grid-template-columns: 40px 2fr 1fr 1fr 100px;
align-items: center;
gap: 16px;
padding: 16px 20px;
border-bottom: 1px solid var(--crypto-glass-border);
transition: background 0.2s ease;
}
.crypto-token-row:hover {
background: rgba(255, 255, 255, 0.02);
}
.crypto-token-row__icon {
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--crypto-gradient-primary);
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 0.8rem;
color: white;
}
.crypto-token-row__name {
font-weight: 600;
color: var(--crypto-text-primary);
}
.crypto-token-row__symbol {
font-size: 0.8rem;
color: var(--crypto-text-muted);
text-transform: uppercase;
}
.crypto-token-row__price {
font-variant-numeric: tabular-nums;
font-weight: 500;
color: var(--crypto-text-primary);
}
.crypto-token-row__change {
font-weight: 600;
font-size: 0.85rem;
text-align: right;
}
| Aesthetic | Relationship to Crypto Aesthetic |
|---|---|
| Cyberpunk | Shares dark-neon palette and dystopian tech vibes; crypto inherits cyberpunk’s visual language but applies it to financial UIs |
| Dark Aero | Both use dark translucent layers; crypto adds vibrant gradient accents where Dark Aero stays monochromatic |
| Glassmorphism | Core technique in crypto interfaces; frosted panels on dark backgrounds define the modern dApp look |
| Vaporwave | Aesthetic ancestor; crypto borrows the neon-on-dark palette but drops vaporwave’s retro irony for earnest futurism |
| Laser Grid | Shares neon-on-black and grid motifs; laser grid leans into 80s retrowave while crypto pushes toward near-future fintech |
| Frutiger Aero | Predecessor in tech-glossy UI; crypto darkens and electrifies the translucent, optimistic tech aesthetic |
| Neubrutalism | Opposite in approach; bold, raw, and flat where crypto is dark, polished, and layered – but both reject traditional UI conventions |
| Acid Design | Shares neon-on-dark and animated elements; acid embraces visual chaos where crypto demands precision and trust |
| Dark Mode | The foundational layer; crypto aesthetic is essentially a specialized, heavily branded dark mode with gradient accents |
| Fintech UI | The professional cousin; fintech uses similar data-dense layouts but with lighter palettes and less visual drama |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CryptoVault - Decentralized Finance</title>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root {
--crypto-void: #0a0e17;
--crypto-deep-space: #111827;
--crypto-charcoal: #1a1f2e;
--crypto-gunmetal: #252b3b;
--crypto-purple: #7b3fe4;
--crypto-indigo: #6366f1;
--crypto-blue: #3b82f6;
--crypto-cyan: #00d4ff;
--crypto-green: #00ffa3;
--crypto-emerald: #10b981;
--crypto-red: #f43f5e;
--crypto-amber: #f59e0b;
--crypto-pink: #ec4899;
--crypto-text-primary: #e2e8f0;
--crypto-text-secondary: #94a3b8;
--crypto-text-muted: #475569;
--crypto-text-bright: #f8fafc;
--crypto-gradient-primary: linear-gradient(135deg, #7b3fe4, #3b82f6, #00d4ff);
--crypto-gradient-neon: linear-gradient(135deg, #00ffa3, #00d4ff, #7b3fe4);
--crypto-glass-bg: rgba(255, 255, 255, 0.04);
--crypto-glass-border: rgba(255, 255, 255, 0.08);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: var(--crypto-void);
color: var(--crypto-text-secondary);
font-family: 'Inter', sans-serif;
font-weight: 400;
line-height: 1.7;
overflow-x: hidden;
}
h1, h2, h3, h4 {
font-family: 'Space Grotesk', sans-serif;
font-weight: 600;
color: var(--crypto-text-primary);
line-height: 1.2;
letter-spacing: -0.02em;
}
/* ===== MESH BACKGROUND ===== */
.mesh-bg {
position: fixed;
inset: 0;
z-index: 0;
pointer-events: none;
}
.mesh-bg::before {
content: '';
position: absolute;
inset: 0;
background-image:
radial-gradient(ellipse at 15% 30%, rgba(123, 63, 228, 0.12) 0%, transparent 55%),
radial-gradient(ellipse at 85% 20%, rgba(0, 212, 255, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 50% 80%, rgba(0, 255, 163, 0.06) 0%, transparent 50%);
animation: meshDrift 25s ease-in-out infinite alternate;
}
.mesh-bg::after {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
background-size: 80px 80px;
}
@keyframes meshDrift {
0% { transform: translate(0, 0); }
50% { transform: translate(-2%, 1%); }
100% { transform: translate(1%, -1.5%); }
}
.content { position: relative; z-index: 1; }
/* ===== NAVIGATION ===== */
nav {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1400px;
margin: 0 auto;
padding: 16px 40px;
position: sticky;
top: 0;
z-index: 100;
background: rgba(10, 14, 23, 0.88);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--crypto-glass-border);
}
.logo {
font-family: 'Space Grotesk', sans-serif;
font-weight: 700;
font-size: 1.4rem;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-decoration: none;
}
.nav-links {
display: flex;
align-items: center;
gap: 32px;
list-style: none;
}
.nav-links a {
color: var(--crypto-text-secondary);
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
transition: color 0.2s;
}
.nav-links a:hover { color: var(--crypto-text-bright); }
.nav-right {
display: flex;
align-items: center;
gap: 12px;
}
.network-badge {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
border-radius: 10px;
background: var(--crypto-glass-bg);
border: 1px solid var(--crypto-glass-border);
font-size: 0.8rem;
color: var(--crypto-text-secondary);
}
.network-badge::before {
content: '';
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--crypto-green);
box-shadow: 0 0 6px var(--crypto-green);
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
background: var(--crypto-gradient-primary);
background-size: 200% 200%;
color: #fff;
border: none;
border-radius: 12px;
padding: 12px 28px;
font-family: 'Space Grotesk', sans-serif;
font-weight: 600;
font-size: 0.9rem;
cursor: pointer;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s, background-position 0.4s;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(123, 63, 228, 0.35);
background-position: 100% 50%;
}
.btn--outline {
background: transparent;
border: 1px solid var(--crypto-purple);
color: var(--crypto-purple);
background-size: unset;
}
.btn--outline:hover {
background: rgba(123, 63, 228, 0.1);
box-shadow: 0 0 20px rgba(123, 63, 228, 0.2);
transform: translateY(-2px);
}
.btn--sm {
padding: 8px 18px;
font-size: 0.8rem;
border-radius: 8px;
}
/* ===== HERO ===== */
.hero {
min-height: 88vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 80px 40px;
position: relative;
}
.hero::before {
content: '';
position: absolute;
width: 550px;
height: 550px;
border-radius: 50%;
background: radial-gradient(circle, rgba(123, 63, 228, 0.12) 0%, transparent 70%);
top: 10%;
left: -5%;
animation: floatOrb 18s ease-in-out infinite alternate;
pointer-events: none;
}
.hero::after {
content: '';
position: absolute;
width: 450px;
height: 450px;
border-radius: 50%;
background: radial-gradient(circle, rgba(0, 212, 255, 0.08) 0%, transparent 70%);
bottom: 10%;
right: -3%;
animation: floatOrb 14s ease-in-out infinite alternate-reverse;
pointer-events: none;
}
@keyframes floatOrb {
0% { transform: translate(0, 0) scale(1); }
50% { transform: translate(25px, -20px) scale(1.04); }
100% { transform: translate(-15px, 25px) scale(0.96); }
}
.hero-content { position: relative; z-index: 1; }
.hero h1 {
font-size: clamp(2.5rem, 6vw, 4.5rem);
font-weight: 700;
margin-bottom: 1.5rem;
letter-spacing: -0.03em;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero p {
font-size: 1.2rem;
margin-bottom: 2.5rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
line-height: 1.8;
}
.hero-actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.hero-label {
font-family: 'Space Grotesk', sans-serif;
font-size: 0.8rem;
font-weight: 500;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--crypto-cyan);
margin-bottom: 16px;
display: block;
}
/* ===== STATS BAR ===== */
.stats-bar {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
max-width: 1200px;
margin: -40px auto 0;
padding: 0 40px;
position: relative;
z-index: 2;
}
.stat-card {
background: var(--crypto-glass-bg);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid var(--crypto-glass-border);
border-radius: 14px;
padding: 22px 24px;
text-align: center;
}
.stat-card__label {
font-family: 'Space Grotesk', sans-serif;
font-size: 0.7rem;
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--crypto-text-muted);
margin-bottom: 6px;
}
.stat-card__value {
font-family: 'Inter', sans-serif;
font-size: 1.5rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
color: var(--crypto-text-bright);
}
.stat-card__change {
font-size: 0.75rem;
font-weight: 600;
margin-top: 4px;
}
.up { color: var(--crypto-green); }
.down { color: var(--crypto-red); }
/* ===== FEATURES ===== */
.features {
padding: 100px 40px;
max-width: 1200px;
margin: 0 auto;
}
.section-header {
text-align: center;
margin-bottom: 60px;
}
.section-header h2 {
font-size: 2.2rem;
margin-bottom: 16px;
}
.section-header p {
max-width: 560px;
margin: 0 auto;
font-size: 1.05rem;
}
.features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.feature-card {
background: var(--crypto-glass-bg);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid var(--crypto-glass-border);
border-radius: 16px;
padding: 32px 28px;
transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.feature-card:hover {
border-color: rgba(123, 63, 228, 0.25);
box-shadow: 0 0 30px rgba(123, 63, 228, 0.1);
transform: translateY(-4px);
}
.feature-icon {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
font-size: 1.4rem;
}
.feature-card h3 {
font-size: 1.1rem;
margin-bottom: 10px;
}
.feature-card p {
font-size: 0.9rem;
line-height: 1.65;
}
/* ===== TOKEN TABLE ===== */
.tokens {
padding: 80px 40px;
max-width: 1200px;
margin: 0 auto;
}
.token-table {
background: var(--crypto-glass-bg);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid var(--crypto-glass-border);
border-radius: 16px;
overflow: hidden;
}
.token-header {
display: grid;
grid-template-columns: 60px 2fr 1fr 1fr 1fr 100px;
gap: 12px;
padding: 14px 24px;
font-family: 'Space Grotesk', sans-serif;
font-size: 0.7rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--crypto-text-muted);
border-bottom: 1px solid var(--crypto-glass-border);
}
.token-row {
display: grid;
grid-template-columns: 60px 2fr 1fr 1fr 1fr 100px;
gap: 12px;
align-items: center;
padding: 16px 24px;
border-bottom: 1px solid rgba(255, 255, 255, 0.03);
transition: background 0.2s;
}
.token-row:last-child { border-bottom: none; }
.token-row:hover { background: rgba(255, 255, 255, 0.02); }
.token-rank {
font-size: 0.85rem;
color: var(--crypto-text-muted);
}
.token-info {
display: flex;
align-items: center;
gap: 12px;
}
.token-icon {
width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 0.75rem;
color: white;
flex-shrink: 0;
}
.token-name {
font-weight: 600;
color: var(--crypto-text-primary);
font-size: 0.95rem;
}
.token-symbol {
font-size: 0.75rem;
color: var(--crypto-text-muted);
text-transform: uppercase;
}
.token-price {
font-variant-numeric: tabular-nums;
font-weight: 500;
color: var(--crypto-text-primary);
font-size: 0.95rem;
}
.token-mcap {
color: var(--crypto-text-secondary);
font-size: 0.9rem;
}
.token-change {
font-weight: 600;
font-size: 0.85rem;
}
.token-action .btn--sm {
width: 100%;
text-align: center;
justify-content: center;
}
/* ===== CTA ===== */
.cta {
text-align: center;
padding: 100px 40px;
}
.cta-inner {
position: relative;
border-radius: 24px;
padding: 70px 50px;
max-width: 900px;
margin: 0 auto;
background: var(--crypto-deep-space);
overflow: hidden;
}
.cta-inner::before {
content: '';
position: absolute;
inset: 0;
border-radius: 24px;
padding: 1px;
background: var(--crypto-gradient-primary);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
.cta-inner::after {
content: '';
position: absolute;
width: 400px;
height: 400px;
border-radius: 50%;
background: radial-gradient(circle, rgba(123, 63, 228, 0.08) 0%, transparent 70%);
top: -100px;
right: -100px;
pointer-events: none;
}
.cta h2 {
font-size: 2.2rem;
margin-bottom: 1rem;
position: relative;
z-index: 1;
}
.cta p {
margin-bottom: 2rem;
font-size: 1.1rem;
position: relative;
z-index: 1;
}
.cta .btn { position: relative; z-index: 1; }
/* ===== FOOTER ===== */
footer {
max-width: 1400px;
margin: 0 auto;
padding: 40px;
border-top: 1px solid var(--crypto-glass-border);
display: flex;
align-items: center;
justify-content: space-between;
}
.footer-brand {
font-family: 'Space Grotesk', sans-serif;
font-weight: 700;
font-size: 1.1rem;
background: var(--crypto-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.footer-links {
display: flex;
gap: 24px;
list-style: none;
}
.footer-links a {
color: var(--crypto-text-muted);
text-decoration: none;
font-size: 0.85rem;
transition: color 0.2s;
}
.footer-links a:hover { color: var(--crypto-text-secondary); }
.footer-copy {
font-size: 0.8rem;
color: var(--crypto-text-muted);
}
/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
.features-grid { grid-template-columns: repeat(2, 1fr); }
.stats-bar { grid-template-columns: repeat(2, 1fr); }
.token-header,
.token-row { grid-template-columns: 40px 2fr 1fr 1fr 80px; }
.token-header > :nth-child(5),
.token-row > :nth-child(5) { display: none; }
}
@media (max-width: 768px) {
nav { padding: 12px 20px; }
.nav-links { display: none; }
.hero { min-height: 70vh; padding: 60px 20px; }
.hero h1 { font-size: clamp(2rem, 8vw, 3rem); }
.stats-bar {
grid-template-columns: 1fr 1fr;
padding: 0 20px;
margin-top: -20px;
}
.features { padding: 60px 20px; }
.features-grid { grid-template-columns: 1fr; }
.tokens { padding: 60px 20px; }
.token-header,
.token-row { grid-template-columns: 40px 2fr 1fr 80px; }
.token-header > :nth-child(4),
.token-row > :nth-child(4),
.token-header > :nth-child(5),
.token-row > :nth-child(5) { display: none; }
.cta { padding: 60px 20px; }
.cta-inner { padding: 40px 24px; }
footer {
flex-direction: column;
gap: 20px;
text-align: center;
padding: 30px 20px;
}
}
</style>
</head>
<body>
<div class="mesh-bg"></div>
<div class="content">
<!-- Navigation -->
<nav>
<a href="#" class="logo">CryptoVault</a>
<ul class="nav-links">
<li><a href="#">Trade</a></li>
<li><a href="#">Earn</a></li>
<li><a href="#">NFTs</a></li>
<li><a href="#">Governance</a></li>
<li><a href="#">Docs</a></li>
</ul>
<div class="nav-right">
<span class="network-badge">Ethereum</span>
<a href="#" class="btn btn--sm">Connect Wallet</a>
</div>
</nav>
<!-- Hero -->
<section class="hero">
<div class="hero-content">
<span class="hero-label">Decentralized Finance Protocol</span>
<h1>The Future of Finance is Decentralized</h1>
<p>Trade, earn, and govern with a next-generation DeFi protocol. Low fees, lightning speed, and full transparency on-chain.</p>
<div class="hero-actions">
<a href="#" class="btn">Launch App</a>
<a href="#" class="btn btn--outline">Read Whitepaper</a>
</div>
</div>
</section>
<!-- Stats Bar -->
<section class="stats-bar">
<div class="stat-card">
<div class="stat-card__label">Total Value Locked</div>
<div class="stat-card__value">$4.2B</div>
<div class="stat-card__change up">+12.4%</div>
</div>
<div class="stat-card">
<div class="stat-card__label">24h Volume</div>
<div class="stat-card__value">$891M</div>
<div class="stat-card__change up">+8.7%</div>
</div>
<div class="stat-card">
<div class="stat-card__label">Active Wallets</div>
<div class="stat-card__value">142K</div>
<div class="stat-card__change up">+3.2%</div>
</div>
<div class="stat-card">
<div class="stat-card__label">CVT Price</div>
<div class="stat-card__value">$18.42</div>
<div class="stat-card__change down">-1.8%</div>
</div>
</section>
<!-- Features -->
<section class="features">
<div class="section-header">
<h2>Built for the Decentralized Era</h2>
<p>A full-stack DeFi platform with the tools you need to trade, earn yield, and participate in governance.</p>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon" style="background: rgba(123, 63, 228, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#7b3fe4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/></svg>
</div>
<h3>Instant Swaps</h3>
<p>Trade any token pair with minimal slippage and MEV protection. Powered by concentrated liquidity pools.</p>
</div>
<div class="feature-card">
<div class="feature-icon" style="background: rgba(0, 212, 255, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00d4ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
</div>
<h3>Yield Farming</h3>
<p>Stake your assets and earn competitive yields with auto-compounding strategies and risk-adjusted vaults.</p>
</div>
<div class="feature-card">
<div class="feature-icon" style="background: rgba(0, 255, 163, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffa3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
</div>
<h3>Audited Security</h3>
<p>Smart contracts audited by top security firms. Multi-sig treasury and time-locked governance for safety.</p>
</div>
<div class="feature-card">
<div class="feature-icon" style="background: rgba(99, 102, 241, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#6366f1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 3v4M8 3v4"/></svg>
</div>
<h3>On-Chain Governance</h3>
<p>Shape the protocol's future. Hold CVT tokens to submit proposals and vote on upgrades and parameter changes.</p>
</div>
<div class="feature-card">
<div class="feature-icon" style="background: rgba(236, 72, 153, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ec4899" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/></svg>
</div>
<h3>NFT Marketplace</h3>
<p>Mint, trade, and collect digital assets. Integrated NFT marketplace with royalty enforcement and collection launchpad.</p>
</div>
<div class="feature-card">
<div class="feature-icon" style="background: rgba(245, 158, 11, 0.15);">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f59e0b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12l5 5L22 2"/></svg>
</div>
<h3>Cross-Chain Bridges</h3>
<p>Move assets seamlessly across Ethereum, Polygon, Arbitrum, and more. Trustless bridging with proof verification.</p>
</div>
</div>
</section>
<!-- Token Table -->
<section class="tokens">
<div class="section-header">
<h2>Top Tokens</h2>
<p>Real-time prices and 24-hour performance for the most traded assets.</p>
</div>
<div class="token-table">
<div class="token-header">
<span>#</span>
<span>Token</span>
<span>Price</span>
<span>24h Change</span>
<span>Market Cap</span>
<span></span>
</div>
<div class="token-row">
<span class="token-rank">1</span>
<div class="token-info">
<div class="token-icon" style="background: linear-gradient(135deg, #627eea, #3b5998);">E</div>
<div>
<div class="token-name">Ethereum</div>
<div class="token-symbol">eth</div>
</div>
</div>
<span class="token-price">$3,842.16</span>
<span class="token-change up">+4.21%</span>
<span class="token-mcap">$462B</span>
<div class="token-action"><a href="#" class="btn btn--sm">Trade</a></div>
</div>
<div class="token-row">
<span class="token-rank">2</span>
<div class="token-info">
<div class="token-icon" style="background: linear-gradient(135deg, #f0b90b, #d4a30e);">B</div>
<div>
<div class="token-name">Bitcoin</div>
<div class="token-symbol">btc</div>
</div>
</div>
<span class="token-price">$67,231.40</span>
<span class="token-change up">+2.89%</span>
<span class="token-mcap">$1.32T</span>
<div class="token-action"><a href="#" class="btn btn--sm">Trade</a></div>
</div>
<div class="token-row">
<span class="token-rank">3</span>
<div class="token-info">
<div class="token-icon" style="background: linear-gradient(135deg, #8247e5, #6f3cc8);">P</div>
<div>
<div class="token-name">Polygon</div>
<div class="token-symbol">matic</div>
</div>
</div>
<span class="token-price">$1.24</span>
<span class="token-change down">-1.53%</span>
<span class="token-mcap">$11.6B</span>
<div class="token-action"><a href="#" class="btn btn--sm">Trade</a></div>
</div>
<div class="token-row">
<span class="token-rank">4</span>
<div class="token-info">
<div class="token-icon" style="background: linear-gradient(135deg, #2775ca, #1a5bb5);">U</div>
<div>
<div class="token-name">USD Coin</div>
<div class="token-symbol">usdc</div>
</div>
</div>
<span class="token-price">$1.00</span>
<span class="token-change" style="color: var(--crypto-text-muted);">+0.01%</span>
<span class="token-mcap">$42.8B</span>
<div class="token-action"><a href="#" class="btn btn--sm">Trade</a></div>
</div>
<div class="token-row">
<span class="token-rank">5</span>
<div class="token-info">
<div class="token-icon" style="background: linear-gradient(135deg, #00ffa3, #00d4ff);">S</div>
<div>
<div class="token-name">Solana</div>
<div class="token-symbol">sol</div>
</div>
</div>
<span class="token-price">$178.92</span>
<span class="token-change up">+6.14%</span>
<span class="token-mcap">$82.1B</span>
<div class="token-action"><a href="#" class="btn btn--sm">Trade</a></div>
</div>
</div>
</section>
<!-- CTA -->
<section class="cta">
<div class="cta-inner">
<h2>Start Building the Future</h2>
<p>Connect your wallet and access the full power of decentralized finance. No sign-ups, no intermediaries.</p>
<a href="#" class="btn">Connect Wallet</a>
</div>
</section>
<!-- Footer -->
<footer>
<span class="footer-brand">CryptoVault</span>
<ul class="footer-links">
<li><a href="#">Documentation</a></li>
<li><a href="#">GitHub</a></li>
<li><a href="#">Discord</a></li>
<li><a href="#">Twitter</a></li>
<li><a href="#">Audit Reports</a></li>
</ul>
<span class="footer-copy">Built with the Crypto Aesthetic. Decentralized by design.</span>
</footer>
</div>
</body>
</html>
font-variant-numeric: tabular-nums on all price and numeric displays to ensure digits have uniform width and columns align properly without jumping during live updatesmask-composite: exclude technique creates clean gradient borders on dark cards without the performance overhead of extra wrapper elementsbackdrop-filter: blur() is GPU-intensive; use @supports or media queries to reduce or remove blur on lower-powered devices and keep scroll performance smoothlinear-gradient on a skeleton shape) that match the aesthetic while the user waitsbackground-clip: text gradient headings can lose contrast at certain gradient positions; set a solid color fallback and test across viewport widths to ensure the text remains readable at every breakpoint