11@import "tailwindcss" ;
2+ @import url ('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap' );
23
34@config "../tailwind.config.js" ;
45
56@theme {
6- --color-obsidian-bg : # 1a1b1e ;
7- --color-obsidian-sidebar : # 25262b ;
8- --color-obsidian-card : # 2c2d32 ;
9- --color-obsidian-accent : # 5c7cfa ;
10- --color-obsidian-accent-light : # 748ffc ;
11- --color-obsidian-text : # c1c2c5 ;
12- --color-obsidian-heading : # ffffff ;
7+ --color-obsidian-bg : # 0f1012 ;
8+ --color-obsidian-sidebar : # 16171a ;
9+ --color-obsidian-card : # 1c1d21 ;
10+ --color-obsidian-accent : # 3b82f6 ;
11+ --color-obsidian-accent-light : # 60a5fa ;
12+ --color-obsidian-text : # 94a3b8 ;
13+ --color-obsidian-heading : # f8fafc ;
14+ --font-sans : 'Outfit' , ui-sans-serif, system-ui, sans-serif;
1315}
1416
1517@layer base {
1618 body {
17- @apply bg-obsidian-bg text-obsidian-text selection:bg-obsidian-accent/30;
18- font-family : ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI" , Roboto, "Helvetica Neue" , Arial, "Noto Sans" , sans-serif, "Apple Color Emoji" , "Segoe UI Emoji" , "Segoe UI Symbol" , "Noto Color Emoji" ;
19+ @apply bg-obsidian-bg text-obsidian-text selection:bg-obsidian-accent/30 selection:text-white transition-colors duration-500 font-sans;
1920 }
2021}
2122
2223@layer utilities {
23-
24- /* Glassmorphism effect */
2524 .glass {
26- background : rgba (255 , 255 , 255 , 0.05 );
27- backdrop-filter : blur (10px );
28- -webkit-backdrop-filter : blur (10px );
29- border : 1px solid rgba (255 , 255 , 255 , 0.1 );
25+ background : rgba (255 , 255 , 255 , 0.03 );
26+ backdrop-filter : blur (12px ) saturate (180% );
27+ -webkit-backdrop-filter : blur (12px ) saturate (180% );
28+ border : 1px solid rgba (255 , 255 , 255 , 0.08 );
29+ }
30+
31+ .glass-dark {
32+ background : rgba (0 , 0 , 0 , 0.3 );
33+ backdrop-filter : blur (20px ) saturate (160% );
34+ -webkit-backdrop-filter : blur (20px ) saturate (160% );
35+ border : 1px solid rgba (255 , 255 , 255 , 0.05 );
36+ }
37+
38+ .glow-hover {
39+ transition : all 0.4s cubic-bezier (0.16 , 1 , 0.3 , 1 );
40+ }
41+
42+ .glow-hover : hover {
43+ box-shadow : 0 0 40px rgba (59 , 130 , 246 , 0.15 );
44+ border-color : rgba (59 , 130 , 246 , 0.3 );
45+ transform : translateY (-4px ) scale (1.01 );
46+ }
47+
48+ .text-glow {
49+ text-shadow : 0 0 15px rgba (59 , 130 , 246 , 0.5 );
50+ }
51+
52+ .gradient-text {
53+ @apply bg-clip-text text-transparent bg-gradient-to-r from-obsidian-accent to-obsidian-accent-light;
3054 }
3155
32- /* Animated gradient background */
3356 .gradient-animate {
34- background : linear-gradient (45deg , # 5c7cfa , # 748ffc , # 5c7cfa );
35- background-size : 200 % 200 % ;
36- animation : gradient-shift 3 s ease infinite;
57+ background : linear-gradient (- 45deg , # 0f1012 , # 16171a , # 1e293b , # 111827 );
58+ background-size : 400 % 400 % ;
59+ animation : gradient-flow 15 s ease infinite;
3760 }
3861
39- /* Shimmer loading effect */
4062 .shimmer {
41- background : linear-gradient (90deg , transparent, rgba (255 , 255 , 255 , 0.1 ), transparent);
63+ background : linear-gradient (90deg , transparent, rgba (255 , 255 , 255 , 0.05 ), transparent);
4264 background-size : 200% 100% ;
43- animation : shimmer 1.5 s infinite;
65+ animation : shimmer 2 s infinite;
4466 }
4567
46- /* Pulse glow effect */
47- .pulse-glow {
48- animation : pulse-glow 2s ease-in-out infinite;
68+ .stagger-1 {
69+ animation-delay : 100ms ;
4970 }
5071
51- /* Float animation */
52- .float {
53- animation : float 3s ease-in-out infinite;
72+ .stagger-2 {
73+ animation-delay : 200ms ;
5474 }
55- }
5675
57- @keyframes gradient-shift {
76+ .stagger-3 {
77+ animation-delay : 300ms ;
78+ }
5879
59- 0% ,
60- 100% {
80+ .stagger-4 {
81+ animation-delay : 400ms ;
82+ }
83+ }
84+
85+ @keyframes gradient-flow {
86+ 0% {
6187 background-position : 0% 50% ;
6288 }
6389
6490 50% {
6591 background-position : 100% 50% ;
6692 }
93+
94+ 100% {
95+ background-position : 0% 50% ;
96+ }
6797}
6898
6999@keyframes shimmer {
76106 }
77107}
78108
79- @keyframes pulse-glow {
109+ @keyframes slide-up {
110+ from {
111+ opacity : 0 ;
112+ transform : translateY (20px );
113+ }
80114
81- 0 % ,
82- 100 % {
83- box-shadow : 0 0 20 px rgba ( 92 , 124 , 250 , 0.3 );
115+ to {
116+ opacity : 1 ;
117+ transform : translateY ( 0 );
84118 }
119+ }
85120
86- 50% {
87- box-shadow : 0 0 30px rgba (92 , 124 , 250 , 0.6 );
121+ @keyframes fade-in {
122+ from {
123+ opacity : 0 ;
124+ }
125+
126+ to {
127+ opacity : 1 ;
88128 }
89129}
90130
91- @keyframes float {
131+ @keyframes scale-in {
132+ from {
133+ opacity : 0 ;
134+ transform : scale (0.95 );
135+ }
136+
137+ to {
138+ opacity : 1 ;
139+ transform : scale (1 );
140+ }
141+ }
142+
143+ @keyframes pulse-glow {
92144
93145 0% ,
94146 100% {
95- transform : translateY ( 0 px );
147+ box-shadow : 0 0 20 px rgba ( 59 , 130 , 246 , 0.2 );
96148 }
97149
98150 50% {
99- transform : translateY ( -10 px );
151+ box-shadow : 0 0 40 px rgba ( 59 , 130 , 246 , 0.4 );
100152 }
153+ }
154+
155+ .animate-slide-up {
156+ animation : slide-up 0.8s cubic-bezier (0.16 , 1 , 0.3 , 1 ) both;
157+ }
158+
159+ .animate-fade-in {
160+ animation : fade-in 1s ease-out both;
161+ }
162+
163+ .animate-scale-in {
164+ animation : scale-in 0.6s cubic-bezier (0.16 , 1 , 0.3 , 1 ) both;
101165}
0 commit comments