@jjlmoya/utils-creative 1.17.0 → 1.19.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.
@@ -0,0 +1,550 @@
1
+ .zg-section {
2
+ max-width: 64rem;
3
+ margin: 0 auto;
4
+ padding: 3rem 1rem;
5
+ position: relative;
6
+ }
7
+
8
+ .zg-grid {
9
+ display: grid;
10
+ grid-template-columns: 1fr 2fr;
11
+ gap: 2rem;
12
+ align-items: start;
13
+ }
14
+
15
+ @media (max-width: 768px) {
16
+ .zg-grid {
17
+ grid-template-columns: 1fr;
18
+ }
19
+ }
20
+
21
+ .zg-left {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 1rem;
25
+ }
26
+
27
+ .zg-config-card {
28
+ position: relative;
29
+ background: rgba(255, 255, 255, 0.85);
30
+ backdrop-filter: blur(12px);
31
+ border: 1px solid #e2e8f0;
32
+ border-radius: 1.5rem;
33
+ padding: 1.5rem;
34
+ box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1);
35
+ overflow: hidden;
36
+ }
37
+
38
+ .theme-dark .zg-config-card {
39
+ background: rgba(24, 24, 27, 0.85);
40
+ border-color: #27272a;
41
+ }
42
+
43
+ .zg-config-hover-bg {
44
+ position: absolute;
45
+ inset: 0;
46
+ background: linear-gradient(135deg, rgba(147, 51, 234, 0.05), transparent);
47
+ opacity: 0;
48
+ pointer-events: none;
49
+ transition: opacity 0.5s;
50
+ }
51
+
52
+ .zg-config-card:hover .zg-config-hover-bg {
53
+ opacity: 1;
54
+ }
55
+
56
+ .zg-config-title {
57
+ font-size: 1.1rem;
58
+ font-weight: 700;
59
+ color: #0f172a;
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 0.5rem;
63
+ margin: 0 0 1.5rem;
64
+ }
65
+
66
+ .theme-dark .zg-config-title {
67
+ color: #fff;
68
+ }
69
+
70
+ .zg-config-body {
71
+ display: flex;
72
+ flex-direction: column;
73
+ gap: 2rem;
74
+ }
75
+
76
+ .zg-field {
77
+ display: flex;
78
+ flex-direction: column;
79
+ gap: 0.75rem;
80
+ }
81
+
82
+ .zg-field-header {
83
+ display: flex;
84
+ justify-content: space-between;
85
+ align-items: center;
86
+ }
87
+
88
+ .zg-field-label {
89
+ font-size: 0.7rem;
90
+ font-weight: 700;
91
+ text-transform: uppercase;
92
+ letter-spacing: 0.1em;
93
+ color: #64748b;
94
+ }
95
+
96
+ .theme-dark .zg-field-label {
97
+ color: #71717a;
98
+ }
99
+
100
+ .zg-intensity-val {
101
+ font-size: 0.875rem;
102
+ font-weight: 700;
103
+ color: #9333ea;
104
+ }
105
+
106
+ .zg-slider {
107
+ width: 100%;
108
+ height: 0.375rem;
109
+ border-radius: 999px;
110
+ background: #e2e8f0;
111
+ appearance: none;
112
+ cursor: pointer;
113
+ accent-color: #9333ea;
114
+ }
115
+
116
+ .theme-dark .zg-slider {
117
+ background: #27272a;
118
+ }
119
+
120
+ .zg-toggles {
121
+ display: flex;
122
+ flex-direction: column;
123
+ gap: 0.75rem;
124
+ }
125
+
126
+ .zg-toggle-row {
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: space-between;
130
+ padding: 0.75rem;
131
+ background: #f8fafc;
132
+ border-radius: 1rem;
133
+ cursor: pointer;
134
+ border: 1px solid transparent;
135
+ transition: background 0.15s, border-color 0.15s;
136
+ }
137
+
138
+ .zg-toggle-row:hover {
139
+ background: #f1f5f9;
140
+ border-color: rgba(147, 51, 234, 0.15);
141
+ }
142
+
143
+ .theme-dark .zg-toggle-row {
144
+ background: rgba(9, 9, 11, 0.5);
145
+ }
146
+
147
+ .theme-dark .zg-toggle-row:hover {
148
+ background: #27272a;
149
+ }
150
+
151
+ .zg-toggle-label {
152
+ font-size: 0.875rem;
153
+ font-weight: 500;
154
+ color: #374151;
155
+ }
156
+
157
+ .theme-dark .zg-toggle-label {
158
+ color: #d4d4d8;
159
+ }
160
+
161
+ .zg-switch {
162
+ position: relative;
163
+ display: inline-flex;
164
+ align-items: center;
165
+ }
166
+
167
+ .zg-switch-input {
168
+ position: absolute;
169
+ opacity: 0;
170
+ width: 0;
171
+ height: 0;
172
+ }
173
+
174
+ .zg-switch-track {
175
+ width: 2.5rem;
176
+ height: 1.25rem;
177
+ background: #d1d5db;
178
+ border-radius: 999px;
179
+ transition: background 0.2s;
180
+ position: relative;
181
+ }
182
+
183
+ .zg-switch-track::after {
184
+ content: '';
185
+ position: absolute;
186
+ top: 2px;
187
+ left: 2px;
188
+ width: 1rem;
189
+ height: 1rem;
190
+ background: #fff;
191
+ border-radius: 50%;
192
+ transition: transform 0.2s;
193
+ }
194
+
195
+ .zg-switch-input:checked+.zg-switch-track {
196
+ background: #9333ea;
197
+ }
198
+
199
+ .zg-switch-input:checked+.zg-switch-track::after {
200
+ transform: translateX(1.25rem);
201
+ }
202
+
203
+ .theme-dark .zg-switch-track {
204
+ background: #3f3f46;
205
+ }
206
+
207
+ .zg-reset-btn {
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: center;
211
+ gap: 0.5rem;
212
+ width: 100%;
213
+ padding: 0.75rem;
214
+ background: transparent;
215
+ border: none;
216
+ cursor: pointer;
217
+ font-size: 0.7rem;
218
+ font-weight: 700;
219
+ text-transform: uppercase;
220
+ letter-spacing: 0.1em;
221
+ color: #94a3b8;
222
+ transition: color 0.15s;
223
+ }
224
+
225
+ .zg-reset-btn:hover {
226
+ color: #9333ea;
227
+ }
228
+
229
+ .theme-dark .zg-reset-btn {
230
+ color: #52525b;
231
+ }
232
+
233
+ .theme-dark .zg-reset-btn:hover {
234
+ color: #a855f7;
235
+ }
236
+
237
+ .zg-warning {
238
+ padding: 1rem;
239
+ background: rgba(99, 102, 241, 0.05);
240
+ border: 1px solid rgba(99, 102, 241, 0.1);
241
+ border-radius: 1rem;
242
+ }
243
+
244
+ .zg-warning p {
245
+ font-size: 0.65rem;
246
+ line-height: 1.6;
247
+ color: #4338ca;
248
+ font-weight: 500;
249
+ margin: 0;
250
+ }
251
+
252
+ .theme-dark .zg-warning p {
253
+ color: rgba(165, 180, 252, 0.8);
254
+ }
255
+
256
+ .zg-right {
257
+ display: flex;
258
+ flex-direction: column;
259
+ gap: 2rem;
260
+ }
261
+
262
+ .zg-editor-card {
263
+ background: #fff;
264
+ border: 1px solid #e2e8f0;
265
+ border-radius: 1.5rem;
266
+ overflow: hidden;
267
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
268
+ display: flex;
269
+ flex-direction: column;
270
+ }
271
+
272
+ .theme-dark .zg-editor-card {
273
+ background: #09090b;
274
+ border-color: #27272a;
275
+ }
276
+
277
+ .zg-editor-bar {
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: space-between;
281
+ padding: 1rem 1.5rem;
282
+ border-bottom: 1px solid #f1f5f9;
283
+ background: rgba(248, 250, 252, 0.5);
284
+ }
285
+
286
+ .theme-dark .zg-editor-bar {
287
+ border-color: #18181b;
288
+ background: rgba(24, 24, 27, 0.3);
289
+ }
290
+
291
+ .zg-editor-bar-left {
292
+ display: flex;
293
+ align-items: center;
294
+ gap: 0.75rem;
295
+ }
296
+
297
+ .zg-editor-filename {
298
+ font-size: 0.7rem;
299
+ color: #94a3b8;
300
+ text-transform: uppercase;
301
+ letter-spacing: 0.05em;
302
+ }
303
+
304
+ .theme-dark .zg-editor-filename {
305
+ color: #52525b;
306
+ }
307
+
308
+ .zg-textarea {
309
+ width: 100%;
310
+ padding: 2rem;
311
+ background: transparent;
312
+ color: #1e293b;
313
+ font-size: 1.125rem;
314
+ font-weight: 500;
315
+ outline: none;
316
+ resize: none;
317
+ min-height: 10rem;
318
+ border: none;
319
+ }
320
+
321
+ .theme-dark .zg-textarea {
322
+ color: #e4e4e7;
323
+ }
324
+
325
+ .zg-textarea::placeholder {
326
+ color: #cbd5e1;
327
+ }
328
+
329
+ .theme-dark .zg-textarea::placeholder {
330
+ color: #3f3f46;
331
+ }
332
+
333
+ .zg-editor-footer {
334
+ display: flex;
335
+ align-items: center;
336
+ gap: 1rem;
337
+ padding: 0 2rem 2rem;
338
+ justify-content: flex-end;
339
+ }
340
+
341
+ .zg-char-count {
342
+ font-size: 0.65rem;
343
+ color: #94a3b8;
344
+ }
345
+
346
+ .theme-dark .zg-char-count {
347
+ color: #3f3f46;
348
+ }
349
+
350
+ .zg-footer-sep {
351
+ height: 1rem;
352
+ width: 1px;
353
+ background: #e2e8f0;
354
+ }
355
+
356
+ .theme-dark .zg-footer-sep {
357
+ background: #27272a;
358
+ }
359
+
360
+ .zg-copy-btn {
361
+ display: flex;
362
+ align-items: center;
363
+ gap: 0.5rem;
364
+ padding: 0.75rem 1.5rem;
365
+ background: #9333ea;
366
+ color: #fff;
367
+ border: none;
368
+ border-radius: 0.75rem;
369
+ font-weight: 700;
370
+ cursor: pointer;
371
+ box-shadow: 0 4px 14px rgba(147, 51, 234, 0.25);
372
+ transition: background 0.15s, transform 0.1s;
373
+ }
374
+
375
+ .zg-copy-btn:hover {
376
+ background: #7c3aed;
377
+ }
378
+
379
+ .zg-copy-btn:active {
380
+ transform: scale(0.95);
381
+ }
382
+
383
+ .zg-clear-btn {
384
+ padding: 0.75rem;
385
+ background: #f1f5f9;
386
+ color: #64748b;
387
+ border: none;
388
+ border-radius: 0.75rem;
389
+ cursor: pointer;
390
+ transition: background 0.15s;
391
+ }
392
+
393
+ .zg-clear-btn:hover {
394
+ background: #e2e8f0;
395
+ }
396
+
397
+ .theme-dark .zg-clear-btn {
398
+ background: #18181b;
399
+ color: #71717a;
400
+ }
401
+
402
+ .theme-dark .zg-clear-btn:hover {
403
+ background: #27272a;
404
+ }
405
+
406
+ .zg-preview-wrap {
407
+ position: relative;
408
+ }
409
+
410
+ .zg-preview-badge {
411
+ position: absolute;
412
+ top: -0.75rem;
413
+ left: -0.5rem;
414
+ z-index: 10;
415
+ background: #9333ea;
416
+ color: #fff;
417
+ font-size: 0.6rem;
418
+ font-weight: 900;
419
+ padding: 0.2rem 0.5rem;
420
+ border-radius: 0.25rem;
421
+ letter-spacing: 0.1em;
422
+ text-transform: uppercase;
423
+ box-shadow: 0 4px 8px rgba(147, 51, 234, 0.3);
424
+ }
425
+
426
+ .zg-preview-body {
427
+ background: #fff;
428
+ border: 1px solid #e2e8f0;
429
+ border-radius: 1.5rem;
430
+ padding: 2rem;
431
+ box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.04);
432
+ transition: border-color 0.5s, box-shadow 0.5s;
433
+ min-height: 15rem;
434
+ display: flex;
435
+ align-items: center;
436
+ justify-content: center;
437
+ position: relative;
438
+ overflow: visible;
439
+ }
440
+
441
+ .theme-dark .zg-preview-body {
442
+ background: #18181b;
443
+ border-color: #27272a;
444
+ }
445
+
446
+ .zg-preview-dots {
447
+ position: absolute;
448
+ inset: 0;
449
+ pointer-events: none;
450
+ border-radius: 1.5rem;
451
+ overflow: hidden;
452
+ opacity: 0.03;
453
+ background-image: radial-gradient(circle at 2px 2px, currentcolor 1px, transparent 0);
454
+ background-size: 24px 24px;
455
+ }
456
+
457
+ .zg-output {
458
+ font-size: 2rem;
459
+ font-weight: 700;
460
+ text-align: center;
461
+ max-width: 100%;
462
+ line-height: 1.5;
463
+ z-index: 10;
464
+ transition: color 0.3s;
465
+ overflow-wrap: anywhere;
466
+ color: var(--zalgo-color, inherit);
467
+ }
468
+
469
+ @media (min-width: 768px) {
470
+ .zg-output {
471
+ font-size: 3rem;
472
+ }
473
+ }
474
+
475
+ .zg-output-empty {
476
+ color: #e2e8f0;
477
+ font-style: italic;
478
+ font-weight: 500;
479
+ transition: color 0.5s;
480
+ }
481
+
482
+ .theme-dark .zg-output-empty {
483
+ color: #27272a;
484
+ }
485
+
486
+ .zg-glitch-overlay {
487
+ position: absolute;
488
+ inset: 0;
489
+ pointer-events: none;
490
+ opacity: 0;
491
+ transition: opacity 0.3s;
492
+ }
493
+
494
+ .zg-glitch-line {
495
+ position: absolute;
496
+ left: 0;
497
+ width: 100%;
498
+ height: 1px;
499
+ }
500
+
501
+ .zg-glitch-line-1 {
502
+ top: 25%;
503
+ background: rgba(147, 51, 234, 0.2);
504
+ animation: zg-pulse 2s infinite;
505
+ }
506
+
507
+ .zg-glitch-line-2 {
508
+ top: 66%;
509
+ background: rgba(99, 102, 241, 0.2);
510
+ animation: zg-pulse 2s 1s infinite;
511
+ }
512
+
513
+ @keyframes zg-pulse {
514
+ 0%, 100% {
515
+ opacity: 0.3
516
+ }
517
+
518
+ 50% {
519
+ opacity: 1
520
+ }
521
+ }
522
+
523
+ .zg-preview-note {
524
+ margin-top: 1rem;
525
+ text-align: center;
526
+ font-size: 0.65rem;
527
+ color: #94a3b8;
528
+ text-transform: uppercase;
529
+ letter-spacing: 0.1em;
530
+ }
531
+
532
+ .theme-dark .zg-preview-note {
533
+ color: #52525b;
534
+ }
535
+
536
+ .zg-slider::-webkit-slider-thumb {
537
+ -webkit-appearance: none;
538
+ appearance: none;
539
+ width: 18px;
540
+ height: 18px;
541
+ background: #9333ea;
542
+ border-radius: 50%;
543
+ cursor: pointer;
544
+ border: 3px solid #fff;
545
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
546
+ }
547
+
548
+ .theme-dark .zg-slider::-webkit-slider-thumb {
549
+ border-color: #18181b;
550
+ }