NeoPy commited on
Commit
a99c7aa
·
verified ·
1 Parent(s): 344beb8
Files changed (1) hide show
  1. style.css +43 -24
style.css CHANGED
@@ -15,56 +15,64 @@ body {
15
  font-family: 'Syne', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
16
  line-height: 1.6;
17
  color: #1f2937;
 
 
 
 
 
18
  }
19
 
20
- /* Custom animations */
21
  @keyframes fadeInUp {
22
  from {
23
  opacity: 0;
24
- transform: translateY(30px);
25
  }
26
  to {
27
  opacity: 1;
28
- transform: translateY(0);
29
  }
30
  }
31
 
32
  @keyframes slideInLeft {
33
  from {
34
  opacity: 0;
35
- transform: translateX(-30px);
36
  }
37
  to {
38
  opacity: 1;
39
- transform: translateX(0);
40
  }
41
  }
42
 
43
  @keyframes slideInRight {
44
  from {
45
  opacity: 0;
46
- transform: translateX(30px);
47
  }
48
  to {
49
  opacity: 1;
50
- transform: translateX(0);
51
  }
52
  }
53
 
54
- /* Animation classes */
55
  .animate-fade-in-up {
56
  animation: fadeInUp 0.8s ease-out forwards;
 
57
  }
58
 
59
  .animate-slide-in-left {
60
  animation: slideInLeft 0.8s ease-out forwards;
 
61
  }
62
 
63
  .animate-slide-in-right {
64
  animation: slideInRight 0.8s ease-out forwards;
 
65
  }
66
 
67
- /* Custom scrollbar */
68
  ::-webkit-scrollbar {
69
  width: 6px;
70
  }
@@ -82,19 +90,18 @@ body {
82
  background: #94a3b8;
83
  }
84
 
85
- /* Form styles */
86
  input:focus,
87
  textarea:focus {
88
  outline: none;
89
- ring: 2px;
90
- ring-color: #000000;
91
  border-color: #000000;
92
  }
93
 
94
- /* Smooth transitions */
95
  a,
96
  button {
97
- transition: all 0.2s ease-in-out;
98
  }
99
 
100
  /* Mobile optimizations */
@@ -114,9 +121,10 @@ button {
114
  }
115
  }
116
 
117
- /* Loading animation for images */
118
  img {
119
  transition: opacity 0.3s ease-in-out;
 
120
  }
121
 
122
  img[loading] {
@@ -134,27 +142,29 @@ button:focus {
134
  outline-offset: 2px;
135
  }
136
 
137
- /* Gradient text effect */
138
  .gradient-text {
139
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
140
  -webkit-background-clip: text;
141
  -webkit-text-fill-color: transparent;
142
  background-clip: text;
 
143
  }
144
 
145
- /* Card hover effects */
146
  .card-hover {
147
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
 
148
  }
149
 
150
  .card-hover:hover {
151
- transform: translateY(-4px);
152
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
153
  }
154
 
155
- /* Button press effect */
156
  .btn-press:active {
157
- transform: scale(0.98);
158
  }
159
 
160
  /* Custom spacing for sections */
@@ -170,14 +180,15 @@ button:focus {
170
  }
171
  }
172
 
173
- /* Glass morphism effect */
174
  .glass {
175
  background: rgba(255, 255, 255, 0.25);
176
  backdrop-filter: blur(10px);
177
  border: 1px solid rgba(255, 255, 255, 0.18);
 
178
  }
179
 
180
- /* Notification styles */
181
  .notification {
182
  position: fixed;
183
  top: 20px;
@@ -188,12 +199,13 @@ button:focus {
188
  padding: 16px;
189
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
190
  z-index: 1000;
191
- transform: translateX(100%);
192
  transition: transform 0.3s ease-in-out;
 
193
  }
194
 
195
  .notification.show {
196
- transform: translateX(0);
197
  }
198
 
199
  /* Dark mode support */
@@ -202,4 +214,11 @@ button:focus {
202
  background: #1f2937;
203
  color: #f9fafb;
204
  }
 
 
 
 
 
 
 
205
  }
 
15
  font-family: 'Syne', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
16
  line-height: 1.6;
17
  color: #1f2937;
18
+ /* Enable hardware acceleration */
19
+ transform: translateZ(0);
20
+ -webkit-transform: translateZ(0);
21
+ /* Optimize rendering */
22
+ will-change: transform;
23
  }
24
 
25
+ /* Custom animations - optimized for performance */
26
  @keyframes fadeInUp {
27
  from {
28
  opacity: 0;
29
+ transform: translateY3d(30px, 0, 0);
30
  }
31
  to {
32
  opacity: 1;
33
+ transform: translateY3d(0, 0, 0);
34
  }
35
  }
36
 
37
  @keyframes slideInLeft {
38
  from {
39
  opacity: 0;
40
+ transform: translate3d(-30px, 0, 0);
41
  }
42
  to {
43
  opacity: 1;
44
+ transform: translate3d(0, 0, 0);
45
  }
46
  }
47
 
48
  @keyframes slideInRight {
49
  from {
50
  opacity: 0;
51
+ transform: translate3d(30px, 0, 0);
52
  }
53
  to {
54
  opacity: 1;
55
+ transform: translate3d(0, 0, 0);
56
  }
57
  }
58
 
59
+ /* Animation classes - optimized with will-change */
60
  .animate-fade-in-up {
61
  animation: fadeInUp 0.8s ease-out forwards;
62
+ will-change: opacity, transform;
63
  }
64
 
65
  .animate-slide-in-left {
66
  animation: slideInLeft 0.8s ease-out forwards;
67
+ will-change: opacity, transform;
68
  }
69
 
70
  .animate-slide-in-right {
71
  animation: slideInRight 0.8s ease-out forwards;
72
+ will-change: opacity, transform;
73
  }
74
 
75
+ /* Custom scrollbar - simplified for performance */
76
  ::-webkit-scrollbar {
77
  width: 6px;
78
  }
 
90
  background: #94a3b8;
91
  }
92
 
93
+ /* Form styles - fixed ring property */
94
  input:focus,
95
  textarea:focus {
96
  outline: none;
97
+ box-shadow: 0 0 0 2px #000000;
 
98
  border-color: #000000;
99
  }
100
 
101
+ /* Smooth transitions - limited to transform and opacity for better performance */
102
  a,
103
  button {
104
+ transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
105
  }
106
 
107
  /* Mobile optimizations */
 
121
  }
122
  }
123
 
124
+ /* Loading animation for images - optimized with will-change */
125
  img {
126
  transition: opacity 0.3s ease-in-out;
127
+ will-change: opacity;
128
  }
129
 
130
  img[loading] {
 
142
  outline-offset: 2px;
143
  }
144
 
145
+ /* Gradient text effect - optimized with will-change */
146
  .gradient-text {
147
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
148
  -webkit-background-clip: text;
149
  -webkit-text-fill-color: transparent;
150
  background-clip: text;
151
+ will-change: transform;
152
  }
153
 
154
+ /* Card hover effects - optimized with transform3d and will-change */
155
  .card-hover {
156
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
157
+ will-change: transform, box-shadow;
158
  }
159
 
160
  .card-hover:hover {
161
+ transform: translateY3d(-4px, 0, 0);
162
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
163
  }
164
 
165
+ /* Button press effect - optimized with transform3d */
166
  .btn-press:active {
167
+ transform: scale3d(0.98, 0.98, 1);
168
  }
169
 
170
  /* Custom spacing for sections */
 
180
  }
181
  }
182
 
183
+ /* Glass morphism effect - optimized with will-change */
184
  .glass {
185
  background: rgba(255, 255, 255, 0.25);
186
  backdrop-filter: blur(10px);
187
  border: 1px solid rgba(255, 255, 255, 0.18);
188
+ will-change: transform;
189
  }
190
 
191
+ /* Notification styles - optimized with transform3d and will-change */
192
  .notification {
193
  position: fixed;
194
  top: 20px;
 
199
  padding: 16px;
200
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
201
  z-index: 1000;
202
+ transform: translate3d(100%, 0, 0);
203
  transition: transform 0.3s ease-in-out;
204
+ will-change: transform;
205
  }
206
 
207
  .notification.show {
208
+ transform: translate3d(0, 0, 0);
209
  }
210
 
211
  /* Dark mode support */
 
214
  background: #1f2937;
215
  color: #f9fafb;
216
  }
217
+ }
218
+
219
+ /* Performance optimization class for elements that frequently change */
220
+ .gpu-accelerated {
221
+ transform: translateZ(0);
222
+ -webkit-transform: translateZ(0);
223
+ will-change: transform;
224
  }