Kartikeya Mishra
Deploy SalesCode recapture detector to Space
7c34b66
Raw
History Blame Contribute Delete
7.25 kB
@import "tailwindcss";
@theme {
--color-background: #09090b; /* near-black dark gray */
--color-surface: #18181b; /* slightly lighter dark gray */
--color-primary: #10b981;
--color-success: #10b981;
--color-warning: #f59e0b;
--color-danger: #ef4444;
}
@layer base {
body {
@apply bg-background text-zinc-300 overflow-x-hidden;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}
}
@layer components {
.soc-card {
@apply bg-surface/95 border border-zinc-800/90 rounded-xl shadow-sm overflow-hidden backdrop-blur-lg transition-all duration-300;
}
.soc-card-interactive {
@apply bg-surface/95 border border-zinc-800/90 rounded-xl shadow-sm overflow-hidden backdrop-blur-lg transition-all duration-300 hover:border-zinc-600 hover:shadow-lg hover:shadow-primary/10 hover:-translate-y-0.5 relative;
}
/* Add a subtle top-border glow on interactive cards when hovered */
.soc-card-interactive::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(16, 185, 129, 0.5), transparent);
opacity: 0;
transition: opacity 0.3s ease;
}
.soc-card-interactive:hover::before {
opacity: 1;
}
.soc-panel {
@apply bg-zinc-900/50 border border-zinc-800/60 rounded-lg overflow-hidden;
}
.glass-panel {
@apply bg-zinc-950/60 backdrop-blur-md border border-zinc-800/50 rounded-lg;
}
.custom-scrollbar::-webkit-scrollbar {
width: 4px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
@apply bg-zinc-700/50 rounded-full;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
@apply bg-zinc-600/50;
}
}
@layer utilities {
.scanlines {
background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0) 50%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.2));
background-size: 100% 4px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
z-index: 10;
}
.grid-bg {
background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
background-size: 30px 30px;
position: absolute;
inset: 0;
pointer-events: none;
}
.forensic-bg {
z-index: 0;
}
.star-layer {
position: absolute;
width: 200vw;
height: 200vh;
top: -50vh;
left: -50vw;
pointer-events: none;
}
.star-layer-static {
background-image:
radial-gradient(1px 1px at 10% 20%, rgba(255, 255, 255, 0.4), transparent),
radial-gradient(1.5px 1.5px at 30% 60%, rgba(200, 255, 255, 0.5), transparent),
radial-gradient(1px 1px at 80% 40%, rgba(255, 255, 255, 0.3), transparent),
radial-gradient(2px 2px at 50% 90%, rgba(100, 200, 255, 0.2), transparent),
radial-gradient(1px 1px at 70% 10%, rgba(255, 255, 255, 0.4), transparent),
radial-gradient(1px 1px at 90% 80%, rgba(200, 255, 255, 0.3), transparent);
background-size: 200px 200px;
opacity: 0.8;
}
.star-layer-1 {
background-image:
radial-gradient(1px 1px at 25% 15%, rgba(255, 255, 255, 0.8), transparent),
radial-gradient(1.5px 1.5px at 60% 70%, rgba(200, 255, 255, 0.7), transparent),
radial-gradient(2px 2px at 90% 45%, rgba(255, 255, 255, 0.6), transparent);
background-size: 300px 300px;
animation: drift 50s linear infinite;
opacity: 0.9;
}
.star-layer-2 {
background-image:
radial-gradient(1.5px 1.5px at 10% 80%, rgba(255, 255, 255, 0.7), transparent),
radial-gradient(1.5px 1.5px at 45% 30%, rgba(200, 255, 255, 0.6), transparent),
radial-gradient(1px 1px at 75% 90%, rgba(255, 255, 255, 0.5), transparent);
background-size: 400px 400px;
animation: drift 70s linear infinite reverse;
opacity: 0.8;
}
.star-layer-3 {
background-image:
radial-gradient(2px 2px at 30% 20%, rgba(255, 255, 255, 0.5), transparent),
radial-gradient(1px 1px at 85% 65%, rgba(200, 255, 255, 0.4), transparent),
radial-gradient(1.5px 1.5px at 50% 50%, rgba(255, 255, 255, 0.6), transparent);
background-size: 500px 500px;
animation: drift 40s linear infinite;
opacity: 0.7;
}
/* Mouse Parallax Transforms */
.parallax-1 { transform: translate(calc(var(--mouse-x-norm, 0) * -10px), calc(var(--mouse-y-norm, 0) * -10px)); transition: transform 0.2s ease-out; }
.parallax-2 { transform: translate(calc(var(--mouse-x-norm, 0) * -25px), calc(var(--mouse-y-norm, 0) * -25px)); transition: transform 0.2s ease-out; }
.parallax-3 { transform: translate(calc(var(--mouse-x-norm, 0) * -40px), calc(var(--mouse-y-norm, 0) * -40px)); transition: transform 0.2s ease-out; }
.parallax-4 { transform: translate(calc(var(--mouse-x-norm, 0) * -60px), calc(var(--mouse-y-norm, 0) * -60px)); transition: transform 0.2s ease-out; }
.nebula-haze {
position: absolute;
border-radius: 50%;
filter: blur(60px);
pointer-events: none;
animation: pulse-haze 15s ease-in-out infinite alternate;
}
.nebula-1 {
top: -10%;
left: 20%;
width: 60vw;
height: 60vh;
background: radial-gradient(circle, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
}
.nebula-2 {
bottom: -20%;
right: -10%;
width: 80vw;
height: 80vh;
background: radial-gradient(circle, rgba(59, 130, 246, 0.12) 0%, transparent 70%);
animation-delay: -7s;
}
.scanline-layer {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, transparent, rgba(16, 185, 129, 0.1) 50%, transparent);
background-size: 100% 10px;
animation: scan-radar 8s linear infinite;
pointer-events: none;
}
.cursor-orb {
position: fixed;
top: 0; left: 0;
width: 800px; height: 800px;
transform: translate(calc(var(--mouse-x, 0px) - 50%), calc(var(--mouse-y, 0px) - 50%));
background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 50%);
pointer-events: none;
z-index: 1;
}
}
@keyframes drift {
0% { transform: translate(0, 0); }
100% { transform: translate(-20%, -20%); }
}
@keyframes pulse-haze {
0% { opacity: 0.5; transform: scale(1); }
100% { opacity: 1; transform: scale(1.15); }
}
@keyframes scan-radar {
0% { transform: translateY(-100%); }
100% { transform: translateY(100vh); }
}
@keyframes scanline-anim {
0% { transform: translateY(-100%); }
100% { transform: translateY(100vh); }
}
.scanline-moving {
position: absolute;
top: 0; left: 0; right: 0; height: 10vh;
background: linear-gradient(to bottom, transparent, rgba(16, 185, 129, 0.05), transparent);
animation: scanline-anim 8s linear infinite;
pointer-events: none;
z-index: 5;
}
@media (prefers-reduced-motion: reduce) {
.scanline-moving, .scanline-layer {
display: none;
}
.soc-card-interactive {
transition: none;
}
.soc-card-interactive:hover {
transform: none;
}
.star-layer, .nebula-haze {
animation: none !important;
}
.cursor-orb {
display: none !important;
}
}