@jjlmoya/utils-developer 1.12.0 → 1.13.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.
Files changed (50) hide show
  1. package/package.json +5 -3
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/tool/aspectRatio/aspect-ratio-calculator.css +276 -0
  4. package/src/tool/aspectRatio/component.astro +0 -278
  5. package/src/tool/calculadoraTiempoDatos/component.astro +0 -524
  6. package/src/tool/calculadoraTiempoDatos/data-time-calculator-web-speed-impact.css +522 -0
  7. package/src/tool/colorConverter/color-converter-rgb-hex-hsl.css +262 -0
  8. package/src/tool/colorConverter/component.astro +0 -264
  9. package/src/tool/conversorExcelCsvHtml/component.astro +0 -360
  10. package/src/tool/conversorExcelCsvHtml/excel-csv-html-table-converter.css +358 -0
  11. package/src/tool/cronGenerator/component.astro +0 -317
  12. package/src/tool/cronGenerator/cron.css +315 -0
  13. package/src/tool/cssSpecificityCalculator/component.astro +0 -205
  14. package/src/tool/cssSpecificityCalculator/css-specificity-calculator.css +203 -0
  15. package/src/tool/cssToInlineConverter/component.astro +0 -150
  16. package/src/tool/cssToInlineConverter/css-to-inline-converter.css +148 -0
  17. package/src/tool/duplicateCssRemover/component.astro +0 -197
  18. package/src/tool/duplicateCssRemover/duplicate-css-remover.css +195 -0
  19. package/src/tool/generadorSecurityTxt/component.astro +0 -231
  20. package/src/tool/generadorSecurityTxt/security-txt-generator-rfc-9116.css +229 -0
  21. package/src/tool/hashGenerator/component.astro +0 -229
  22. package/src/tool/hashGenerator/hash-generator.css +227 -0
  23. package/src/tool/inspectorCertificadosSsl/component.astro +0 -261
  24. package/src/tool/inspectorCertificadosSsl/ssl-tls-certificate-inspector.css +259 -0
  25. package/src/tool/jsonFormatter/component.astro +0 -346
  26. package/src/tool/jsonFormatter/json-formatter.css +344 -0
  27. package/src/tool/keycode/component.astro +0 -298
  28. package/src/tool/keycode/keycode.css +296 -0
  29. package/src/tool/llmCostCalculator/component.astro +0 -253
  30. package/src/tool/llmCostCalculator/llm-cost-calculator.css +251 -0
  31. package/src/tool/mobileMockupGenerator/component.astro +0 -906
  32. package/src/tool/mobileMockupGenerator/mobile-mockup-generator.css +904 -0
  33. package/src/tool/musicalTypography/component.astro +0 -291
  34. package/src/tool/musicalTypography/musical-typography.css +289 -0
  35. package/src/tool/placeholderGenerator/component.astro +0 -255
  36. package/src/tool/placeholderGenerator/placeholder-image-generator.css +253 -0
  37. package/src/tool/promptLibrary/component.astro +0 -689
  38. package/src/tool/promptLibrary/prompt-library.css +687 -0
  39. package/src/tool/readabilityCalculator/component.astro +0 -322
  40. package/src/tool/readabilityCalculator/visual-readability-calculator-wcag-apca.css +320 -0
  41. package/src/tool/svgSanitizer/component.astro +0 -289
  42. package/src/tool/svgSanitizer/svg-sanitizer.css +287 -0
  43. package/src/tool/svgToCss/component.astro +0 -196
  44. package/src/tool/svgToCss/svg-to-css-converter.css +194 -0
  45. package/src/tool/urlCleaner/component.astro +0 -282
  46. package/src/tool/urlCleaner/url-tracking-cleaner.css +280 -0
  47. package/src/tool/urlEncoderDecoder/component.astro +0 -168
  48. package/src/tool/urlEncoderDecoder/url-encoder-decoder.css +166 -0
  49. package/src/tool/utmGenerator/component.astro +0 -156
  50. package/src/tool/utmGenerator/utm-generator.css +154 -0
@@ -0,0 +1,904 @@
1
+ .mmg-root {
2
+ width: 100%;
3
+ }
4
+
5
+ .mmg-top-bar {
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: flex-end;
9
+ gap: 1.5rem;
10
+ margin-bottom: 3rem;
11
+ }
12
+
13
+ .mmg-top-actions {
14
+ display: flex;
15
+ align-items: center;
16
+ gap: 0.5rem;
17
+ }
18
+
19
+ .mmg-btn-icon {
20
+ width: 1.25rem;
21
+ height: 1.25rem;
22
+ }
23
+
24
+ .mmg-btn-clear {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 0.5rem;
28
+ padding: 0.75rem 1.5rem;
29
+ font-size: 0.875rem;
30
+ font-weight: 700;
31
+ color: rgb(100, 116, 139);
32
+ background: #fff;
33
+ border: 1px solid rgb(226, 232, 240);
34
+ border-radius: 1rem;
35
+ cursor: pointer;
36
+ transition: all 0.2s;
37
+ }
38
+
39
+ .mmg-btn-clear:hover {
40
+ color: rgb(220, 38, 38);
41
+ border-color: rgb(254, 202, 202);
42
+ }
43
+
44
+ :global(.theme-dark) .mmg-btn-clear {
45
+ background: rgb(15, 23, 42);
46
+ border-color: rgb(30, 41, 59);
47
+ color: rgb(148, 163, 184);
48
+ }
49
+
50
+ .mmg-btn-download {
51
+ display: flex;
52
+ align-items: center;
53
+ gap: 0.75rem;
54
+ padding: 0.875rem 2rem;
55
+ font-size: 0.875rem;
56
+ font-weight: 900;
57
+ color: #fff;
58
+ background: rgb(15, 23, 42);
59
+ border: none;
60
+ border-radius: 1rem;
61
+ cursor: pointer;
62
+ transition: all 0.2s;
63
+ box-shadow: 0 10px 15px -3px rgba(99, 102, 241, 0.2);
64
+ }
65
+
66
+ .mmg-btn-download:hover {
67
+ box-shadow: 0 10px 15px -3px rgba(99, 102, 241, 0.4);
68
+ transform: translateY(-1px);
69
+ }
70
+
71
+ :global(.theme-dark) .mmg-btn-download {
72
+ background: #fff;
73
+ color: rgb(15, 23, 42);
74
+ }
75
+
76
+ .mmg-layout {
77
+ display: grid;
78
+ grid-template-columns: 1fr 2fr;
79
+ gap: 2rem;
80
+ }
81
+
82
+ @media (max-width: 1024px) {
83
+ .mmg-layout {
84
+ grid-template-columns: 1fr;
85
+ }
86
+ }
87
+
88
+ .mmg-panel {
89
+ display: flex;
90
+ flex-direction: column;
91
+ gap: 1.5rem;
92
+ }
93
+
94
+ .mmg-card {
95
+ background: rgba(255, 255, 255, 0.7);
96
+ backdrop-filter: blur(10px);
97
+ padding: 1.5rem;
98
+ border-radius: 1.5rem;
99
+ border: 1px solid rgb(226, 232, 240);
100
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
101
+ }
102
+
103
+ :global(.theme-dark) .mmg-card {
104
+ background: rgba(15, 23, 42, 0.7);
105
+ border-color: rgb(30, 41, 59);
106
+ }
107
+
108
+ .mmg-settings-card {
109
+ display: flex;
110
+ flex-direction: column;
111
+ gap: 1.5rem;
112
+ }
113
+
114
+ .mmg-card-title {
115
+ font-size: 0.875rem;
116
+ font-weight: 700;
117
+ text-transform: uppercase;
118
+ letter-spacing: 0.05em;
119
+ display: flex;
120
+ align-items: center;
121
+ gap: 0.5rem;
122
+ color: rgb(15, 23, 42);
123
+ margin-bottom: 1rem;
124
+ }
125
+
126
+ :global(.theme-dark) .mmg-card-title {
127
+ color: #fff;
128
+ }
129
+
130
+ .mmg-card-icon {
131
+ width: 1rem;
132
+ height: 1rem;
133
+ color: rgb(99, 102, 241);
134
+ }
135
+
136
+ .mmg-drop-zone {
137
+ position: relative;
138
+ border: 2px dashed rgb(203, 213, 225);
139
+ border-radius: 1rem;
140
+ padding: 2rem;
141
+ text-align: center;
142
+ cursor: pointer;
143
+ transition: all 0.2s;
144
+ }
145
+
146
+ .mmg-drop-zone:hover {
147
+ border-color: rgb(99, 102, 241);
148
+ background: rgba(99, 102, 241, 0.05);
149
+ }
150
+
151
+ :global(.theme-dark) .mmg-drop-zone {
152
+ border-color: rgb(51, 65, 85);
153
+ }
154
+
155
+ .mmg-file-input {
156
+ position: absolute;
157
+ inset: 0;
158
+ width: 100%;
159
+ height: 100%;
160
+ opacity: 0;
161
+ cursor: pointer;
162
+ }
163
+
164
+ .mmg-drop-icon {
165
+ width: 3rem;
166
+ height: 3rem;
167
+ color: rgb(148, 163, 184);
168
+ margin: 0 auto 0.75rem;
169
+ display: block;
170
+ transition: color 0.2s;
171
+ }
172
+
173
+ .mmg-drop-zone:hover .mmg-drop-icon {
174
+ color: rgb(99, 102, 241);
175
+ }
176
+
177
+ .mmg-drop-hint {
178
+ font-size: 0.875rem;
179
+ font-weight: 500;
180
+ color: rgb(51, 65, 85);
181
+ }
182
+
183
+ .mmg-drop-formats {
184
+ font-size: 0.75rem;
185
+ color: rgb(100, 116, 139);
186
+ margin-top: 0.25rem;
187
+ }
188
+
189
+ :global(.theme-dark) .mmg-drop-hint {
190
+ color: rgb(203, 213, 225);
191
+ }
192
+
193
+ .mmg-mass-section {
194
+ margin-top: 1rem;
195
+ }
196
+
197
+ .mmg-btn-mass {
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ gap: 0.5rem;
202
+ width: 100%;
203
+ padding: 1rem;
204
+ background: rgb(255, 251, 235);
205
+ border: 1px solid rgb(253, 230, 138);
206
+ color: rgb(180, 83, 9);
207
+ border-radius: 1rem;
208
+ font-size: 0.625rem;
209
+ font-weight: 900;
210
+ text-transform: uppercase;
211
+ letter-spacing: 0.2em;
212
+ cursor: pointer;
213
+ transition: all 0.2s;
214
+ }
215
+
216
+ .mmg-btn-mass:hover {
217
+ background: rgb(254, 243, 199);
218
+ }
219
+
220
+ :global(.theme-dark) .mmg-btn-mass {
221
+ background: rgba(180, 83, 9, 0.1);
222
+ border-color: rgba(180, 83, 9, 0.5);
223
+ color: rgb(252, 211, 77);
224
+ }
225
+
226
+ .mmg-mass-hint {
227
+ font-size: 0.5625rem;
228
+ color: rgb(148, 163, 184);
229
+ margin-top: 0.5rem;
230
+ text-align: center;
231
+ padding: 0 1rem;
232
+ line-height: 1.5;
233
+ }
234
+
235
+ .mmg-config-section {
236
+ display: flex;
237
+ flex-direction: column;
238
+ gap: 0.75rem;
239
+ }
240
+
241
+ .mmg-config-label {
242
+ font-size: 0.75rem;
243
+ font-weight: 600;
244
+ text-transform: uppercase;
245
+ color: rgb(100, 116, 139);
246
+ }
247
+
248
+ .mmg-config-row {
249
+ display: flex;
250
+ align-items: center;
251
+ justify-content: space-between;
252
+ }
253
+
254
+ .mmg-device-grid {
255
+ display: grid;
256
+ grid-template-columns: 1fr 1fr;
257
+ gap: 0.5rem;
258
+ }
259
+
260
+ .mmg-device-btn {
261
+ padding: 0.75rem;
262
+ border-radius: 0.75rem;
263
+ border: 2px solid transparent;
264
+ background: rgb(241, 245, 249);
265
+ display: flex;
266
+ flex-direction: column;
267
+ align-items: center;
268
+ gap: 0.25rem;
269
+ cursor: pointer;
270
+ transition: all 0.2s;
271
+ font-size: 0.75rem;
272
+ font-weight: 700;
273
+ color: rgb(15, 23, 42);
274
+ }
275
+
276
+ .mmg-device-btn:hover {
277
+ transform: translateY(-1px);
278
+ }
279
+
280
+ .mmg-device-active {
281
+ background: rgb(238, 242, 255);
282
+ border-color: rgb(79, 70, 229);
283
+ transform: translateY(-1px);
284
+ }
285
+
286
+ :global(.theme-dark) .mmg-device-btn {
287
+ background: rgb(15, 23, 42);
288
+ color: rgb(203, 213, 225);
289
+ }
290
+
291
+ :global(.theme-dark) .mmg-device-active {
292
+ background: rgba(79, 70, 229, 0.2);
293
+ border-color: rgb(129, 140, 248);
294
+ }
295
+
296
+ .mmg-device-icon {
297
+ width: 1.5rem;
298
+ height: 1.5rem;
299
+ }
300
+
301
+ .mmg-select {
302
+ width: 100%;
303
+ padding: 0.625rem 1rem;
304
+ border-radius: 0.75rem;
305
+ border: 2px solid rgb(226, 232, 240);
306
+ background: #fff;
307
+ font-size: 0.875rem;
308
+ outline: none;
309
+ transition: border-color 0.2s;
310
+ color: rgb(15, 23, 42);
311
+ }
312
+
313
+ .mmg-select:focus {
314
+ border-color: rgb(99, 102, 241);
315
+ }
316
+
317
+ :global(.theme-dark) .mmg-select {
318
+ background: rgb(2, 6, 23);
319
+ border-color: rgb(30, 41, 59);
320
+ color: #fff;
321
+ }
322
+
323
+ .mmg-presets-row {
324
+ display: grid;
325
+ grid-template-columns: repeat(5, 1fr);
326
+ gap: 0.5rem;
327
+ }
328
+
329
+ .mmg-gradient-inputs {
330
+ display: flex;
331
+ align-items: center;
332
+ gap: 0.5rem;
333
+ margin-top: 0.75rem;
334
+ }
335
+
336
+ .mmg-color-picker {
337
+ flex: 1;
338
+ height: 2rem;
339
+ border-radius: 0.5rem;
340
+ border: none;
341
+ background: transparent;
342
+ cursor: pointer;
343
+ }
344
+
345
+ .mmg-arrow-icon {
346
+ width: 1rem;
347
+ height: 1rem;
348
+ color: rgb(148, 163, 184);
349
+ flex-shrink: 0;
350
+ }
351
+
352
+ .mmg-swap-btn {
353
+ padding: 0.25rem;
354
+ border: none;
355
+ background: transparent;
356
+ cursor: pointer;
357
+ color: rgb(148, 163, 184);
358
+ border-radius: 0.375rem;
359
+ transition: background 0.2s;
360
+ }
361
+
362
+ .mmg-swap-btn:hover {
363
+ background: rgb(241, 245, 249);
364
+ }
365
+
366
+ :global(.theme-dark) .mmg-swap-btn:hover {
367
+ background: rgb(30, 41, 59);
368
+ }
369
+
370
+ .mmg-swap-icon {
371
+ width: 1rem;
372
+ height: 1rem;
373
+ }
374
+
375
+ .mmg-angle-section {
376
+ margin-top: 1rem;
377
+ }
378
+
379
+ .mmg-angle-row {
380
+ display: flex;
381
+ justify-content: space-between;
382
+ font-size: 0.625rem;
383
+ font-weight: 700;
384
+ text-transform: uppercase;
385
+ letter-spacing: 0.1em;
386
+ color: rgb(100, 116, 139);
387
+ margin-bottom: 0.5rem;
388
+ }
389
+
390
+ .mmg-range {
391
+ width: 100%;
392
+ height: 4px;
393
+ background: rgb(226, 232, 240);
394
+ border-radius: 9999px;
395
+ appearance: none;
396
+ cursor: pointer;
397
+ accent-color: rgb(99, 102, 241);
398
+ }
399
+
400
+ :global(.theme-dark) .mmg-range {
401
+ background: rgb(30, 41, 59);
402
+ }
403
+
404
+ .mmg-range::-webkit-slider-thumb {
405
+ appearance: none;
406
+ width: 16px;
407
+ height: 16px;
408
+ background: rgb(79, 70, 229);
409
+ border-radius: 50%;
410
+ cursor: pointer;
411
+ }
412
+
413
+ .mmg-safe-section {
414
+ padding-top: 1.5rem;
415
+ border-top: 1px solid rgb(241, 245, 249);
416
+ }
417
+
418
+ :global(.theme-dark) .mmg-safe-section {
419
+ border-color: rgba(30, 41, 59, 0.5);
420
+ }
421
+
422
+ .mmg-toggle {
423
+ width: 2.5rem;
424
+ height: 1.25rem;
425
+ background: rgb(226, 232, 240);
426
+ border-radius: 9999px;
427
+ position: relative;
428
+ cursor: pointer;
429
+ border: none;
430
+ transition: background 0.2s;
431
+ }
432
+
433
+ .mmg-toggle-on {
434
+ background: rgb(79, 70, 229);
435
+ }
436
+
437
+ .mmg-toggle-dot {
438
+ width: 1rem;
439
+ height: 1rem;
440
+ background: #fff;
441
+ border-radius: 50%;
442
+ position: absolute;
443
+ top: 0.125rem;
444
+ left: 0.125rem;
445
+ transition: transform 0.2s;
446
+ }
447
+
448
+ .mmg-safe-color-row {
449
+ display: flex;
450
+ align-items: center;
451
+ gap: 0.75rem;
452
+ }
453
+
454
+ .mmg-color-picker-sm {
455
+ width: 2rem;
456
+ height: 2rem;
457
+ border-radius: 0.5rem;
458
+ border: none;
459
+ background: transparent;
460
+ cursor: pointer;
461
+ }
462
+
463
+ .mmg-safe-color-label {
464
+ font-size: 0.625rem;
465
+ font-weight: 700;
466
+ text-transform: uppercase;
467
+ letter-spacing: 0.1em;
468
+ color: rgb(148, 163, 184);
469
+ }
470
+
471
+ .mmg-preview-area {
472
+ min-height: 0;
473
+ }
474
+
475
+ .mmg-empty {
476
+ display: flex;
477
+ flex-direction: column;
478
+ align-items: center;
479
+ justify-content: center;
480
+ padding: 5rem 2rem;
481
+ background: rgb(248, 250, 252);
482
+ border-radius: 2rem;
483
+ border: 2px dashed rgb(226, 232, 240);
484
+ }
485
+
486
+ :global(.theme-dark) .mmg-empty {
487
+ background: rgba(15, 23, 42, 0.5);
488
+ border-color: rgb(30, 41, 59);
489
+ }
490
+
491
+ .mmg-empty-icon-wrap {
492
+ width: 5rem;
493
+ height: 5rem;
494
+ background: rgb(224, 231, 255);
495
+ border-radius: 1.5rem;
496
+ display: flex;
497
+ align-items: center;
498
+ justify-content: center;
499
+ margin-bottom: 1.5rem;
500
+ }
501
+
502
+ :global(.theme-dark) .mmg-empty-icon-wrap {
503
+ background: rgba(79, 70, 229, 0.3);
504
+ }
505
+
506
+ .mmg-empty-icon-svg {
507
+ width: 2.5rem;
508
+ height: 2.5rem;
509
+ color: rgb(99, 102, 241);
510
+ }
511
+
512
+ :global(.theme-dark) .mmg-empty-icon-svg {
513
+ color: rgb(129, 140, 248);
514
+ }
515
+
516
+ .mmg-empty-title {
517
+ font-size: 1.25rem;
518
+ font-weight: 700;
519
+ color: rgb(15, 23, 42);
520
+ }
521
+
522
+ .mmg-empty-subtitle {
523
+ color: rgb(100, 116, 139);
524
+ margin-top: 0.5rem;
525
+ }
526
+
527
+ :global(.theme-dark) .mmg-empty-title {
528
+ color: #fff;
529
+ }
530
+
531
+ .mmg-preview-grid {
532
+ display: grid;
533
+ grid-template-columns: 1fr 1fr;
534
+ gap: 1.5rem;
535
+ }
536
+
537
+ @media (max-width: 640px) {
538
+ .mmg-preview-grid {
539
+ grid-template-columns: 1fr;
540
+ }
541
+ }
542
+
543
+ :global(.mmg-preview-card) {
544
+ background: rgba(255, 255, 255, 0.7);
545
+ backdrop-filter: blur(10px);
546
+ border-radius: 2.5rem;
547
+ padding: 1.5rem;
548
+ border: 1px solid rgb(226, 232, 240);
549
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
550
+ position: relative;
551
+ }
552
+
553
+ :global(.theme-dark) :global(.mmg-preview-card) {
554
+ background: rgba(15, 23, 42, 0.7);
555
+ border-color: rgb(30, 41, 59);
556
+ }
557
+
558
+ :global(.mmg-card-actions) {
559
+ position: absolute;
560
+ top: 1rem;
561
+ right: 1rem;
562
+ display: flex;
563
+ gap: 0.5rem;
564
+ opacity: 0;
565
+ transition: opacity 0.2s;
566
+ z-index: 10;
567
+ }
568
+
569
+ :global(.mmg-preview-card:hover) :global(.mmg-card-actions) {
570
+ opacity: 1;
571
+ }
572
+
573
+ :global(.mmg-card-action-btn) {
574
+ padding: 0.5rem;
575
+ background: #fff;
576
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
577
+ border-radius: 0.75rem;
578
+ border: none;
579
+ cursor: pointer;
580
+ transition: transform 0.2s;
581
+ display: flex;
582
+ }
583
+
584
+ :global(.mmg-card-action-btn:hover) {
585
+ transform: scale(1.1);
586
+ }
587
+
588
+ :global(.theme-dark) :global(.mmg-card-action-btn) {
589
+ background: rgb(15, 23, 42);
590
+ }
591
+
592
+ :global(.mmg-duplicate-img) {
593
+ color: rgb(99, 102, 241);
594
+ }
595
+
596
+ :global(.mmg-replace-img) {
597
+ color: rgb(217, 119, 6);
598
+ }
599
+
600
+ :global(.mmg-canvas-wrap) {
601
+ aspect-ratio: 9/16;
602
+ background: rgb(241, 245, 249);
603
+ border-radius: 1.5rem;
604
+ overflow: hidden;
605
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
606
+ outline: 1px solid rgb(226, 232, 240);
607
+ }
608
+
609
+ :global(.theme-dark) :global(.mmg-canvas-wrap) {
610
+ background: rgba(15, 23, 42, 0.5);
611
+ outline-color: rgb(30, 41, 59);
612
+ }
613
+
614
+ :global(.mmg-canvas) {
615
+ width: 100%;
616
+ height: 100%;
617
+ object-fit: contain;
618
+ display: block;
619
+ }
620
+
621
+ :global(.mmg-card-body) {
622
+ margin-top: 1.5rem;
623
+ display: flex;
624
+ flex-direction: column;
625
+ gap: 1.5rem;
626
+ }
627
+
628
+ :global(.mmg-section) {
629
+ padding-top: 1rem;
630
+ border-top: 1px solid rgb(241, 245, 249);
631
+ }
632
+
633
+ :global(.theme-dark) :global(.mmg-section) {
634
+ border-color: rgba(30, 41, 59, 0.5);
635
+ }
636
+
637
+ :global(.mmg-section-head) {
638
+ display: flex;
639
+ align-items: center;
640
+ justify-content: space-between;
641
+ margin-bottom: 0.75rem;
642
+ }
643
+
644
+ :global(.mmg-section-label) {
645
+ font-size: 0.625rem;
646
+ font-weight: 900;
647
+ text-transform: uppercase;
648
+ letter-spacing: 0.15em;
649
+ color: rgb(148, 163, 184);
650
+ }
651
+
652
+ :global(.mmg-reset-btn) {
653
+ padding: 0.375rem;
654
+ color: rgb(148, 163, 184);
655
+ border: none;
656
+ background: transparent;
657
+ border-radius: 0.5rem;
658
+ cursor: pointer;
659
+ transition: all 0.2s;
660
+ display: flex;
661
+ }
662
+
663
+ :global(.mmg-reset-btn:hover) {
664
+ color: rgb(99, 102, 241);
665
+ background: rgb(238, 242, 255);
666
+ }
667
+
668
+ :global(.theme-dark) :global(.mmg-reset-btn:hover) {
669
+ background: rgba(99, 102, 241, 0.3);
670
+ }
671
+
672
+ :global(.mmg-presets-grid) {
673
+ display: grid;
674
+ grid-template-columns: repeat(3, 1fr);
675
+ gap: 0.5rem;
676
+ }
677
+
678
+ :global(.mmg-preset-btn) {
679
+ padding: 0.625rem 0.5rem;
680
+ font-size: 0.5625rem;
681
+ font-weight: 900;
682
+ text-transform: uppercase;
683
+ letter-spacing: 0.1em;
684
+ color: rgb(100, 116, 139);
685
+ background: rgb(248, 250, 252);
686
+ border: 1px solid rgb(241, 245, 249);
687
+ border-radius: 0.75rem;
688
+ cursor: pointer;
689
+ transition: all 0.2s;
690
+ line-height: 1.2;
691
+ }
692
+
693
+ :global(.mmg-preset-btn:hover) {
694
+ background: rgb(241, 245, 249);
695
+ border-color: rgb(199, 210, 254);
696
+ color: rgb(79, 70, 229);
697
+ }
698
+
699
+ :global(.mmg-preset-btn:active) {
700
+ transform: scale(0.95);
701
+ }
702
+
703
+ :global(.theme-dark) :global(.mmg-preset-btn) {
704
+ background: rgb(15, 23, 42);
705
+ border-color: rgb(30, 41, 59);
706
+ color: rgb(148, 163, 184);
707
+ }
708
+
709
+ :global(.theme-dark) :global(.mmg-preset-btn:hover) {
710
+ background: rgba(79, 70, 229, 0.2);
711
+ border-color: rgba(99, 102, 241, 0.5);
712
+ color: rgb(129, 140, 248);
713
+ }
714
+
715
+ :global(.mmg-color-row) {
716
+ margin-bottom: 0.75rem;
717
+ }
718
+
719
+ :global(.mmg-color-sublabel) {
720
+ display: block;
721
+ font-size: 0.625rem;
722
+ font-weight: 700;
723
+ text-transform: uppercase;
724
+ letter-spacing: 0.1em;
725
+ color: rgb(148, 163, 184);
726
+ margin-bottom: 0.25rem;
727
+ margin-left: 0.25rem;
728
+ }
729
+
730
+ :global(.mmg-color-field) {
731
+ display: flex;
732
+ align-items: center;
733
+ gap: 0.75rem;
734
+ padding: 0.5rem 0.75rem;
735
+ background: rgb(248, 250, 252);
736
+ border: 1px solid rgb(226, 232, 240);
737
+ border-radius: 1rem;
738
+ }
739
+
740
+ :global(.theme-dark) :global(.mmg-color-field) {
741
+ background: rgb(2, 6, 23);
742
+ border-color: rgb(30, 41, 59);
743
+ }
744
+
745
+ :global(.mmg-color-input) {
746
+ width: 1.5rem;
747
+ height: 1.5rem;
748
+ border-radius: 0.5rem;
749
+ border: none;
750
+ background: transparent;
751
+ cursor: pointer;
752
+ }
753
+
754
+ :global(.mmg-color-hex) {
755
+ font-size: 0.75rem;
756
+ font-weight: 700;
757
+ color: rgb(71, 85, 105);
758
+ }
759
+
760
+ :global(.theme-dark) :global(.mmg-color-hex) {
761
+ color: rgb(148, 163, 184);
762
+ }
763
+
764
+ :global(.mmg-textarea) {
765
+ width: 100%;
766
+ padding: 0.75rem 1rem;
767
+ background: rgb(248, 250, 252);
768
+ border: 1px solid rgb(226, 232, 240);
769
+ border-radius: 1rem;
770
+ font-size: 0.875rem;
771
+ outline: none;
772
+ transition: border-color 0.2s;
773
+ font-weight: 500;
774
+ min-height: 5rem;
775
+ resize: none;
776
+ box-sizing: border-box;
777
+ color: rgb(15, 23, 42);
778
+ }
779
+
780
+ :global(.mmg-textarea:focus) {
781
+ border-color: rgb(99, 102, 241);
782
+ }
783
+
784
+ :global(.theme-dark) :global(.mmg-textarea) {
785
+ background: rgb(2, 6, 23);
786
+ border-color: rgb(30, 41, 59);
787
+ color: #fff;
788
+ }
789
+
790
+ :global(.mmg-range-grid) {
791
+ display: grid;
792
+ grid-template-columns: 1fr 1fr;
793
+ gap: 1rem 1.5rem;
794
+ }
795
+
796
+ :global(.mmg-range-item) {
797
+ display: flex;
798
+ flex-direction: column;
799
+ gap: 0.25rem;
800
+ }
801
+
802
+ :global(.mmg-range-row) {
803
+ display: flex;
804
+ justify-content: space-between;
805
+ font-size: 0.5625rem;
806
+ font-weight: 700;
807
+ text-transform: uppercase;
808
+ letter-spacing: 0.1em;
809
+ color: rgb(148, 163, 184);
810
+ }
811
+
812
+ :global(.mmg-scene-row) {
813
+ display: flex;
814
+ gap: 0.5rem;
815
+ }
816
+
817
+ :global(.mmg-scene-btn) {
818
+ flex: 1;
819
+ display: flex;
820
+ align-items: center;
821
+ justify-content: center;
822
+ gap: 0.5rem;
823
+ padding: 0.5rem;
824
+ font-size: 0.625rem;
825
+ font-weight: 700;
826
+ text-transform: uppercase;
827
+ letter-spacing: 0.1em;
828
+ color: rgb(79, 70, 229);
829
+ background: rgb(238, 242, 255);
830
+ border: 1px solid rgb(199, 210, 254);
831
+ border-radius: 0.75rem;
832
+ cursor: pointer;
833
+ transition: all 0.2s;
834
+ }
835
+
836
+ :global(.mmg-scene-btn:hover) {
837
+ background: rgb(224, 231, 255);
838
+ }
839
+
840
+ :global(.theme-dark) :global(.mmg-scene-btn) {
841
+ background: rgba(79, 70, 229, 0.2);
842
+ border-color: rgba(99, 102, 241, 0.5);
843
+ color: rgb(129, 140, 248);
844
+ }
845
+
846
+ :global(.mmg-clear-bg-btn) {
847
+ display: flex;
848
+ align-items: center;
849
+ justify-content: center;
850
+ padding: 0.5rem;
851
+ color: rgb(239, 68, 68);
852
+ background: rgb(254, 242, 242);
853
+ border: 1px solid rgb(254, 202, 202);
854
+ border-radius: 0.75rem;
855
+ cursor: pointer;
856
+ transition: all 0.2s;
857
+ }
858
+
859
+ :global(.mmg-clear-bg-btn:hover) {
860
+ background: rgb(254, 226, 226);
861
+ }
862
+
863
+ :global(.theme-dark) :global(.mmg-clear-bg-btn) {
864
+ background: rgba(239, 68, 68, 0.2);
865
+ border-color: rgba(239, 68, 68, 0.5);
866
+ }
867
+
868
+ :global(.mmg-delete-btn) {
869
+ width: 100%;
870
+ padding: 0.75rem;
871
+ font-size: 0.625rem;
872
+ font-weight: 900;
873
+ letter-spacing: 0.2em;
874
+ text-transform: uppercase;
875
+ color: rgb(148, 163, 184);
876
+ background: transparent;
877
+ border: none;
878
+ border-radius: 0.75rem;
879
+ cursor: pointer;
880
+ transition: all 0.2s;
881
+ }
882
+
883
+ :global(.mmg-delete-btn:hover) {
884
+ color: rgb(239, 68, 68);
885
+ background: rgb(254, 242, 242);
886
+ }
887
+
888
+ :global(.theme-dark) :global(.mmg-delete-btn:hover) {
889
+ background: rgba(239, 68, 68, 0.2);
890
+ }
891
+
892
+ :global(.mmg-preset-swatch) {
893
+ width: 100%;
894
+ aspect-ratio: 1;
895
+ border-radius: 0.5rem;
896
+ border: 2px solid transparent;
897
+ cursor: pointer;
898
+ transition: transform 0.2s;
899
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
900
+ }
901
+
902
+ :global(.mmg-preset-swatch:hover) {
903
+ transform: scale(1.1);
904
+ }