|
|
@import "tailwindcss"; |
|
|
@import "tw-animate-css"; |
|
|
|
|
|
@custom-variant dark (&:is(.dark *)); |
|
|
|
|
|
@theme inline { |
|
|
--color-background: var(--background); |
|
|
--color-foreground: var(--foreground); |
|
|
--font-sans: var(--font-inter-sans); |
|
|
--font-mono: var(--font-ptSans-mono); |
|
|
--color-sidebar-ring: var(--sidebar-ring); |
|
|
--color-sidebar-border: var(--sidebar-border); |
|
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground); |
|
|
--color-sidebar-accent: var(--sidebar-accent); |
|
|
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground); |
|
|
--color-sidebar-primary: var(--sidebar-primary); |
|
|
--color-sidebar-foreground: var(--sidebar-foreground); |
|
|
--color-sidebar: var(--sidebar); |
|
|
--color-chart-5: var(--chart-5); |
|
|
--color-chart-4: var(--chart-4); |
|
|
--color-chart-3: var(--chart-3); |
|
|
--color-chart-2: var(--chart-2); |
|
|
--color-chart-1: var(--chart-1); |
|
|
--color-ring: var(--ring); |
|
|
--color-input: var(--input); |
|
|
--color-border: var(--border); |
|
|
--color-destructive: var(--destructive); |
|
|
--color-accent-foreground: var(--accent-foreground); |
|
|
--color-accent: var(--accent); |
|
|
--color-muted-foreground: var(--muted-foreground); |
|
|
--color-muted: var(--muted); |
|
|
--color-secondary-foreground: var(--secondary-foreground); |
|
|
--color-secondary: var(--secondary); |
|
|
--color-primary-foreground: var(--primary-foreground); |
|
|
--color-primary: var(--primary); |
|
|
--color-popover-foreground: var(--popover-foreground); |
|
|
--color-popover: var(--popover); |
|
|
--color-card-foreground: var(--card-foreground); |
|
|
--color-card: var(--card); |
|
|
--radius-sm: calc(var(--radius) - 4px); |
|
|
--radius-md: calc(var(--radius) - 2px); |
|
|
--radius-lg: var(--radius); |
|
|
--radius-xl: calc(var(--radius) + 4px); |
|
|
} |
|
|
|
|
|
:root { |
|
|
--radius: 0.625rem; |
|
|
--background: oklch(1 0 0); |
|
|
--foreground: oklch(0.145 0 0); |
|
|
--card: oklch(1 0 0); |
|
|
--card-foreground: oklch(0.145 0 0); |
|
|
--popover: oklch(1 0 0); |
|
|
--popover-foreground: oklch(0.145 0 0); |
|
|
--primary: oklch(0.205 0 0); |
|
|
--primary-foreground: oklch(0.985 0 0); |
|
|
--secondary: oklch(0.97 0 0); |
|
|
--secondary-foreground: oklch(0.205 0 0); |
|
|
--muted: oklch(0.97 0 0); |
|
|
--muted-foreground: oklch(0.556 0 0); |
|
|
--accent: oklch(0.97 0 0); |
|
|
--accent-foreground: oklch(0.205 0 0); |
|
|
--destructive: oklch(0.577 0.245 27.325); |
|
|
--border: oklch(0.922 0 0); |
|
|
--input: oklch(0.922 0 0); |
|
|
--ring: oklch(0.708 0 0); |
|
|
--chart-1: oklch(0.646 0.222 41.116); |
|
|
--chart-2: oklch(0.6 0.118 184.704); |
|
|
--chart-3: oklch(0.398 0.07 227.392); |
|
|
--chart-4: oklch(0.828 0.189 84.429); |
|
|
--chart-5: oklch(0.769 0.188 70.08); |
|
|
--sidebar: oklch(0.985 0 0); |
|
|
--sidebar-foreground: oklch(0.145 0 0); |
|
|
--sidebar-primary: oklch(0.205 0 0); |
|
|
--sidebar-primary-foreground: oklch(0.985 0 0); |
|
|
--sidebar-accent: oklch(0.97 0 0); |
|
|
--sidebar-accent-foreground: oklch(0.205 0 0); |
|
|
--sidebar-border: oklch(0.922 0 0); |
|
|
--sidebar-ring: oklch(0.708 0 0); |
|
|
} |
|
|
|
|
|
.dark { |
|
|
--background: oklch(0.145 0 0); |
|
|
--foreground: oklch(0.985 0 0); |
|
|
--card: oklch(0.205 0 0); |
|
|
--card-foreground: oklch(0.985 0 0); |
|
|
--popover: oklch(0.205 0 0); |
|
|
--popover-foreground: oklch(0.985 0 0); |
|
|
--primary: oklch(0.922 0 0); |
|
|
--primary-foreground: oklch(0.205 0 0); |
|
|
--secondary: oklch(0.269 0 0); |
|
|
--secondary-foreground: oklch(0.985 0 0); |
|
|
--muted: oklch(0.269 0 0); |
|
|
--muted-foreground: oklch(0.708 0 0); |
|
|
--accent: oklch(0.269 0 0); |
|
|
--accent-foreground: oklch(0.985 0 0); |
|
|
--destructive: oklch(0.704 0.191 22.216); |
|
|
--border: oklch(1 0 0 / 10%); |
|
|
--input: oklch(1 0 0 / 15%); |
|
|
--ring: oklch(0.556 0 0); |
|
|
--chart-1: oklch(0.488 0.243 264.376); |
|
|
--chart-2: oklch(0.696 0.17 162.48); |
|
|
--chart-3: oklch(0.769 0.188 70.08); |
|
|
--chart-4: oklch(0.627 0.265 303.9); |
|
|
--chart-5: oklch(0.645 0.246 16.439); |
|
|
--sidebar: oklch(0.205 0 0); |
|
|
--sidebar-foreground: oklch(0.985 0 0); |
|
|
--sidebar-primary: oklch(0.488 0.243 264.376); |
|
|
--sidebar-primary-foreground: oklch(0.985 0 0); |
|
|
--sidebar-accent: oklch(0.269 0 0); |
|
|
--sidebar-accent-foreground: oklch(0.985 0 0); |
|
|
--sidebar-border: oklch(1 0 0 / 10%); |
|
|
--sidebar-ring: oklch(0.556 0 0); |
|
|
} |
|
|
|
|
|
body { |
|
|
@apply scroll-smooth |
|
|
} |
|
|
|
|
|
@layer base { |
|
|
* { |
|
|
@apply border-border outline-ring/50; |
|
|
} |
|
|
body { |
|
|
@apply bg-background text-foreground; |
|
|
} |
|
|
html { |
|
|
@apply scroll-smooth; |
|
|
} |
|
|
} |
|
|
|
|
|
.background__noisy { |
|
|
@apply bg-blend-normal pointer-events-none opacity-90; |
|
|
background-size: 25ww auto; |
|
|
background-image: url("/background_noisy.webp"); |
|
|
@apply fixed w-screen h-screen -z-1 top-0 left-0; |
|
|
} |
|
|
|
|
|
.monaco-editor .margin { |
|
|
@apply !bg-neutral-900; |
|
|
} |
|
|
.monaco-editor .monaco-editor-background { |
|
|
@apply !bg-neutral-900; |
|
|
} |
|
|
.monaco-editor .line-numbers { |
|
|
@apply !text-neutral-500; |
|
|
} |
|
|
|
|
|
.matched-line { |
|
|
@apply bg-sky-500/30; |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes liquidBlob1 { |
|
|
0%, 100% { |
|
|
border-radius: 40% 60% 50% 50%; |
|
|
transform: scaleX(1) scaleY(1) rotate(0deg); |
|
|
} |
|
|
12.5% { |
|
|
border-radius: 20% 80% 70% 30%; |
|
|
transform: scaleX(1.6) scaleY(0.4) rotate(25deg); |
|
|
} |
|
|
25% { |
|
|
border-radius: 80% 20% 30% 70%; |
|
|
transform: scaleX(0.5) scaleY(2.1) rotate(-15deg); |
|
|
} |
|
|
37.5% { |
|
|
border-radius: 30% 70% 80% 20%; |
|
|
transform: scaleX(1.8) scaleY(0.6) rotate(40deg); |
|
|
} |
|
|
50% { |
|
|
border-radius: 70% 30% 20% 80%; |
|
|
transform: scaleX(0.4) scaleY(1.9) rotate(-30deg); |
|
|
} |
|
|
62.5% { |
|
|
border-radius: 25% 75% 60% 40%; |
|
|
transform: scaleX(1.5) scaleY(0.7) rotate(55deg); |
|
|
} |
|
|
75% { |
|
|
border-radius: 75% 25% 40% 60%; |
|
|
transform: scaleX(0.6) scaleY(1.7) rotate(-10deg); |
|
|
} |
|
|
87.5% { |
|
|
border-radius: 50% 50% 75% 25%; |
|
|
transform: scaleX(1.3) scaleY(0.8) rotate(35deg); |
|
|
} |
|
|
} |
|
|
|
|
|
@keyframes liquidBlob2 { |
|
|
0%, 100% { |
|
|
border-radius: 60% 40% 50% 50%; |
|
|
transform: scaleX(1) scaleY(1) rotate(12deg); |
|
|
} |
|
|
16% { |
|
|
border-radius: 15% 85% 60% 40%; |
|
|
transform: scaleX(0.3) scaleY(2.3) rotate(50deg); |
|
|
} |
|
|
32% { |
|
|
border-radius: 85% 15% 25% 75%; |
|
|
transform: scaleX(2.0) scaleY(0.5) rotate(-20deg); |
|
|
} |
|
|
48% { |
|
|
border-radius: 30% 70% 85% 15%; |
|
|
transform: scaleX(0.4) scaleY(1.8) rotate(70deg); |
|
|
} |
|
|
64% { |
|
|
border-radius: 70% 30% 15% 85%; |
|
|
transform: scaleX(1.9) scaleY(0.6) rotate(-35deg); |
|
|
} |
|
|
80% { |
|
|
border-radius: 40% 60% 70% 30%; |
|
|
transform: scaleX(0.7) scaleY(1.6) rotate(45deg); |
|
|
} |
|
|
} |
|
|
|
|
|
@keyframes liquidBlob3 { |
|
|
0%, 100% { |
|
|
border-radius: 50% 50% 40% 60%; |
|
|
transform: scaleX(1) scaleY(1) rotate(0deg); |
|
|
} |
|
|
20% { |
|
|
border-radius: 10% 90% 75% 25%; |
|
|
transform: scaleX(2.2) scaleY(0.3) rotate(-45deg); |
|
|
} |
|
|
40% { |
|
|
border-radius: 90% 10% 20% 80%; |
|
|
transform: scaleX(0.4) scaleY(2.5) rotate(60deg); |
|
|
} |
|
|
60% { |
|
|
border-radius: 25% 75% 90% 10%; |
|
|
transform: scaleX(1.7) scaleY(0.5) rotate(-25deg); |
|
|
} |
|
|
80% { |
|
|
border-radius: 75% 25% 10% 90%; |
|
|
transform: scaleX(0.6) scaleY(2.0) rotate(80deg); |
|
|
} |
|
|
} |
|
|
|
|
|
@keyframes liquidBlob4 { |
|
|
0%, 100% { |
|
|
border-radius: 45% 55% 50% 50%; |
|
|
transform: scaleX(1) scaleY(1) rotate(-15deg); |
|
|
} |
|
|
14% { |
|
|
border-radius: 90% 10% 65% 35%; |
|
|
transform: scaleX(0.2) scaleY(2.8) rotate(35deg); |
|
|
} |
|
|
28% { |
|
|
border-radius: 10% 90% 20% 80%; |
|
|
transform: scaleX(2.4) scaleY(0.4) rotate(-50deg); |
|
|
} |
|
|
42% { |
|
|
border-radius: 35% 65% 90% 10%; |
|
|
transform: scaleX(0.3) scaleY(2.1) rotate(70deg); |
|
|
} |
|
|
56% { |
|
|
border-radius: 80% 20% 10% 90%; |
|
|
transform: scaleX(2.0) scaleY(0.5) rotate(-40deg); |
|
|
} |
|
|
70% { |
|
|
border-radius: 20% 80% 55% 45%; |
|
|
transform: scaleX(0.5) scaleY(1.9) rotate(55deg); |
|
|
} |
|
|
84% { |
|
|
border-radius: 65% 35% 80% 20%; |
|
|
transform: scaleX(1.6) scaleY(0.6) rotate(-25deg); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes liquidFlow1 { |
|
|
0%, 100% { transform: translate(0, 0); } |
|
|
16% { transform: translate(60px, -40px); } |
|
|
32% { transform: translate(-45px, -70px); } |
|
|
48% { transform: translate(80px, 25px); } |
|
|
64% { transform: translate(-30px, 60px); } |
|
|
80% { transform: translate(50px, -20px); } |
|
|
} |
|
|
|
|
|
@keyframes liquidFlow2 { |
|
|
0%, 100% { transform: translate(0, 0); } |
|
|
20% { transform: translate(-70px, 50px); } |
|
|
40% { transform: translate(90px, -30px); } |
|
|
60% { transform: translate(-40px, -55px); } |
|
|
80% { transform: translate(65px, 35px); } |
|
|
} |
|
|
|
|
|
@keyframes liquidFlow3 { |
|
|
0%, 100% { transform: translate(0, 0); } |
|
|
12% { transform: translate(-50px, -60px); } |
|
|
24% { transform: translate(40px, -20px); } |
|
|
36% { transform: translate(-30px, 70px); } |
|
|
48% { transform: translate(70px, 20px); } |
|
|
60% { transform: translate(-60px, -35px); } |
|
|
72% { transform: translate(35px, 55px); } |
|
|
84% { transform: translate(-25px, -45px); } |
|
|
} |
|
|
|
|
|
@keyframes liquidFlow4 { |
|
|
0%, 100% { transform: translate(0, 0); } |
|
|
14% { transform: translate(50px, 60px); } |
|
|
28% { transform: translate(-80px, -40px); } |
|
|
42% { transform: translate(30px, -90px); } |
|
|
56% { transform: translate(-55px, 45px); } |
|
|
70% { transform: translate(75px, -25px); } |
|
|
84% { transform: translate(-35px, 65px); } |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes lightSweep { |
|
|
0% { |
|
|
transform: translateX(-150%); |
|
|
opacity: 0; |
|
|
} |
|
|
8% { |
|
|
opacity: 0.3; |
|
|
} |
|
|
25% { |
|
|
opacity: 0.8; |
|
|
} |
|
|
42% { |
|
|
opacity: 0.3; |
|
|
} |
|
|
50% { |
|
|
transform: translateX(150%); |
|
|
opacity: 0; |
|
|
} |
|
|
58% { |
|
|
opacity: 0.3; |
|
|
} |
|
|
75% { |
|
|
opacity: 0.8; |
|
|
} |
|
|
92% { |
|
|
opacity: 0.3; |
|
|
} |
|
|
100% { |
|
|
transform: translateX(-150%); |
|
|
opacity: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
.light-sweep { |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.light-sweep::before { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
right: 0; |
|
|
bottom: 0; |
|
|
width: 300%; |
|
|
background: linear-gradient( |
|
|
90deg, |
|
|
transparent 0%, |
|
|
transparent 20%, |
|
|
rgba(56, 189, 248, 0.1) 35%, |
|
|
rgba(56, 189, 248, 0.2) 45%, |
|
|
rgba(255, 255, 255, 0.2) 50%, |
|
|
rgba(168, 85, 247, 0.2) 55%, |
|
|
rgba(168, 85, 247, 0.1) 65%, |
|
|
transparent 80%, |
|
|
transparent 100% |
|
|
); |
|
|
animation: lightSweep 7s cubic-bezier(0.4, 0, 0.2, 1) infinite; |
|
|
pointer-events: none; |
|
|
z-index: 1; |
|
|
filter: blur(1px); |
|
|
} |
|
|
|