118 lines
2.6 KiB
SCSS
118 lines
2.6 KiB
SCSS
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap');
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 240 10% 3.9%;
|
|
--foreground: 0 0% 98%;
|
|
--card: 240 10% 6%;
|
|
--card-foreground: 0 0% 98%;
|
|
--primary: 262.1 83.3% 57.8%;
|
|
--primary-foreground: 210 20% 98%;
|
|
--secondary: 240 3.7% 15.9%;
|
|
--secondary-foreground: 0 0% 98%;
|
|
--muted: 240 3.7% 15.9%;
|
|
--muted-foreground: 240 5% 64.9%;
|
|
--accent: 262.1 83.3% 57.8%;
|
|
--accent-foreground: 0 0% 98%;
|
|
--border: 240 3.7% 15.9%;
|
|
--input: 240 3.7% 15.9%;
|
|
--ring: 262.1 83.3% 57.8%;
|
|
--radius: 0.75rem;
|
|
}
|
|
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground font-sans antialiased;
|
|
font-feature-settings: 'rlig' 1, 'calt' 1;
|
|
}
|
|
}
|
|
|
|
/* Scrollbar */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: hsl(var(--background));
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: hsl(var(--muted));
|
|
border-radius: 4px;
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: hsl(var(--muted-foreground) / 0.5);
|
|
}
|
|
|
|
/* Utility classes */
|
|
.glass {
|
|
backdrop-filter: blur(16px) saturate(180%);
|
|
background: hsl(var(--background) / 0.7);
|
|
border: 1px solid hsl(var(--border) / 0.3);
|
|
}
|
|
|
|
.gradient-text {
|
|
background: linear-gradient(135deg, hsl(var(--primary)), hsl(280 90% 70%), hsl(320 80% 65%));
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
.gradient-border {
|
|
position: relative;
|
|
&::before {
|
|
content: '';
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: inherit;
|
|
padding: 1px;
|
|
background: linear-gradient(135deg, hsl(var(--primary)), hsl(280 90% 70%), transparent);
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.section-fade {
|
|
opacity: 0;
|
|
transform: translateY(30px);
|
|
transition: opacity 0.8s ease-out, transform 0.8s ease-out;
|
|
&.visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
/* Parallax container */
|
|
.parallax-section {
|
|
will-change: transform;
|
|
}
|
|
|
|
/* Ad placeholder */
|
|
.ad-slot {
|
|
display: none;
|
|
&.ad-enabled {
|
|
display: block;
|
|
min-height: 90px;
|
|
background: hsl(var(--card));
|
|
border: 1px dashed hsl(var(--border));
|
|
border-radius: var(--radius);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.75rem;
|
|
}
|
|
}
|