anycoder-083d3f92 / styles /globals.css
WebashalarForML's picture
Upload styles/globals.css with huggingface_hub
ac917c7 verified
@tailwind base;
@tailwind components;
@tailwind utilities;
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Roboto+Mono:wght@300;400&display=swap');
:root {
--font-playfair: 'Playfair Display', serif;
--font-inter: 'Inter', sans-serif;
--font-roboto-mono: 'Roboto Mono', monospace;
}
body {
background-color: #050505;
color: #ffffff;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #050505;
}
::-webkit-scrollbar-thumb {
background: #333;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
/* Noise Overlay */
.noise-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 50;
opacity: 0.07;
background-image: url('data:image/svg+xml,%3Csvg viewBox=%220 0 200 200%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22noiseFilter%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23noiseFilter)%22 opacity=%221%22/%3E%3C/svg%3E');
}
/* Liquid Metal Button Effect */
.liquid-btn {
position: relative;
overflow: hidden;
transition: all 0.5s ease;
background: #fff;
color: #000;
}
.liquid-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
transition: 0.5s;
}
.liquid-btn:hover::before {
left: 100%;
}
/* Electric Card Border */
.electric-border {
position: relative;
background: rgba(10, 10, 10, 0.8);
backdrop-filter: blur(10px);
}
.electric-border::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(90deg, transparent, #fff, transparent);
opacity: 0.5;
}
.electric-border:hover::after {
opacity: 1;
box-shadow: 0 0 10px #fff;
}
/* Glitch Text Classes */
.glitch {
position: relative;
}
.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #050505;
}
.glitch::before {
left: 2px;
text-shadow: -1px 0 #00ffff;
clip: rect(24px, 550px, 90px, 0);
animation: glitch-anim-2 3s infinite linear alternate-reverse;
}
.glitch::after {
left: -2px;
text-shadow: -1px 0 #ff00ff;
clip: rect(85px, 550px, 140px, 0);
animation: glitch-anim-1 2.5s infinite linear alternate-reverse;
}
@keyframes glitch-anim-1 {
0% { clip: rect(20px, 9999px, 80px, 0); }
20% { clip: rect(130px, 9999px, 160px, 0); }
40% { clip: rect(60px, 9999px, 100px, 0); }
60% { clip: rect(10px, 9999px, 40px, 0); }
80% { clip: rect(120px, 9999px, 150px, 0); }
100% { clip: rect(40px, 9999px, 90px, 0); }
}
@keyframes glitch-anim-2 {
0% { clip: rect(120px, 9999px, 150px, 0); }
20% { clip: rect(10px, 9999px, 50px, 0); }
40% { clip: rect(90px, 9999px, 110px, 0); }
60% { clip: rect(30px, 9999px, 70px, 0); }
80% { clip: rect(60px, 9999px, 100px, 0); }
100% { clip: rect(140px, 9999px, 170px, 0); }
}