@elsapiens/styles 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +255 -0
- package/dist/backgrounds.css +892 -0
- package/dist/color-schemes.css +189 -0
- package/dist/components.css +1072 -0
- package/dist/index.css +888 -0
- package/dist/variables.css +796 -0
- package/package.json +33 -0
- package/tailwind-preset.js +130 -0
|
@@ -0,0 +1,892 @@
|
|
|
1
|
+
/* @elsapiens/sdk Animated Backgrounds
|
|
2
|
+
*
|
|
3
|
+
* Visible animated backgrounds with large floating shapes.
|
|
4
|
+
* Apply these classes to create atmospheric depth.
|
|
5
|
+
*
|
|
6
|
+
* Available backgrounds:
|
|
7
|
+
* - .el-bg-aurora - Large flowing aurora bands
|
|
8
|
+
* - .el-bg-mesh - Large floating gradient orbs
|
|
9
|
+
* - .el-bg-waves - Flowing wave curves
|
|
10
|
+
* - .el-bg-glow - Pulsing glow orbs
|
|
11
|
+
* - .el-bg-dots - Floating dot pattern
|
|
12
|
+
* - .el-bg-gradient-shift - Color shifting gradient
|
|
13
|
+
* - .el-bg-northern-lights - Dramatic aurora effect
|
|
14
|
+
* - .el-bg-particles - Floating particles
|
|
15
|
+
* - .el-bg-blobs - Large moving blob shapes
|
|
16
|
+
*
|
|
17
|
+
* For fixed backgrounds that don't scroll with content,
|
|
18
|
+
* apply the class to a fixed wrapper element or use
|
|
19
|
+
* background-attachment: fixed on the body.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/* ============================================
|
|
23
|
+
Aurora / Northern Lights Effect
|
|
24
|
+
Large flowing gradient bands
|
|
25
|
+
============================================ */
|
|
26
|
+
.el-bg-aurora {
|
|
27
|
+
position: relative;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.el-bg-aurora::before {
|
|
31
|
+
content: '';
|
|
32
|
+
position: fixed;
|
|
33
|
+
inset: 0;
|
|
34
|
+
z-index: 0;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
opacity: 0.5;
|
|
37
|
+
background:
|
|
38
|
+
radial-gradient(ellipse 80% 50% at 20% 30%, hsl(var(--wisteria-400)) 0%, transparent 50%),
|
|
39
|
+
radial-gradient(ellipse 60% 70% at 70% 60%, hsl(var(--wisteria-500)) 0%, transparent 50%),
|
|
40
|
+
radial-gradient(ellipse 90% 40% at 50% 80%, hsl(var(--wisteria-300)) 0%, transparent 50%);
|
|
41
|
+
animation: aurora-drift 15s ease-in-out infinite;
|
|
42
|
+
filter: blur(40px);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.el-bg-aurora::after {
|
|
46
|
+
content: '';
|
|
47
|
+
position: fixed;
|
|
48
|
+
inset: 0;
|
|
49
|
+
z-index: 0;
|
|
50
|
+
pointer-events: none;
|
|
51
|
+
opacity: 0.2;
|
|
52
|
+
background:
|
|
53
|
+
radial-gradient(ellipse 70% 60% at 80% 20%, hsl(var(--wisteria-300) / 0.5) 0%, transparent 50%),
|
|
54
|
+
radial-gradient(ellipse 50% 80% at 30% 70%, hsl(var(--wisteria-500) / 0.4) 0%, transparent 50%);
|
|
55
|
+
animation: aurora-drift 20s ease-in-out infinite reverse;
|
|
56
|
+
filter: blur(40px);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@keyframes aurora-drift {
|
|
60
|
+
0%, 100% {
|
|
61
|
+
transform: translate(0, 0) scale(1);
|
|
62
|
+
}
|
|
63
|
+
25% {
|
|
64
|
+
transform: translate(5%, -3%) scale(1.05);
|
|
65
|
+
}
|
|
66
|
+
50% {
|
|
67
|
+
transform: translate(-3%, 5%) scale(1.1);
|
|
68
|
+
}
|
|
69
|
+
75% {
|
|
70
|
+
transform: translate(-5%, -2%) scale(1.02);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.dark .el-bg-aurora::before {
|
|
75
|
+
opacity: 0.35;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.dark .el-bg-aurora::after {
|
|
79
|
+
opacity: 0.3;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* ============================================
|
|
83
|
+
Mesh Gradient Background
|
|
84
|
+
Large floating gradient orbs that drift around
|
|
85
|
+
============================================ */
|
|
86
|
+
.el-bg-mesh {
|
|
87
|
+
position: relative;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.el-bg-mesh::before {
|
|
91
|
+
content: '';
|
|
92
|
+
position: fixed;
|
|
93
|
+
width: 700px;
|
|
94
|
+
height: 700px;
|
|
95
|
+
top: -150px;
|
|
96
|
+
left: -100px;
|
|
97
|
+
z-index: 0;
|
|
98
|
+
pointer-events: none;
|
|
99
|
+
opacity: 0.4;
|
|
100
|
+
background: radial-gradient(circle, hsl(var(--wisteria-400)) 0%, transparent 70%);
|
|
101
|
+
border-radius: 50%;
|
|
102
|
+
filter: blur(60px);
|
|
103
|
+
animation: mesh-orb-1 25s ease-in-out infinite;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.el-bg-mesh::after {
|
|
107
|
+
content: '';
|
|
108
|
+
position: fixed;
|
|
109
|
+
width: 600px;
|
|
110
|
+
height: 600px;
|
|
111
|
+
bottom: -100px;
|
|
112
|
+
right: -50px;
|
|
113
|
+
z-index: 0;
|
|
114
|
+
pointer-events: none;
|
|
115
|
+
opacity: 0.35;
|
|
116
|
+
background: radial-gradient(circle, hsl(var(--wisteria-500)) 0%, transparent 70%);
|
|
117
|
+
border-radius: 50%;
|
|
118
|
+
filter: blur(50px);
|
|
119
|
+
animation: mesh-orb-2 30s ease-in-out infinite;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@keyframes mesh-orb-1 {
|
|
123
|
+
0%, 100% {
|
|
124
|
+
transform: translate(0, 0) scale(1);
|
|
125
|
+
}
|
|
126
|
+
33% {
|
|
127
|
+
transform: translate(100px, 80px) scale(1.2);
|
|
128
|
+
}
|
|
129
|
+
66% {
|
|
130
|
+
transform: translate(-50px, 120px) scale(0.9);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@keyframes mesh-orb-2 {
|
|
135
|
+
0%, 100% {
|
|
136
|
+
transform: translate(0, 0) scale(1);
|
|
137
|
+
}
|
|
138
|
+
33% {
|
|
139
|
+
transform: translate(-80px, -100px) scale(1.1);
|
|
140
|
+
}
|
|
141
|
+
66% {
|
|
142
|
+
transform: translate(60px, -60px) scale(1.15);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.dark .el-bg-mesh::before {
|
|
147
|
+
opacity: 0.5;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.dark .el-bg-mesh::after {
|
|
151
|
+
opacity: 0.45;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* ============================================
|
|
155
|
+
Wave Animation
|
|
156
|
+
Large flowing curves that sweep across
|
|
157
|
+
============================================ */
|
|
158
|
+
.el-bg-waves {
|
|
159
|
+
position: relative;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.el-bg-waves::before {
|
|
163
|
+
content: '';
|
|
164
|
+
position: fixed;
|
|
165
|
+
width: 200%;
|
|
166
|
+
height: 500px;
|
|
167
|
+
bottom: -50px;
|
|
168
|
+
left: -50%;
|
|
169
|
+
z-index: 0;
|
|
170
|
+
pointer-events: none;
|
|
171
|
+
opacity: 0.35;
|
|
172
|
+
background:
|
|
173
|
+
radial-gradient(ellipse 40% 100% at 20% 100%, hsl(var(--wisteria-400)) 0%, transparent 70%),
|
|
174
|
+
radial-gradient(ellipse 50% 100% at 60% 100%, hsl(var(--wisteria-500)) 0%, transparent 70%),
|
|
175
|
+
radial-gradient(ellipse 35% 100% at 90% 100%, hsl(var(--wisteria-300)) 0%, transparent 70%);
|
|
176
|
+
filter: blur(40px);
|
|
177
|
+
animation: wave-sweep 12s ease-in-out infinite;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.el-bg-waves::after {
|
|
181
|
+
content: '';
|
|
182
|
+
position: fixed;
|
|
183
|
+
width: 150%;
|
|
184
|
+
height: 400px;
|
|
185
|
+
top: -50px;
|
|
186
|
+
left: -25%;
|
|
187
|
+
z-index: 0;
|
|
188
|
+
pointer-events: none;
|
|
189
|
+
opacity: 0.3;
|
|
190
|
+
background:
|
|
191
|
+
radial-gradient(ellipse 60% 100% at 30% 0%, hsl(var(--wisteria-300)) 0%, transparent 60%),
|
|
192
|
+
radial-gradient(ellipse 40% 100% at 80% 0%, hsl(var(--wisteria-500)) 0%, transparent 60%);
|
|
193
|
+
filter: blur(50px);
|
|
194
|
+
animation: wave-sweep-top 15s ease-in-out infinite reverse;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@keyframes wave-sweep {
|
|
198
|
+
0%, 100% {
|
|
199
|
+
transform: translateX(0) scaleY(1);
|
|
200
|
+
}
|
|
201
|
+
50% {
|
|
202
|
+
transform: translateX(10%) scaleY(1.2);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
@keyframes wave-sweep-top {
|
|
207
|
+
0%, 100% {
|
|
208
|
+
transform: translateX(0) scaleY(1);
|
|
209
|
+
}
|
|
210
|
+
50% {
|
|
211
|
+
transform: translateX(-8%) scaleY(1.15);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.dark .el-bg-waves::before {
|
|
216
|
+
opacity: 0.45;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.dark .el-bg-waves::after {
|
|
220
|
+
opacity: 0.4;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* ============================================
|
|
224
|
+
Glow Effect
|
|
225
|
+
Large pulsing orbs in corners
|
|
226
|
+
============================================ */
|
|
227
|
+
.el-bg-glow {
|
|
228
|
+
position: relative;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.el-bg-glow::before {
|
|
232
|
+
content: '';
|
|
233
|
+
position: fixed;
|
|
234
|
+
width: 500px;
|
|
235
|
+
height: 500px;
|
|
236
|
+
top: -200px;
|
|
237
|
+
right: -150px;
|
|
238
|
+
z-index: 0;
|
|
239
|
+
pointer-events: none;
|
|
240
|
+
opacity: 0.2;
|
|
241
|
+
background: radial-gradient(circle, hsl(var(--wisteria-400)) 0%, transparent 50%);
|
|
242
|
+
border-radius: 50%;
|
|
243
|
+
filter: blur(50px);
|
|
244
|
+
animation: glow-pulse 6s ease-in-out infinite;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.el-bg-glow::after {
|
|
248
|
+
content: '';
|
|
249
|
+
position: fixed;
|
|
250
|
+
width: 400px;
|
|
251
|
+
height: 400px;
|
|
252
|
+
bottom: -100px;
|
|
253
|
+
left: -100px;
|
|
254
|
+
z-index: 0;
|
|
255
|
+
pointer-events: none;
|
|
256
|
+
opacity: 0.15;
|
|
257
|
+
background: radial-gradient(circle, hsl(var(--wisteria-500)) 0%, transparent 50%);
|
|
258
|
+
border-radius: 50%;
|
|
259
|
+
filter: blur(40px);
|
|
260
|
+
animation: glow-pulse 8s ease-in-out infinite 3s;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
@keyframes glow-pulse {
|
|
264
|
+
0%, 100% {
|
|
265
|
+
transform: scale(1);
|
|
266
|
+
opacity: 0.2;
|
|
267
|
+
}
|
|
268
|
+
50% {
|
|
269
|
+
transform: scale(1.3);
|
|
270
|
+
opacity: 0.35;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.dark .el-bg-glow::before,
|
|
275
|
+
.dark .el-bg-glow::after {
|
|
276
|
+
opacity: 0.3;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/* ============================================
|
|
280
|
+
Animated Dots Pattern
|
|
281
|
+
Large dots that slowly float
|
|
282
|
+
============================================ */
|
|
283
|
+
.el-bg-dots {
|
|
284
|
+
position: relative;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.el-bg-dots::before {
|
|
288
|
+
content: '';
|
|
289
|
+
position: fixed;
|
|
290
|
+
inset: 0;
|
|
291
|
+
z-index: 0;
|
|
292
|
+
pointer-events: none;
|
|
293
|
+
opacity: 0.25;
|
|
294
|
+
background-image:
|
|
295
|
+
radial-gradient(circle at 4px 4px, hsl(var(--wisteria-400)) 4px, transparent 4px);
|
|
296
|
+
background-size: 50px 50px;
|
|
297
|
+
animation: dots-float 50s linear infinite;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.el-bg-dots::after {
|
|
301
|
+
content: '';
|
|
302
|
+
position: fixed;
|
|
303
|
+
inset: 0;
|
|
304
|
+
z-index: 0;
|
|
305
|
+
pointer-events: none;
|
|
306
|
+
opacity: 0.2;
|
|
307
|
+
background-image:
|
|
308
|
+
radial-gradient(circle at 3px 3px, hsl(var(--wisteria-500)) 3px, transparent 3px);
|
|
309
|
+
background-size: 70px 70px;
|
|
310
|
+
animation: dots-float 70s linear infinite reverse;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
@keyframes dots-float {
|
|
314
|
+
0% {
|
|
315
|
+
transform: translate(0, 0);
|
|
316
|
+
}
|
|
317
|
+
100% {
|
|
318
|
+
transform: translate(60px, 60px);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.dark .el-bg-dots::before {
|
|
323
|
+
opacity: 0.35;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.dark .el-bg-dots::after {
|
|
327
|
+
opacity: 0.3;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/* ============================================
|
|
331
|
+
Gradient Shift
|
|
332
|
+
Large color bands that shift and move
|
|
333
|
+
============================================ */
|
|
334
|
+
.el-bg-gradient-shift {
|
|
335
|
+
position: relative;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.el-bg-gradient-shift::before {
|
|
339
|
+
content: '';
|
|
340
|
+
position: fixed;
|
|
341
|
+
inset: 0;
|
|
342
|
+
z-index: 0;
|
|
343
|
+
pointer-events: none;
|
|
344
|
+
opacity: 0.15;
|
|
345
|
+
background: linear-gradient(
|
|
346
|
+
135deg,
|
|
347
|
+
hsl(var(--wisteria-300) / 0.8) 0%,
|
|
348
|
+
hsl(var(--wisteria-400) / 0.6) 25%,
|
|
349
|
+
transparent 50%,
|
|
350
|
+
hsl(var(--wisteria-500) / 0.6) 75%,
|
|
351
|
+
hsl(var(--wisteria-400) / 0.8) 100%
|
|
352
|
+
);
|
|
353
|
+
background-size: 200% 200%;
|
|
354
|
+
animation: gradient-shift 20s ease infinite;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.el-bg-gradient-shift::after {
|
|
358
|
+
content: '';
|
|
359
|
+
position: fixed;
|
|
360
|
+
inset: 0;
|
|
361
|
+
z-index: 0;
|
|
362
|
+
pointer-events: none;
|
|
363
|
+
opacity: 0.1;
|
|
364
|
+
background: linear-gradient(
|
|
365
|
+
-45deg,
|
|
366
|
+
transparent 0%,
|
|
367
|
+
hsl(var(--wisteria-400) / 0.5) 30%,
|
|
368
|
+
transparent 50%,
|
|
369
|
+
hsl(var(--wisteria-300) / 0.5) 70%,
|
|
370
|
+
transparent 100%
|
|
371
|
+
);
|
|
372
|
+
background-size: 200% 200%;
|
|
373
|
+
animation: gradient-shift 25s ease infinite reverse;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
@keyframes gradient-shift {
|
|
377
|
+
0%, 100% {
|
|
378
|
+
background-position: 0% 0%;
|
|
379
|
+
}
|
|
380
|
+
25% {
|
|
381
|
+
background-position: 100% 0%;
|
|
382
|
+
}
|
|
383
|
+
50% {
|
|
384
|
+
background-position: 100% 100%;
|
|
385
|
+
}
|
|
386
|
+
75% {
|
|
387
|
+
background-position: 0% 100%;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.dark .el-bg-gradient-shift::before {
|
|
392
|
+
opacity: 0.22;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.dark .el-bg-gradient-shift::after {
|
|
396
|
+
opacity: 0.15;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* ============================================
|
|
400
|
+
Northern Lights Full Effect
|
|
401
|
+
Dramatic large aurora bands
|
|
402
|
+
============================================ */
|
|
403
|
+
.el-bg-northern-lights {
|
|
404
|
+
position: relative;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.el-bg-northern-lights::before {
|
|
408
|
+
content: '';
|
|
409
|
+
position: fixed;
|
|
410
|
+
width: 150%;
|
|
411
|
+
height: 100%;
|
|
412
|
+
top: 0;
|
|
413
|
+
left: -25%;
|
|
414
|
+
z-index: 0;
|
|
415
|
+
pointer-events: none;
|
|
416
|
+
opacity: 0.25;
|
|
417
|
+
background:
|
|
418
|
+
radial-gradient(ellipse 100% 50% at 30% 20%, hsl(160 70% 45% / 0.6) 0%, transparent 50%),
|
|
419
|
+
radial-gradient(ellipse 80% 60% at 60% 40%, hsl(var(--wisteria-400) / 0.7) 0%, transparent 50%),
|
|
420
|
+
radial-gradient(ellipse 90% 40% at 80% 70%, hsl(280 70% 55% / 0.5) 0%, transparent 50%);
|
|
421
|
+
filter: blur(80px);
|
|
422
|
+
animation: northern-lights-dance 12s ease-in-out infinite;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.el-bg-northern-lights::after {
|
|
426
|
+
content: '';
|
|
427
|
+
position: fixed;
|
|
428
|
+
width: 120%;
|
|
429
|
+
height: 80%;
|
|
430
|
+
top: 10%;
|
|
431
|
+
left: -10%;
|
|
432
|
+
z-index: 0;
|
|
433
|
+
pointer-events: none;
|
|
434
|
+
opacity: 0.2;
|
|
435
|
+
background:
|
|
436
|
+
radial-gradient(ellipse 60% 80% at 25% 50%, hsl(var(--wisteria-300) / 0.6) 0%, transparent 50%),
|
|
437
|
+
radial-gradient(ellipse 70% 50% at 75% 30%, hsl(200 70% 50% / 0.5) 0%, transparent 50%);
|
|
438
|
+
filter: blur(60px);
|
|
439
|
+
animation: northern-lights-shimmer 10s ease-in-out infinite 2s;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
@keyframes northern-lights-dance {
|
|
443
|
+
0%, 100% {
|
|
444
|
+
transform: translateY(0) scaleY(1) rotate(0deg);
|
|
445
|
+
}
|
|
446
|
+
25% {
|
|
447
|
+
transform: translateY(-30px) scaleY(1.1) rotate(1deg);
|
|
448
|
+
}
|
|
449
|
+
50% {
|
|
450
|
+
transform: translateY(20px) scaleY(0.95) rotate(-1deg);
|
|
451
|
+
}
|
|
452
|
+
75% {
|
|
453
|
+
transform: translateY(-15px) scaleY(1.05) rotate(0.5deg);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
@keyframes northern-lights-shimmer {
|
|
458
|
+
0%, 100% {
|
|
459
|
+
transform: translateX(0) scale(1);
|
|
460
|
+
opacity: 0.2;
|
|
461
|
+
}
|
|
462
|
+
50% {
|
|
463
|
+
transform: translateX(30px) scale(1.1);
|
|
464
|
+
opacity: 0.35;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.dark .el-bg-northern-lights::before {
|
|
469
|
+
opacity: 0.4;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.dark .el-bg-northern-lights::after {
|
|
473
|
+
opacity: 0.35;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/* ============================================
|
|
477
|
+
Particles Effect
|
|
478
|
+
Larger floating orbs that drift
|
|
479
|
+
============================================ */
|
|
480
|
+
.el-bg-particles {
|
|
481
|
+
position: relative;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.el-bg-particles::before {
|
|
485
|
+
content: '';
|
|
486
|
+
position: fixed;
|
|
487
|
+
inset: 0;
|
|
488
|
+
z-index: 0;
|
|
489
|
+
pointer-events: none;
|
|
490
|
+
background:
|
|
491
|
+
radial-gradient(circle 80px at 10% 20%, hsl(var(--wisteria-400) / 0.3) 0%, transparent 100%),
|
|
492
|
+
radial-gradient(circle 60px at 30% 70%, hsl(var(--wisteria-500) / 0.25) 0%, transparent 100%),
|
|
493
|
+
radial-gradient(circle 100px at 70% 30%, hsl(var(--wisteria-300) / 0.3) 0%, transparent 100%),
|
|
494
|
+
radial-gradient(circle 50px at 85% 80%, hsl(var(--wisteria-400) / 0.2) 0%, transparent 100%),
|
|
495
|
+
radial-gradient(circle 70px at 50% 50%, hsl(var(--wisteria-500) / 0.2) 0%, transparent 100%);
|
|
496
|
+
filter: blur(20px);
|
|
497
|
+
animation: particles-drift 30s ease-in-out infinite;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.el-bg-particles::after {
|
|
501
|
+
content: '';
|
|
502
|
+
position: fixed;
|
|
503
|
+
inset: 0;
|
|
504
|
+
z-index: 0;
|
|
505
|
+
pointer-events: none;
|
|
506
|
+
background:
|
|
507
|
+
radial-gradient(circle 90px at 20% 80%, hsl(var(--wisteria-300) / 0.25) 0%, transparent 100%),
|
|
508
|
+
radial-gradient(circle 70px at 60% 15%, hsl(var(--wisteria-500) / 0.2) 0%, transparent 100%),
|
|
509
|
+
radial-gradient(circle 55px at 90% 50%, hsl(var(--wisteria-400) / 0.25) 0%, transparent 100%);
|
|
510
|
+
filter: blur(25px);
|
|
511
|
+
animation: particles-drift-reverse 40s ease-in-out infinite;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
@keyframes particles-drift {
|
|
515
|
+
0%, 100% {
|
|
516
|
+
transform: translate(0, 0);
|
|
517
|
+
}
|
|
518
|
+
25% {
|
|
519
|
+
transform: translate(30px, -20px);
|
|
520
|
+
}
|
|
521
|
+
50% {
|
|
522
|
+
transform: translate(-20px, 30px);
|
|
523
|
+
}
|
|
524
|
+
75% {
|
|
525
|
+
transform: translate(15px, 15px);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
@keyframes particles-drift-reverse {
|
|
530
|
+
0%, 100% {
|
|
531
|
+
transform: translate(0, 0);
|
|
532
|
+
}
|
|
533
|
+
25% {
|
|
534
|
+
transform: translate(-25px, 25px);
|
|
535
|
+
}
|
|
536
|
+
50% {
|
|
537
|
+
transform: translate(35px, -15px);
|
|
538
|
+
}
|
|
539
|
+
75% {
|
|
540
|
+
transform: translate(-10px, -30px);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
.dark .el-bg-particles::before {
|
|
545
|
+
opacity: 1;
|
|
546
|
+
background:
|
|
547
|
+
radial-gradient(circle 80px at 10% 20%, hsl(var(--wisteria-400) / 0.4) 0%, transparent 100%),
|
|
548
|
+
radial-gradient(circle 60px at 30% 70%, hsl(var(--wisteria-500) / 0.35) 0%, transparent 100%),
|
|
549
|
+
radial-gradient(circle 100px at 70% 30%, hsl(var(--wisteria-300) / 0.4) 0%, transparent 100%),
|
|
550
|
+
radial-gradient(circle 50px at 85% 80%, hsl(var(--wisteria-400) / 0.3) 0%, transparent 100%),
|
|
551
|
+
radial-gradient(circle 70px at 50% 50%, hsl(var(--wisteria-500) / 0.3) 0%, transparent 100%);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
.dark .el-bg-particles::after {
|
|
555
|
+
opacity: 1;
|
|
556
|
+
background:
|
|
557
|
+
radial-gradient(circle 90px at 20% 80%, hsl(var(--wisteria-300) / 0.35) 0%, transparent 100%),
|
|
558
|
+
radial-gradient(circle 70px at 60% 15%, hsl(var(--wisteria-500) / 0.3) 0%, transparent 100%),
|
|
559
|
+
radial-gradient(circle 55px at 90% 50%, hsl(var(--wisteria-400) / 0.35) 0%, transparent 100%);
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
/* ============================================
|
|
563
|
+
Blobs Effect - Large morphing shapes
|
|
564
|
+
============================================ */
|
|
565
|
+
.el-bg-blobs {
|
|
566
|
+
position: relative;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
.el-bg-blobs::before {
|
|
570
|
+
content: '';
|
|
571
|
+
position: fixed;
|
|
572
|
+
width: 500px;
|
|
573
|
+
height: 400px;
|
|
574
|
+
top: -100px;
|
|
575
|
+
left: -100px;
|
|
576
|
+
z-index: 0;
|
|
577
|
+
pointer-events: none;
|
|
578
|
+
opacity: 0.2;
|
|
579
|
+
background: hsl(var(--wisteria-400));
|
|
580
|
+
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
|
|
581
|
+
filter: blur(60px);
|
|
582
|
+
animation: blob-morph-1 20s ease-in-out infinite;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
.el-bg-blobs::after {
|
|
586
|
+
content: '';
|
|
587
|
+
position: fixed;
|
|
588
|
+
width: 450px;
|
|
589
|
+
height: 350px;
|
|
590
|
+
bottom: -80px;
|
|
591
|
+
right: -80px;
|
|
592
|
+
z-index: 0;
|
|
593
|
+
pointer-events: none;
|
|
594
|
+
opacity: 0.18;
|
|
595
|
+
background: hsl(var(--wisteria-500));
|
|
596
|
+
border-radius: 40% 60% 70% 30% / 40% 70% 30% 60%;
|
|
597
|
+
filter: blur(50px);
|
|
598
|
+
animation: blob-morph-2 25s ease-in-out infinite;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
@keyframes blob-morph-1 {
|
|
602
|
+
0%, 100% {
|
|
603
|
+
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
|
|
604
|
+
transform: translate(0, 0) rotate(0deg);
|
|
605
|
+
}
|
|
606
|
+
25% {
|
|
607
|
+
border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
|
|
608
|
+
transform: translate(50px, 30px) rotate(5deg);
|
|
609
|
+
}
|
|
610
|
+
50% {
|
|
611
|
+
border-radius: 50% 60% 30% 60% / 30% 40% 70% 60%;
|
|
612
|
+
transform: translate(20px, 80px) rotate(-5deg);
|
|
613
|
+
}
|
|
614
|
+
75% {
|
|
615
|
+
border-radius: 40% 50% 60% 50% / 60% 50% 40% 50%;
|
|
616
|
+
transform: translate(-30px, 40px) rotate(3deg);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
@keyframes blob-morph-2 {
|
|
621
|
+
0%, 100% {
|
|
622
|
+
border-radius: 40% 60% 70% 30% / 40% 70% 30% 60%;
|
|
623
|
+
transform: translate(0, 0) rotate(0deg);
|
|
624
|
+
}
|
|
625
|
+
25% {
|
|
626
|
+
border-radius: 70% 30% 50% 50% / 30% 50% 70% 50%;
|
|
627
|
+
transform: translate(-40px, -50px) rotate(-4deg);
|
|
628
|
+
}
|
|
629
|
+
50% {
|
|
630
|
+
border-radius: 50% 50% 40% 60% / 60% 40% 50% 50%;
|
|
631
|
+
transform: translate(-80px, -20px) rotate(6deg);
|
|
632
|
+
}
|
|
633
|
+
75% {
|
|
634
|
+
border-radius: 30% 70% 60% 40% / 50% 60% 40% 60%;
|
|
635
|
+
transform: translate(-20px, -60px) rotate(-3deg);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
.dark .el-bg-blobs::before {
|
|
640
|
+
opacity: 0.3;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
.dark .el-bg-blobs::after {
|
|
644
|
+
opacity: 0.28;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
/* ============================================
|
|
648
|
+
Network Effect - Delicate constellation pattern
|
|
649
|
+
Small dots connected by thin lines that drift
|
|
650
|
+
============================================ */
|
|
651
|
+
.el-bg-network {
|
|
652
|
+
position: relative;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
.el-bg-network::before {
|
|
656
|
+
content: '';
|
|
657
|
+
position: fixed;
|
|
658
|
+
inset: 0;
|
|
659
|
+
z-index: 0;
|
|
660
|
+
pointer-events: none;
|
|
661
|
+
opacity: 0.4;
|
|
662
|
+
background:
|
|
663
|
+
/* Small dots - nodes */
|
|
664
|
+
radial-gradient(circle 3px at 12% 18%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
665
|
+
radial-gradient(circle 2px at 28% 12%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
666
|
+
radial-gradient(circle 3px at 45% 22%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
667
|
+
radial-gradient(circle 2px at 62% 15%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
668
|
+
radial-gradient(circle 3px at 78% 28%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
669
|
+
radial-gradient(circle 2px at 88% 18%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
670
|
+
radial-gradient(circle 3px at 18% 42%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
671
|
+
radial-gradient(circle 2px at 35% 48%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
672
|
+
radial-gradient(circle 3px at 55% 38%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
673
|
+
radial-gradient(circle 2px at 72% 52%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
674
|
+
radial-gradient(circle 3px at 85% 45%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
675
|
+
radial-gradient(circle 2px at 22% 68%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
676
|
+
radial-gradient(circle 3px at 42% 72%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
677
|
+
radial-gradient(circle 2px at 58% 65%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
678
|
+
radial-gradient(circle 3px at 75% 78%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
679
|
+
radial-gradient(circle 2px at 92% 72%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
680
|
+
radial-gradient(circle 3px at 15% 88%, hsl(var(--wisteria-500)) 0%, transparent 100%),
|
|
681
|
+
radial-gradient(circle 2px at 38% 92%, hsl(var(--wisteria-400)) 0%, transparent 100%),
|
|
682
|
+
radial-gradient(circle 3px at 65% 85%, hsl(var(--wisteria-300)) 0%, transparent 100%),
|
|
683
|
+
radial-gradient(circle 2px at 82% 95%, hsl(var(--wisteria-500)) 0%, transparent 100%);
|
|
684
|
+
animation: network-drift 20s ease-in-out infinite;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
.el-bg-network::after {
|
|
688
|
+
content: '';
|
|
689
|
+
position: fixed;
|
|
690
|
+
inset: 0;
|
|
691
|
+
z-index: 0;
|
|
692
|
+
pointer-events: none;
|
|
693
|
+
opacity: 0.2;
|
|
694
|
+
background:
|
|
695
|
+
/* Thin connecting lines */
|
|
696
|
+
linear-gradient(125deg, transparent 11.5%, hsl(var(--wisteria-400) / 0.6) 12%, hsl(var(--wisteria-400) / 0.6) 12.05%, transparent 12.5%),
|
|
697
|
+
linear-gradient(65deg, transparent 27.5%, hsl(var(--wisteria-500) / 0.5) 28%, hsl(var(--wisteria-500) / 0.5) 28.05%, transparent 28.5%),
|
|
698
|
+
linear-gradient(155deg, transparent 44.5%, hsl(var(--wisteria-300) / 0.5) 45%, hsl(var(--wisteria-300) / 0.5) 45.05%, transparent 45.5%),
|
|
699
|
+
linear-gradient(85deg, transparent 38.5%, hsl(var(--wisteria-400) / 0.4) 39%, hsl(var(--wisteria-400) / 0.4) 39.05%, transparent 39.5%),
|
|
700
|
+
linear-gradient(175deg, transparent 62.5%, hsl(var(--wisteria-500) / 0.5) 63%, hsl(var(--wisteria-500) / 0.5) 63.05%, transparent 63.5%),
|
|
701
|
+
linear-gradient(35deg, transparent 55.5%, hsl(var(--wisteria-300) / 0.4) 56%, hsl(var(--wisteria-300) / 0.4) 56.05%, transparent 56.5%),
|
|
702
|
+
linear-gradient(115deg, transparent 71.5%, hsl(var(--wisteria-400) / 0.5) 72%, hsl(var(--wisteria-400) / 0.5) 72.05%, transparent 72.5%),
|
|
703
|
+
linear-gradient(145deg, transparent 82.5%, hsl(var(--wisteria-500) / 0.4) 83%, hsl(var(--wisteria-500) / 0.4) 83.05%, transparent 83.5%);
|
|
704
|
+
animation: network-drift-reverse 25s ease-in-out infinite;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
@keyframes network-drift {
|
|
708
|
+
0%, 100% {
|
|
709
|
+
transform: translate(0, 0) scale(1);
|
|
710
|
+
}
|
|
711
|
+
20% {
|
|
712
|
+
transform: translate(15px, -20px) scale(1.01);
|
|
713
|
+
}
|
|
714
|
+
40% {
|
|
715
|
+
transform: translate(-10px, 15px) scale(0.99);
|
|
716
|
+
}
|
|
717
|
+
60% {
|
|
718
|
+
transform: translate(20px, 10px) scale(1.02);
|
|
719
|
+
}
|
|
720
|
+
80% {
|
|
721
|
+
transform: translate(-15px, -10px) scale(1);
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
@keyframes network-drift-reverse {
|
|
726
|
+
0%, 100% {
|
|
727
|
+
transform: translate(0, 0) scale(1);
|
|
728
|
+
}
|
|
729
|
+
20% {
|
|
730
|
+
transform: translate(-20px, 15px) scale(0.99);
|
|
731
|
+
}
|
|
732
|
+
40% {
|
|
733
|
+
transform: translate(15px, -10px) scale(1.01);
|
|
734
|
+
}
|
|
735
|
+
60% {
|
|
736
|
+
transform: translate(-10px, -20px) scale(1);
|
|
737
|
+
}
|
|
738
|
+
80% {
|
|
739
|
+
transform: translate(10px, 20px) scale(1.02);
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.dark .el-bg-network::before {
|
|
744
|
+
opacity: 0.5;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.dark .el-bg-network::after {
|
|
748
|
+
opacity: 0.3;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
/* ============================================
|
|
752
|
+
Origami Effect - Subtle geometric shapes
|
|
753
|
+
A few elegant triangles and diamonds that float
|
|
754
|
+
============================================ */
|
|
755
|
+
.el-bg-origami {
|
|
756
|
+
position: relative;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
.el-bg-origami::before {
|
|
760
|
+
content: '';
|
|
761
|
+
position: fixed;
|
|
762
|
+
inset: 0;
|
|
763
|
+
z-index: 0;
|
|
764
|
+
pointer-events: none;
|
|
765
|
+
opacity: 0.35;
|
|
766
|
+
background:
|
|
767
|
+
/* Large triangle top-left */
|
|
768
|
+
conic-gradient(from 0deg at 15% 25%, hsl(var(--wisteria-400) / 0.5) 0deg, hsl(var(--wisteria-400) / 0.5) 60deg, transparent 60deg),
|
|
769
|
+
/* Diamond bottom-right */
|
|
770
|
+
conic-gradient(from 45deg at 80% 70%, hsl(var(--wisteria-500) / 0.4) 0deg, hsl(var(--wisteria-500) / 0.4) 90deg, transparent 90deg, transparent 180deg, hsl(var(--wisteria-500) / 0.4) 180deg, hsl(var(--wisteria-500) / 0.4) 270deg, transparent 270deg);
|
|
771
|
+
filter: blur(40px);
|
|
772
|
+
animation: origami-float 25s ease-in-out infinite;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
.el-bg-origami::after {
|
|
776
|
+
content: '';
|
|
777
|
+
position: fixed;
|
|
778
|
+
inset: 0;
|
|
779
|
+
z-index: 0;
|
|
780
|
+
pointer-events: none;
|
|
781
|
+
opacity: 0.3;
|
|
782
|
+
background:
|
|
783
|
+
/* Triangle bottom-left */
|
|
784
|
+
conic-gradient(from 180deg at 25% 75%, hsl(var(--wisteria-300) / 0.45) 0deg, hsl(var(--wisteria-300) / 0.45) 60deg, transparent 60deg),
|
|
785
|
+
/* Small diamond top-right */
|
|
786
|
+
conic-gradient(from 45deg at 75% 20%, hsl(var(--wisteria-400) / 0.35) 0deg, hsl(var(--wisteria-400) / 0.35) 90deg, transparent 90deg, transparent 180deg, hsl(var(--wisteria-400) / 0.35) 180deg, hsl(var(--wisteria-400) / 0.35) 270deg, transparent 270deg);
|
|
787
|
+
filter: blur(50px);
|
|
788
|
+
animation: origami-drift 30s ease-in-out infinite reverse;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
@keyframes origami-float {
|
|
792
|
+
0%, 100% {
|
|
793
|
+
transform: translate(0, 0) rotate(0deg) scale(1);
|
|
794
|
+
}
|
|
795
|
+
33% {
|
|
796
|
+
transform: translate(30px, -20px) rotate(2deg) scale(1.05);
|
|
797
|
+
}
|
|
798
|
+
66% {
|
|
799
|
+
transform: translate(-20px, 25px) rotate(-1deg) scale(0.98);
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
@keyframes origami-drift {
|
|
804
|
+
0%, 100% {
|
|
805
|
+
transform: translate(0, 0) rotate(0deg) scale(1);
|
|
806
|
+
}
|
|
807
|
+
33% {
|
|
808
|
+
transform: translate(-25px, 20px) rotate(-2deg) scale(1.03);
|
|
809
|
+
}
|
|
810
|
+
66% {
|
|
811
|
+
transform: translate(25px, -15px) rotate(2deg) scale(0.97);
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
.dark .el-bg-origami::before {
|
|
816
|
+
opacity: 0.45;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
.dark .el-bg-origami::after {
|
|
820
|
+
opacity: 0.4;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
/* ============================================
|
|
824
|
+
Utility: Ensure content stays above backgrounds
|
|
825
|
+
============================================ */
|
|
826
|
+
.el-bg-aurora > *,
|
|
827
|
+
.el-bg-mesh > *,
|
|
828
|
+
.el-bg-waves > *,
|
|
829
|
+
.el-bg-glow > *,
|
|
830
|
+
.el-bg-dots > *,
|
|
831
|
+
.el-bg-gradient-shift > *,
|
|
832
|
+
.el-bg-northern-lights > *,
|
|
833
|
+
.el-bg-particles > *,
|
|
834
|
+
.el-bg-blobs > *,
|
|
835
|
+
.el-bg-network > *,
|
|
836
|
+
.el-bg-origami > * {
|
|
837
|
+
position: relative;
|
|
838
|
+
z-index: 1;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
/* ============================================
|
|
843
|
+
Clip backgrounds to main content area
|
|
844
|
+
Uses CSS variables set by the background container:
|
|
845
|
+
--bg-clip-left: sidebar offset
|
|
846
|
+
--bg-clip-top: top bar offset
|
|
847
|
+
Applied to the container element to clip all pseudo-elements
|
|
848
|
+
============================================ */
|
|
849
|
+
.el-bg-aurora,
|
|
850
|
+
.el-bg-mesh,
|
|
851
|
+
.el-bg-waves,
|
|
852
|
+
.el-bg-glow,
|
|
853
|
+
.el-bg-dots,
|
|
854
|
+
.el-bg-gradient-shift,
|
|
855
|
+
.el-bg-northern-lights,
|
|
856
|
+
.el-bg-particles,
|
|
857
|
+
.el-bg-blobs,
|
|
858
|
+
.el-bg-network,
|
|
859
|
+
.el-bg-origami {
|
|
860
|
+
clip-path: inset(var(--bg-clip-top, 0px) 0 0 var(--bg-clip-left, 0px));
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
/* ============================================
|
|
864
|
+
Reduced Motion Support
|
|
865
|
+
Disable animations for users who prefer reduced motion
|
|
866
|
+
============================================ */
|
|
867
|
+
@media (prefers-reduced-motion: reduce) {
|
|
868
|
+
.el-bg-aurora::before,
|
|
869
|
+
.el-bg-aurora::after,
|
|
870
|
+
.el-bg-mesh::before,
|
|
871
|
+
.el-bg-mesh::after,
|
|
872
|
+
.el-bg-waves::before,
|
|
873
|
+
.el-bg-waves::after,
|
|
874
|
+
.el-bg-glow::before,
|
|
875
|
+
.el-bg-glow::after,
|
|
876
|
+
.el-bg-dots::before,
|
|
877
|
+
.el-bg-dots::after,
|
|
878
|
+
.el-bg-gradient-shift::before,
|
|
879
|
+
.el-bg-gradient-shift::after,
|
|
880
|
+
.el-bg-northern-lights::before,
|
|
881
|
+
.el-bg-northern-lights::after,
|
|
882
|
+
.el-bg-particles::before,
|
|
883
|
+
.el-bg-particles::after,
|
|
884
|
+
.el-bg-blobs::before,
|
|
885
|
+
.el-bg-blobs::after,
|
|
886
|
+
.el-bg-network::before,
|
|
887
|
+
.el-bg-network::after,
|
|
888
|
+
.el-bg-origami::before,
|
|
889
|
+
.el-bg-origami::after {
|
|
890
|
+
animation: none;
|
|
891
|
+
}
|
|
892
|
+
}
|