Antigravity
Fix CSS import order for TailwindCSS
ec62919
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import "tailwindcss";
/* ===== DESIGN SYSTEM ===== */
:root {
--bg-deep: #030712;
--bg-surface: #0a0f1e;
--card-bg: rgba(15, 23, 42, 0.5);
--glass-border: rgba(255, 255, 255, 0.06);
--glass-border-hover: rgba(255, 255, 255, 0.12);
--accent-cyan: #06b6d4;
--accent-purple: #a855f7;
--accent-blue: #3b82f6;
--accent-pink: #ec4899;
--text-primary: #f1f5f9;
--text-secondary: #64748b;
--text-muted: #475569;
--glow-cyan: rgba(6, 182, 212, 0.15);
--glow-purple: rgba(168, 85, 247, 0.15);
}
* {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
html {
scroll-behavior: smooth;
}
body {
background: var(--bg-deep);
color: var(--text-primary);
overflow-x: hidden;
min-height: 100vh;
}
/* ===== ANIMATED BACKGROUND ===== */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background:
radial-gradient(ellipse 600px 400px at 15% 20%, rgba(6, 182, 212, 0.08) 0%, transparent 70%),
radial-gradient(ellipse 500px 500px at 85% 80%, rgba(168, 85, 247, 0.06) 0%, transparent 70%),
radial-gradient(ellipse 400px 300px at 50% 50%, rgba(59, 130, 246, 0.04) 0%, transparent 70%);
pointer-events: none;
z-index: 0;
animation: bgPulse 8s ease-in-out infinite alternate;
}
@keyframes bgPulse {
0% {
opacity: 0.7;
}
100% {
opacity: 1;
}
}
/* Noise texture overlay */
body::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
opacity: 0.4;
pointer-events: none;
z-index: 0;
}
/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
width: 5px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.08);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.15);
}
/* ===== GLASS CARD ===== */
.glass-card {
position: relative;
background: var(--card-bg);
backdrop-filter: blur(24px) saturate(1.2);
-webkit-backdrop-filter: blur(24px) saturate(1.2);
border: 1px solid var(--glass-border);
border-radius: 24px;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
.glass-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}
.glass-card:hover {
border-color: var(--glass-border-hover);
box-shadow: 0 8px 40px -12px rgba(0, 0, 0, 0.4), 0 0 20px var(--glow-cyan);
}
/* ===== GRADIENT TEXT ===== */
.gradient-text {
background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-text-warm {
background: linear-gradient(135deg, #f97316, #ec4899);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* ===== QUANTUM BUTTON ===== */
.btn-quantum {
position: relative;
background: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-purple) 100%);
color: white;
border: none;
border-radius: 16px;
font-weight: 700;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 20px -4px rgba(6, 182, 212, 0.4);
overflow: hidden;
z-index: 1;
}
.btn-quantum::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-cyan) 100%);
opacity: 0;
transition: opacity 0.4s;
z-index: -1;
}
.btn-quantum:hover::before {
opacity: 1;
}
.btn-quantum:hover {
transform: translateY(-3px);
box-shadow: 0 12px 40px -8px rgba(6, 182, 212, 0.5), 0 0 20px rgba(168, 85, 247, 0.2);
}
.btn-quantum:active {
transform: translateY(-1px);
}
/* ===== INPUTS ===== */
.quantum-input {
width: 100%;
background: rgba(0, 0, 0, 0.3);
border: 1px solid var(--glass-border);
border-radius: 16px;
padding: 16px 20px;
color: var(--text-primary);
font-size: 0.95rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
outline: none;
}
.quantum-input:focus {
border-color: var(--accent-cyan);
box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.1), 0 0 20px rgba(6, 182, 212, 0.05);
background: rgba(0, 0, 0, 0.4);
}
.quantum-input::placeholder {
color: var(--text-muted);
}
/* Select dropdown */
select.quantum-input {
appearance: none;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
background-position: right 12px center;
background-repeat: no-repeat;
background-size: 20px;
padding-right: 40px;
}
select.quantum-input option {
background: #0f172a;
color: white;
}
/* ===== FLOATING ORB ANIMATION ===== */
@keyframes float {
0%,
100% {
transform: translateY(0px) rotate(0deg);
}
50% {
transform: translateY(-20px) rotate(3deg);
}
}
@keyframes glow {
0%,
100% {
opacity: 0.5;
}
50% {
opacity: 1;
}
}
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
.animate-float {
animation: float 6s ease-in-out infinite;
}
.animate-glow {
animation: glow 3s ease-in-out infinite;
}
/* Shimmer loading effect */
.shimmer {
background: linear-gradient(90deg, transparent 25%, rgba(255, 255, 255, 0.05) 50%, transparent 75%);
background-size: 200% 100%;
animation: shimmer 2s infinite;
}
/* ===== STAT COUNTER ===== */
.stat-glow {
position: relative;
}
.stat-glow::after {
content: '';
position: absolute;
inset: -2px;
border-radius: 20px;
background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));
opacity: 0;
z-index: -1;
transition: opacity 0.3s;
filter: blur(8px);
}
.stat-glow:hover::after {
opacity: 0.3;
}