phoenix_duskmoon 5.1.0 → 6.0.2

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.
@@ -0,0 +1,657 @@
1
+
2
+ @layer components {
3
+
4
+ .plasma-ball {
5
+ --size: 350px;
6
+ --base-color: #222222;
7
+ --switch-size: calc(var(--size) * 37 / 350);
8
+ position: relative;
9
+ margin: 0 auto;
10
+ width: var(--size);
11
+ height: var(--size);
12
+ box-sizing: border-box;
13
+
14
+ * {
15
+ box-sizing: border-box;
16
+ }
17
+
18
+ .base {
19
+ position: absolute;
20
+ background: var(--base-color);
21
+ width: calc(var(--size) * 6 / 7);
22
+ height: calc(var(--size) * 4 / 7);
23
+ margin: calc(var(--size) * 48 / 350) auto;
24
+ /* z-index: -2; */
25
+ top: calc(var(--size) * 286 / 350);
26
+ left: calc(var(--size) * 25 / 350);
27
+ }
28
+ .base:before {
29
+ position: absolute;
30
+ top: calc(var(--size) * -44 / 350);
31
+ width: calc(var(--size) * 300 / 350);
32
+ height: calc(var(--size) * 80 / 350);
33
+ border-radius: 100%;
34
+ content: "";
35
+ background: radial-gradient(#222 20%, #353535);
36
+ background: conic-gradient(from 167deg, #666666, #232323, #232323, #666666);
37
+ border: 2px solid #597481;
38
+ box-sizing: border-box;
39
+ left: 0;
40
+ z-index: 0;
41
+ }
42
+ .base:after {
43
+ position: absolute;
44
+ left: calc(var(--size) * -35 / 350);
45
+ bottom: calc(var(--size) * -65 / 350);
46
+ width: calc(var(--size) * 370 / 350);
47
+ height: calc(var(--size) * 110 / 350);
48
+ border-radius: 30% 30% 50% 50%;
49
+ content: "";
50
+ background: var(--base-color);
51
+ z-index: -1;
52
+ }
53
+ .base div {
54
+ background: var(--base-color);
55
+ height: calc(var(--size) * 100 / 350);
56
+ margin-top: calc(var(--size) * 48 / 350);
57
+ float: left;
58
+ margin-left: calc(var(--size) * -53 / 350);
59
+ width: 63%;
60
+ transform: rotate(-85deg);
61
+ z-index: -1;
62
+ position: relative;
63
+ }
64
+ .base div + div {
65
+ margin-top: calc(var(--size) * -99 / 350);
66
+ margin-left: calc(var(--size) * 164 / 350);
67
+ transform: rotate(85deg);
68
+ }
69
+ .base span {
70
+ position: absolute;
71
+ left: calc(var(--size) * -51 / 350);
72
+ bottom: calc(var(--size) * -4 / 350);
73
+ width: calc(var(--size) * 402 / 350);
74
+ height: calc(var(--size) * 160 / 350);
75
+ border-radius: 0% 0% 80% 80%;
76
+ content: "";
77
+ background: #242f3400;
78
+ z-index: 0;
79
+ border: 2px solid transparent;
80
+ border-bottom-color: #435761;
81
+ }
82
+ input.switcher {
83
+ width: calc(var(--size) * 48 / 350);
84
+ height: calc(var(--size) * 48 / 350);
85
+ opacity: 0;
86
+ position: absolute;
87
+ z-index: 3333;
88
+ margin: 0;
89
+ cursor: pointer;
90
+ outline: none;
91
+ border-radius: calc(var(--size) * 50 / 350) !important;
92
+ top: calc(var(--size) * 425 / 350);
93
+ left: calc(var(--size) * 151 / 350);
94
+ }
95
+ .glassball {
96
+ position: relative;
97
+ overflow: hidden;
98
+ margin: 0 auto;
99
+ width: 100%;
100
+ height: 100%;
101
+ border-radius: 100%;
102
+ background-color: rgb(255 255 255 / 0.15);
103
+ top: 0%;
104
+ box-shadow: 0 20px 30px rgba(0, 0, 0, 0.2),
105
+ inset 0px 10px 30px 5px rgba(255, 255, 255, 1);
106
+ position: absolute;
107
+ }
108
+ .glassball:after {
109
+ background: radial-gradient(
110
+ ellipse at center,
111
+ rgba(255, 255, 255, 0.5) 0%,
112
+ rgba(255, 255, 255, 0) 70%
113
+ );
114
+ border-radius: 50%;
115
+ box-shadow: inset 0 20px 30px rgb(255 255 255 / 30%);
116
+ content: "";
117
+ height: 96%;
118
+ left: 2%;
119
+ position: absolute;
120
+ width: 96%;
121
+ top: 2%;
122
+ z-index: 1;
123
+ }
124
+ .glassball:hover {
125
+ cursor: grab;
126
+ }
127
+ .glassball:before {
128
+ position: absolute;
129
+ left: 48%;
130
+ top: 50%;
131
+ width: 0px;
132
+ height: 0px;
133
+ background: radial-gradient(circle closest-side, #9c27b0, transparent);
134
+ transform: translate(-45%, -48%);
135
+ transition: width 0.2s ease, height 0.2s ease;
136
+ animation: spark 5ms ease 0s infinite alternate;
137
+ border: 8px dotted #24e6ff;
138
+ filter: blur(15px);
139
+ border-radius: 100%;
140
+ z-index: 2;
141
+ font-size: 10em;
142
+ color: #d6faff;
143
+ text-align: center;
144
+ line-height: 1;
145
+ content: "s";
146
+ display: none;
147
+ opacity: 0.75;
148
+ }
149
+ .glassball:hover:before {
150
+ width: calc(var(--size) * 120 / 350);
151
+ height: calc(var(--size) * 150 / 350);
152
+ }
153
+ input.switcher:checked + .glassball:before,
154
+ input.switcher:checked + .glassball:after {
155
+ display: block;
156
+ }
157
+ input.switcher:checked + .glassball:after {
158
+ width: 97%;
159
+ height: 97%;
160
+ left: 1.5%;
161
+ top: 1.5%;
162
+ }
163
+ input.switcher:checked + .glassball:hover:after {
164
+ animation: rotation 3s ease 0s infinite alternate;
165
+ background: radial-gradient(
166
+ ellipse at center,
167
+ #ffffff7d 0%,
168
+ #54ecff94 10%,
169
+ transparent 100%
170
+ );
171
+ filter: brightness(1.75);
172
+ opacity: 0.5;
173
+ }
174
+ input.switcher:checked + .glassball {
175
+ transform: translate3d(0, 0, 0);
176
+ backface-visibility: hidden;
177
+ perspective: calc(var(--size) * 1000 / 350);
178
+ background: radial-gradient(
179
+ circle,
180
+ #ff5affb8 0%,
181
+ #ff5affb8 20%,
182
+ #5493d2a8 70%,
183
+ #5493d2a8 100%
184
+ );
185
+ animation: innerlight 5s linear 0s infinite,
186
+ shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
187
+ transition: background 0.4s ease 0s;
188
+ box-shadow: 0 0 15px 5px #5493d2a8;
189
+ border: 1px solid transparent;
190
+ }
191
+
192
+ .switch {
193
+ background: #1b1b1b;
194
+ width: var(--switch-size);
195
+ height: var(--switch-size);
196
+ position: absolute;
197
+ left: calc(50% - var(--switch-size) / 2);
198
+ top: calc(var(--size) * 430 / 350);
199
+ border: 3px solid #4e4e4e;
200
+ z-index: 5;
201
+ border-radius: 100%;
202
+ box-shadow: 0 0 10px 0px #000000, 0 0 5px 1px #2d2d2d, 0 0 3px 1px #000 inset;
203
+ }
204
+ .switch::before {
205
+ content: "";
206
+ position: absolute;
207
+ width: calc(var(--switch-size) * 16 / 37);
208
+ height: calc(var(--switch-size) * 16 / 37);
209
+ bottom: calc(var(--switch-size) * 6 / 37);
210
+ border: calc(var(--switch-size) * 3 / 37) solid #4e4e4e;
211
+ border-top-color: transparent;
212
+ border-radius: 100%;
213
+ left: calc(var(--switch-size) * 5.5 / 37);
214
+ }
215
+ .switch::after {
216
+ content: "";
217
+ position: absolute;
218
+ width: calc(var(--switch-size) * 3 / 37);
219
+ height: calc(var(--switch-size) * 9 / 37);
220
+ bottom: calc(var(--switch-size) * 14 / 37);
221
+ left: calc(var(--switch-size) * 11.5 / 37);
222
+ background: #4e4e4e;
223
+ }
224
+ input:checked + div + div + .switch {
225
+ background: linear-gradient(to bottom, #171717, #404040);
226
+ color: #fff;
227
+ box-shadow: 0 0 10px 0px #03a9f4, 0 0 5px 1px #03a9f4;
228
+ border-color: #222222d1;
229
+ }
230
+ input:checked + div + div + .switch:before {
231
+ border-color: transparent #03a9f4 #03a9f4 #03a9f4;
232
+ }
233
+ input:checked + div + div + .switch:after {
234
+ background: #03a9f4;
235
+ }
236
+ .electrode {
237
+ width: calc(var(--size) * 16 / 350);
238
+ height: calc(var(--size) * 140 / 350);
239
+ bottom: calc(var(--size) * 20 / 350);
240
+ left: calc(50% - 0.5em);
241
+ position: absolute;
242
+ overflow: visible;
243
+ }
244
+ .electrode:not(.hide-electrode) {
245
+ background: linear-gradient(75deg, #3a3a3a 20%, #2d2d2d);
246
+ border-bottom: 1px solid #657882;
247
+ border-radius: 0 0 6px 5px;
248
+ }
249
+ .electrode:before {
250
+ position: absolute;
251
+ left: calc(var(--size) * -16 / 350);
252
+ top: calc(var(--size) * -40 / 350);
253
+ width: calc(var(--size) * 48 / 350);
254
+ height: calc(var(--size) * 48 / 350);
255
+ border-radius: 100%;
256
+ content: "";
257
+ background: radial-gradient(at top left, #4a4949 20%, #2d2d2d);
258
+ border: 1px solid #758e99;
259
+ box-sizing: border-box;
260
+ }
261
+ .electrode:not(.hide-electrode):after {
262
+ position: absolute;
263
+ left: calc(var(--size) * -3 / 350);
264
+ bottom: calc(var(--size) * -11 / 350);
265
+ width: calc(var(--size) * 22 / 350);
266
+ height: calc(var(--size) * 16 / 350);
267
+ border-radius: calc(var(--size) * 140 / 350) / calc(var(--size) * 50 / 350);
268
+ content: "";
269
+ background: linear-gradient(-263deg, #191919 20%, #0a0a0a);
270
+ z-index: -1;
271
+ }
272
+ input.switcher:checked + .glassball .electrode:after {
273
+ background: linear-gradient(-263deg, #3a3a3a 20%, #2d2d2d);
274
+ }
275
+ input.switcher:checked + .glassball .electrode:before {
276
+ background: radial-gradient(
277
+ ellipse farthest-corner at calc(var(--size) * 30 / 350) calc(var(--size) * 30 / 350),
278
+ #999,
279
+ #e449ff,
280
+ #e449ff,
281
+ #9763ff,
282
+ #62edff,
283
+ #fff
284
+ );
285
+ box-shadow: 0 0 10px 2px #e449ffb3, 0 0 10px 2px #fff,
286
+ 0 0 50px -10px #fff inset;
287
+ border-color: #ffffff94;
288
+ }
289
+ input.switcher + .glassball .rays {
290
+ display: none;
291
+ }
292
+ input.switcher:checked + .glassball .rays {
293
+ display: block;
294
+ float: left;
295
+ width: 100%;
296
+ height: 100%;
297
+ position: absolute;
298
+ }
299
+ .ray {
300
+ width: calc(var(--size) * 160 / 350);
301
+ height: calc(var(--size) * 32 / 350);
302
+ position: absolute;
303
+ bottom: calc(var(--size) * 144 / 350);
304
+ filter: drop-shadow(0px 0px 7px #9660f7) drop-shadow(0px 0px 2px #fff);
305
+ }
306
+ .ray:before {
307
+ content: "";
308
+ width: calc(var(--size) * 8 / 350);
309
+ height: calc(var(--size) * 7.2 / 350);
310
+ border: 2px dashed #03a9f4;
311
+ position: absolute;
312
+ border-width: 3px 3px 1px 1px;
313
+ transform: rotate(87deg);
314
+ top: calc(var(--size) * 4.8 / 350);
315
+ left: calc(var(--size) * 3 / 350);
316
+ border-radius: 10px 5px 8px 7px;
317
+ filter: blur(2px);
318
+ box-shadow: 0 0 10px -1px black;
319
+ }
320
+ .ray:after {
321
+ content: "s";
322
+ float: left;
323
+ width: calc(var(--size) * 32 / 350);
324
+ height: calc(var(--size) * 96 / 350);
325
+ margin-top: calc(var(--size) * 20 / 350);
326
+ margin-left: 0px;
327
+ animation: blink 1s linear 0s infinite alternate;
328
+ background: radial-gradient(circle closest-side, #9c27b0, transparent);
329
+ transform: translate(-45%, -48%);
330
+ transition: width 0.2s ease, height 0.2s ease;
331
+ border: calc(var(--size) * 8 / 350) dotted #24e6ff;
332
+ filter: blur(5px);
333
+ border-radius: 100%;
334
+ z-index: 2;
335
+ font-size: calc(var(--size) * 64 / 350);
336
+ color: #d6faff;
337
+ text-align: center;
338
+ line-height: 1;
339
+ }
340
+ .ray span {
341
+ width: calc(var(--size) * 64 / 350);
342
+ height: calc(var(--size) * 16 / 350);
343
+ border: solid calc(var(--size) * 4 / 350) #000;
344
+ border-radius: 238%/50px 50px 0 0;
345
+ position: absolute;
346
+ top: calc(var(--size) * 8 / 350);
347
+ left: 0;
348
+ border-color: #6bbdff transparent transparent transparent;
349
+ }
350
+
351
+ .ray span + span {
352
+ left: 30%;
353
+ transform: rotate(180deg);
354
+ top: calc(var(--size) * 2.4 / 350);
355
+ }
356
+ .ray span + span + span {
357
+ left: 60%;
358
+ transform: rotate(0deg);
359
+ top: calc(var(--size) * 8 / 350);
360
+ }
361
+
362
+ .ray span:last-of-type:before {
363
+ content: "";
364
+ float: right;
365
+ width: calc(var(--size) * 8 / 350);
366
+ height: calc(var(--size) * 8 / 350);
367
+ background: #d1eefb;
368
+ border-radius: 100%;
369
+ box-shadow: 0 0 4px 3px #fff;
370
+ filter: blur(1px);
371
+ margin-top: calc(var(--size) * -2 / 350);
372
+ left: calc(var(--size) * 3 / 350);
373
+ position: relative;
374
+ }
375
+ .ray.bigwave span:last-of-type:before {
376
+ content: "";
377
+ float: left;
378
+ width: calc(var(--size) * 8 / 350);
379
+ height: calc(var(--size) * 8 / 350);
380
+ background: #d1eefb;
381
+ border-radius: 100%;
382
+ box-shadow: 0 0 4px 3px #fff;
383
+ filter: blur(1px);
384
+ margin-top: calc(var(--size) * -3 / 350);
385
+ left: calc(var(--size) * -2 / 350);
386
+ position: relative;
387
+ }
388
+ .ray.bigwave span {
389
+ width: 55%;
390
+ border-width: calc(var(--size) * 4 / 350);
391
+ }
392
+ .ray.bigwave span + span {
393
+ width: 60%;
394
+ left: 40%;
395
+ border-width: calc(var(--size) * 5 / 350);
396
+ margin-left: calc(var(--size) * 4 / 350);
397
+ margin-top: calc(var(--size) * 2 / 350);
398
+ }
399
+
400
+ .rays + .rays {
401
+ transform: rotate(180deg);
402
+ }
403
+ .rays + .rays + .rays {
404
+ transform: rotate(90deg);
405
+ }
406
+ .rays + .rays + .rays + .rays {
407
+ transform: rotate(270deg);
408
+ }
409
+ .rays + .rays + .rays + .rays + .rays {
410
+ transform: skew(-187deg, 0deg) scale(0.675) rotate(0deg);
411
+ display: none;
412
+ animation: touchray1 2.5s ease 0.1s infinite alternate;
413
+ }
414
+ .rays + .rays + .rays + .rays + .rays + .rays {
415
+ transform: skew(-140deg, -40deg) scale(0.675) rotate(180deg);
416
+ display: none;
417
+ animation: touchray2 1s ease 0.25s infinite;
418
+ }
419
+ input.switcher:checked
420
+ + .glassball:hover
421
+ .rays
422
+ + .rays
423
+ + .rays
424
+ + .rays
425
+ + .rays {
426
+ display: block;
427
+ }
428
+
429
+ .rays + .rays + .rays + .rays + .rays .ray {
430
+ width: calc(var(--size) * 136 / 350);
431
+ animation: ray1 0.5s linear 0s infinite alternate;
432
+ }
433
+ .rays + .rays + .rays + .rays + .rays .ray span {
434
+ border-top-width: calc(var(--size) * 8 / 350);
435
+ }
436
+
437
+ .ray:nth-of-type(1) {
438
+ animation: ray1 0.5s linear 0s infinite;
439
+ }
440
+ .ray:nth-of-type(2) {
441
+ animation: ray1 0.75s linear 0s infinite alternate;
442
+ }
443
+ .ray:nth-of-type(3) {
444
+ animation: ray1 0.65s linear 0s infinite reverse;
445
+ }
446
+ .ray:nth-of-type(4) {
447
+ animation: ray1 0.95s linear 0s infinite alternate;
448
+ }
449
+ .ray:nth-of-type(5) {
450
+ animation: ray1 0.85s linear 0s infinite reverse;
451
+ }
452
+
453
+ .rays + .rays .ray:nth-of-type(1) {
454
+ animation-duration: 1.55s;
455
+ }
456
+ .rays + .rays .ray:nth-of-type(2) {
457
+ animation-duration: 1.75s;
458
+ }
459
+ .rays + .rays .ray:nth-of-type(3) {
460
+ animation-duration: 0.65s;
461
+ }
462
+ .rays + .rays .ray:nth-of-type(4) {
463
+ animation-duration: 1.85s;
464
+ }
465
+ .rays + .rays .ray:nth-of-type(5) {
466
+ animation-duration: 1.6s;
467
+ }
468
+
469
+ .rays + .rays + .rays .ray:nth-of-type(1) {
470
+ animation-duration: 1.15s;
471
+ }
472
+ .rays + .rays + .rays .ray:nth-of-type(2) {
473
+ animation-duration: 1.5s;
474
+ }
475
+ .rays + .rays + .rays .ray:nth-of-type(3) {
476
+ animation-duration: 1.35s;
477
+ }
478
+ .rays + .rays + .rays .ray:nth-of-type(4) {
479
+ animation-duration: 1s;
480
+ }
481
+ .rays + .rays + .rays .ray:nth-of-type(5) {
482
+ animation-duration: 1.25s;
483
+ }
484
+
485
+ .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
486
+ animation-duration: 1.05s;
487
+ }
488
+ .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
489
+ animation-duration: 1.35s;
490
+ }
491
+ .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
492
+ animation-duration: 1.25s;
493
+ }
494
+ .rays + .rays + .rays + .rays .ray:nth-of-type(4) {
495
+ animation-duration: 1.15s;
496
+ }
497
+ .rays + .rays + .rays + .rays .ray:nth-of-type(5) {
498
+ animation-duration: 1.45s;
499
+ }
500
+
501
+ .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
502
+ animation-duration: 0.85s;
503
+ }
504
+ .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
505
+ animation-duration: 0.95s;
506
+ }
507
+ .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
508
+ animation-duration: 0.75s;
509
+ }
510
+
511
+ .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(1) {
512
+ animation-duration: 1.1s;
513
+ }
514
+ .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(2) {
515
+ animation-duration: 1.25s;
516
+ }
517
+ .rays + .rays + .rays + .rays + .rays + .rays .ray:nth-of-type(3) {
518
+ animation-duration: 1.35s;
519
+ }
520
+
521
+ }
522
+
523
+ @keyframes rotation {
524
+ 50% {
525
+ transform: rotate(360deg);
526
+ }
527
+ }
528
+ @keyframes blink {
529
+ 0% {
530
+ background: radial-gradient(circle closest-side, #ff5affb8, #5493d2a8);
531
+ transform: translate(-50%, -50%) scale(0.75) rotate(6deg);
532
+ }
533
+ 50% {
534
+ background: radial-gradient(circle closest-side, #5493d2a8, #ff5affb8);
535
+ transform: translate(-50%, -50%) scale(0.5) rotate(2deg);
536
+ }
537
+ 100% {
538
+ background: radial-gradient(circle closest-side, #ffffffa8, #5493d2a8);
539
+ transform: translate(-50%, -50%) scale(0.35) rotate(11deg);
540
+ }
541
+ }
542
+ @keyframes innerlight {
543
+ 0% {
544
+ background-size: 105% 105%;
545
+ background-position: center center;
546
+ box-shadow: 0 0 15px 5px #5493d2a8;
547
+ }
548
+ 25% {
549
+ box-shadow: 0 0 15px 5px #ff5aff30;
550
+ }
551
+ 50% {
552
+ background-size: 85% 85%;
553
+ background-position: center center;
554
+ box-shadow: 0 0 15px 5px #5493d2a8;
555
+ }
556
+ 75% {
557
+ box-shadow: 0 0 15px 5px #ff5aff30;
558
+ }
559
+ 100% {
560
+ background-size: 105% 105%;
561
+ background-position: center center;
562
+ box-shadow: 0 0 15px 5px #5493d2a8;
563
+ }
564
+ }
565
+ @keyframes touchray1 {
566
+ 0% {
567
+ transform: skew(-187deg, 0deg) scale(0.675) rotate(0deg);
568
+ }
569
+ 50% {
570
+ transform: skew(-185deg, 2deg) scale(0.525) rotate(180deg);
571
+ opacity: 1;
572
+ }
573
+ 51% {
574
+ opacity: 0;
575
+ }
576
+ 52% {
577
+ opacity: 1;
578
+ }
579
+ 100% {
580
+ transform: skew(-188deg, -2deg) scale(0.625) rotate(360deg);
581
+ }
582
+ }
583
+ @keyframes touchray2 {
584
+ 0% {
585
+ transform: skew(-140deg, -40deg) scale(0.675) rotate(140deg);
586
+ }
587
+ 50% {
588
+ transform: skew(-143deg, -42deg) scale(0.525) rotate(0deg);
589
+ opacity: 1;
590
+ }
591
+ 51% {
592
+ opacity: 0;
593
+ }
594
+ 52% {
595
+ opacity: 1;
596
+ }
597
+ 100% {
598
+ transform: skew(-145deg, -38deg) scale(0.625) rotate(210deg);
599
+ }
600
+ }
601
+ @keyframes spark {
602
+ 0% {
603
+ background: radial-gradient(circle closest-side, #ff5affb8, #5493d2a8);
604
+ transform: translate(-50%, -50%) scale(0.75) rotate(0deg);
605
+ }
606
+ 50% {
607
+ background: radial-gradient(circle closest-side, #5493d2a8, #ff5affb8);
608
+ transform: translate(-50%, -50%) scale(0.5) rotate(180deg);
609
+ }
610
+ 100% {
611
+ background: radial-gradient(circle closest-side, #ffffffa8, #5493d2a8);
612
+ transform: translate(-50%, -50%) scale(1) rotate(360deg);
613
+ }
614
+ }
615
+ @keyframes ray1 {
616
+ 0% {
617
+ opacity: 0;
618
+ transform: rotate(0deg) translate(0px, 0px);
619
+ }
620
+ 12% {
621
+ opacity: 1;
622
+ transform: rotate(22deg) translate(0px, calc(var(--size) * -35 / 350));
623
+ filter: brightness(1.75);
624
+ }
625
+ 25% {
626
+ opacity: 0;
627
+ transform: rotate(45deg) translate(calc(var(--size) * -33 / 350), calc(var(--size) * -69 / 350));
628
+ }
629
+ 37% {
630
+ opacity: 1;
631
+ transform: rotate(67deg) translate(calc(var(--size) * -64 / 350), calc(var(--size) * -86 / 350));
632
+ filter: brightness(1.15);
633
+ }
634
+ 50% {
635
+ opacity: 0;
636
+ transform: rotate(90deg) translate(calc(var(--size) * -108 / 350), calc(var(--size) * -93 / 350));
637
+ }
638
+ 62% {
639
+ opacity: 1;
640
+ transform: rotate(112deg) translate(calc(var(--size) * -140 / 350), calc(var(--size) * -90 / 350));
641
+ filter: brightness(1.25);
642
+ }
643
+ 75% {
644
+ opacity: 0;
645
+ transform: rotate(135deg) translate(calc(var(--size) * -169 / 350), calc(var(--size) * -69 / 350));
646
+ }
647
+ 87% {
648
+ opacity: 1;
649
+ transform: rotate(157deg) translate(calc(var(--size) * -185 / 350), calc(var(--size) * -36 / 350));
650
+ filter: brightness(1.75);
651
+ }
652
+ 100% {
653
+ opacity: 0;
654
+ transform: rotate(180deg) translate(calc(var(--size) * -192 / 350), calc(var(--size) * 6 / 350));
655
+ }
656
+ }
657
+ }
@@ -0,0 +1,36 @@
1
+
2
+ @layer components {
3
+ .signature {
4
+ --size: 5rem;
5
+ --sign-color: #ff0000aa;
6
+ --rotate: -30deg;
7
+ --opacity: 0.618;
8
+ width: var(--size);
9
+ height: var(--size);
10
+ border: calc(var(--size) * 0.05) solid var(--sign-color);
11
+ border-radius: 50%;
12
+ position: absolute;
13
+ opacity: var(--opacity);
14
+ transform: rotate(var(--rotate));
15
+ right: var(--right, 2rem);
16
+ top: var(--top, 2rem);
17
+ }
18
+ .signature::before {
19
+ position: absolute;
20
+ inset: 2%;
21
+ border: calc(var(--size) * 0.01) solid var(--sign-color);
22
+ border-radius: 50%;
23
+ content: " ";
24
+ }
25
+ .signature::after {
26
+ position: absolute;
27
+ inset: 5%;
28
+ border-radius: 50%;
29
+ content: attr(data-content);
30
+ display: flex;
31
+ justify-content: center;
32
+ align-items: center;
33
+ color: var(--sign-color);
34
+ font-size: calc(var(--size) * 0.3);
35
+ }
36
+ }
@@ -0,0 +1,22 @@
1
+
2
+ @layer components {
3
+ .snowflake {
4
+ position: absolute;
5
+ width: var(--snowflake-size, 10px);
6
+ height: var(--snowflake-size, 10px);
7
+ border-radius: 50%;
8
+ pointer-events: none;
9
+
10
+ &:not(.snowflake-unicode) {
11
+ background: var(--snowflake-color, #FFFFFF);
12
+ filter: drop-shadow(0 0 var(--snowflake-size, 10px) var(--snowflake-color, #FFFFFF));
13
+ }
14
+ }
15
+
16
+ .snowflake.snowflake-unicode::after {
17
+ content: "\2746";
18
+ color: var(--snowflake-color, #FFFFFF);
19
+ font-size: var(--snowflake-size, 10px);
20
+ filter: drop-shadow(0 0 var(--snowflake-size, 10px) var(--snowflake-color, #FFFFFF));
21
+ }
22
+ }