@jjlmoya/utils-creative 1.17.0 → 1.18.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.
@@ -240,480 +240,3 @@ const { ui } = Astro.props;
240
240
  });
241
241
  </script>
242
242
 
243
- <style>
244
- .dr-root {
245
- --dr-bg: #fff;
246
- --dr-bg-muted: #f8fafc;
247
- --dr-bg-card: #fff;
248
- --dr-text: #0f172a;
249
- --dr-text-muted: #64748b;
250
- --dr-border: #e2e8f0;
251
- --dr-primary: #7c3aed;
252
- --dr-primary-light: #ede9fe;
253
- --dr-primary-dark: #5b21b6;
254
- --dr-accent: #f59e0b;
255
- --dr-danger: #ef4444;
256
- --dr-success: #10b981;
257
- --dr-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
258
- --dr-shadow-md: 0 4px 16px rgba(0,0,0,0.1);
259
- --dr-shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
260
- --dr-radius: 1rem;
261
- --dr-radius-sm: 0.5rem;
262
-
263
- display: grid;
264
- grid-template-columns: 1fr 1fr;
265
- gap: 1.5rem;
266
- max-width: 900px;
267
- margin: 0 auto;
268
- padding: 1rem;
269
- }
270
-
271
- :global(.theme-dark) .dr-root {
272
- --dr-bg: #0f172a;
273
- --dr-bg-muted: #1e293b;
274
- --dr-bg-card: #1e293b;
275
- --dr-text: #f1f5f9;
276
- --dr-text-muted: #94a3b8;
277
- --dr-border: #334155;
278
- --dr-primary: #a78bfa;
279
- --dr-primary-light: #2d1b69;
280
- --dr-primary-dark: #7c3aed;
281
- --dr-accent: #fbbf24;
282
- --dr-shadow-sm: 0 1px 3px rgba(0,0,0,0.3);
283
- --dr-shadow-md: 0 4px 16px rgba(0,0,0,0.4);
284
- --dr-shadow-lg: 0 8px 32px rgba(0,0,0,0.5);
285
- }
286
-
287
- @media (max-width: 680px) {
288
- .dr-root {
289
- grid-template-columns: 1fr;
290
- }
291
- }
292
-
293
- .dr-panel {
294
- background: var(--dr-bg-card);
295
- border: 1px solid var(--dr-border);
296
- border-radius: var(--dr-radius);
297
- box-shadow: var(--dr-shadow-md);
298
- padding: 1.5rem;
299
- display: flex;
300
- flex-direction: column;
301
- gap: 1.25rem;
302
- }
303
-
304
- .dr-label {
305
- font-size: 0.75rem;
306
- font-weight: 600;
307
- text-transform: uppercase;
308
- letter-spacing: 0.08em;
309
- color: var(--dr-text-muted);
310
- margin: 0 0 0.625rem;
311
- }
312
-
313
- .dr-dice-grid {
314
- display: grid;
315
- grid-template-columns: repeat(4, 1fr);
316
- gap: 0.5rem;
317
- }
318
-
319
- .dr-die-btn {
320
- display: flex;
321
- align-items: center;
322
- justify-content: center;
323
- padding: 0.75rem 0.5rem;
324
- background: var(--dr-bg-muted);
325
- border: 1px solid var(--dr-border);
326
- border-radius: var(--dr-radius-sm);
327
- cursor: pointer;
328
- transition: background 0.15s, border-color 0.15s, transform 0.1s;
329
- color: var(--dr-primary);
330
- font-size: 0.85rem;
331
- font-weight: 700;
332
- }
333
-
334
- .dr-die-btn:hover {
335
- background: var(--dr-primary-light);
336
- border-color: var(--dr-primary);
337
- transform: translateY(-2px);
338
- }
339
-
340
- .dr-die-btn:active {
341
- transform: translateY(0);
342
- }
343
-
344
- .dr-pool-section {
345
- border: 1px solid var(--dr-border);
346
- border-radius: var(--dr-radius-sm);
347
- padding: 0.875rem;
348
- background: var(--dr-bg-muted);
349
- }
350
-
351
- .dr-pool-header {
352
- display: flex;
353
- justify-content: space-between;
354
- align-items: center;
355
- margin-bottom: 0.5rem;
356
- }
357
-
358
- .dr-pool-header .dr-label {
359
- margin-bottom: 0;
360
- }
361
-
362
- .dr-clear-btn {
363
- font-size: 0.7rem;
364
- font-weight: 600;
365
- color: var(--dr-text-muted);
366
- background: none;
367
- border: 1px solid var(--dr-border);
368
- border-radius: 0.375rem;
369
- padding: 0.2rem 0.5rem;
370
- cursor: pointer;
371
- transition: color 0.15s, border-color 0.15s;
372
- }
373
-
374
- .dr-clear-btn:hover {
375
- color: var(--dr-danger);
376
- border-color: var(--dr-danger);
377
- }
378
-
379
- .dr-pool-display {
380
- display: flex;
381
- flex-wrap: wrap;
382
- gap: 0.5rem;
383
- min-height: 2.5rem;
384
- align-items: center;
385
- }
386
-
387
- .dr-pool-empty {
388
- font-size: 0.8rem;
389
- color: var(--dr-text-muted);
390
- font-style: italic;
391
- }
392
-
393
- :global(.dr-pool-chip) {
394
- display: flex;
395
- align-items: center;
396
- gap: 0.25rem;
397
- background: var(--dr-primary-light);
398
- border: 1px solid var(--dr-primary);
399
- border-radius: 2rem;
400
- padding: 0.2rem 0.5rem 0.2rem 0.75rem;
401
- }
402
-
403
- :global(.dr-chip-label) {
404
- font-size: 0.8rem;
405
- font-weight: 700;
406
- color: var(--dr-primary);
407
- }
408
-
409
- :global(.dr-chip-remove) {
410
- width: 1.125rem;
411
- height: 1.125rem;
412
- border-radius: 50%;
413
- border: none;
414
- background: var(--dr-primary);
415
- color: #fff;
416
- font-size: 0.8rem;
417
- line-height: 1;
418
- cursor: pointer;
419
- display: flex;
420
- align-items: center;
421
- justify-content: center;
422
- transition: background 0.15s;
423
- padding: 0;
424
- }
425
-
426
- :global(.dr-chip-remove:hover) {
427
- background: var(--dr-primary-dark);
428
- }
429
-
430
- .dr-modifier-section {
431
- display: flex;
432
- align-items: center;
433
- justify-content: space-between;
434
- }
435
-
436
- .dr-modifier-controls {
437
- display: flex;
438
- align-items: center;
439
- gap: 0.75rem;
440
- background: var(--dr-bg-muted);
441
- border: 1px solid var(--dr-border);
442
- border-radius: 2rem;
443
- padding: 0.25rem 0.5rem;
444
- }
445
-
446
- .dr-mod-btn {
447
- width: 1.75rem;
448
- height: 1.75rem;
449
- border-radius: 50%;
450
- border: 1px solid var(--dr-border);
451
- background: var(--dr-bg-card);
452
- color: var(--dr-text);
453
- font-size: 1rem;
454
- font-weight: 700;
455
- cursor: pointer;
456
- display: flex;
457
- align-items: center;
458
- justify-content: center;
459
- transition: background 0.15s, border-color 0.15s;
460
- line-height: 1;
461
- padding: 0;
462
- }
463
-
464
- .dr-mod-btn:hover {
465
- background: var(--dr-primary-light);
466
- border-color: var(--dr-primary);
467
- }
468
-
469
- .dr-modifier-display {
470
- min-width: 2rem;
471
- text-align: center;
472
- font-weight: 700;
473
- font-size: 1rem;
474
- color: var(--dr-text);
475
- }
476
-
477
- .dr-roll-btn {
478
- display: flex;
479
- align-items: center;
480
- justify-content: center;
481
- gap: 0.5rem;
482
- width: 100%;
483
- padding: 0.875rem;
484
- background: linear-gradient(135deg, var(--dr-primary), var(--dr-primary-dark));
485
- color: #fff;
486
- border: none;
487
- border-radius: var(--dr-radius-sm);
488
- font-size: 1rem;
489
- font-weight: 700;
490
- cursor: pointer;
491
- transition: opacity 0.2s, transform 0.1s;
492
- box-shadow: 0 4px 12px rgba(124, 58, 237, 0.35);
493
- margin-top: auto;
494
- }
495
-
496
- .dr-roll-btn:disabled {
497
- opacity: 0.5;
498
- cursor: not-allowed;
499
- box-shadow: none;
500
- }
501
-
502
- .dr-roll-btn:not(:disabled):hover {
503
- transform: translateY(-1px);
504
- box-shadow: 0 6px 18px rgba(124, 58, 237, 0.45);
505
- }
506
-
507
- .dr-roll-btn:not(:disabled):active {
508
- transform: translateY(0);
509
- }
510
-
511
- @keyframes dr-shake {
512
- 0%, 100% { transform: rotate(0deg); }
513
- 20% { transform: rotate(-15deg); }
514
- 40% { transform: rotate(15deg); }
515
- 60% { transform: rotate(-10deg); }
516
- 80% { transform: rotate(10deg); }
517
- }
518
-
519
- .dr-rolling {
520
- animation: dr-shake 0.4s ease-in-out;
521
- }
522
-
523
- .dr-results-panel {
524
- display: flex;
525
- flex-direction: column;
526
- gap: 1.25rem;
527
- }
528
-
529
- .dr-result-card {
530
- background: var(--dr-bg-card);
531
- border: 1px solid var(--dr-border);
532
- border-radius: var(--dr-radius);
533
- box-shadow: var(--dr-shadow-md);
534
- padding: 1.5rem;
535
- min-height: 12rem;
536
- display: flex;
537
- align-items: center;
538
- justify-content: center;
539
- }
540
-
541
- .dr-result-empty {
542
- display: flex;
543
- flex-direction: column;
544
- align-items: center;
545
- gap: 0.5rem;
546
- color: var(--dr-text-muted);
547
- }
548
-
549
- .dr-result-empty p {
550
- font-size: 0.9rem;
551
- margin: 0;
552
- }
553
-
554
- .dr-result-content {
555
- width: 100%;
556
- flex-direction: column;
557
- align-items: center;
558
- gap: 1rem;
559
- }
560
-
561
- .dr-total-area {
562
- display: flex;
563
- flex-direction: column;
564
- align-items: center;
565
- gap: 0.25rem;
566
- }
567
-
568
- .dr-total-label {
569
- font-size: 0.75rem;
570
- font-weight: 600;
571
- text-transform: uppercase;
572
- letter-spacing: 0.08em;
573
- color: var(--dr-text-muted);
574
- }
575
-
576
- .dr-total-val {
577
- font-size: 4rem;
578
- font-weight: 900;
579
- color: var(--dr-primary);
580
- line-height: 1;
581
- }
582
-
583
- .dr-roll-expr {
584
- font-size: 0.8rem;
585
- color: var(--dr-text-muted);
586
- font-style: italic;
587
- }
588
-
589
- .dr-dice-results {
590
- display: flex;
591
- flex-wrap: wrap;
592
- gap: 0.5rem;
593
- justify-content: center;
594
- }
595
-
596
- :global(.dr-result-pip) {
597
- display: flex;
598
- flex-direction: column;
599
- align-items: center;
600
- gap: 0.15rem;
601
- padding: 0.5rem 0.75rem;
602
- background: var(--dr-bg-muted);
603
- border: 2px solid var(--dr-border);
604
- border-radius: var(--dr-radius-sm);
605
- min-width: 3rem;
606
- transition: border-color 0.2s;
607
- }
608
-
609
- :global(.dr-pip-max) {
610
- border-color: var(--dr-success);
611
- background: rgba(16, 185, 129, 0.1);
612
- }
613
-
614
- :global(.dr-pip-min) {
615
- border-color: var(--dr-danger);
616
- background: rgba(239, 68, 68, 0.1);
617
- }
618
-
619
- :global(.dr-pip-val) {
620
- font-size: 1.25rem;
621
- font-weight: 800;
622
- color: var(--dr-text);
623
- line-height: 1;
624
- }
625
-
626
- :global(.dr-pip-die) {
627
- font-size: 0.65rem;
628
- color: var(--dr-text-muted);
629
- font-weight: 600;
630
- }
631
-
632
- .dr-history-section {
633
- background: var(--dr-bg-card);
634
- border: 1px solid var(--dr-border);
635
- border-radius: var(--dr-radius);
636
- box-shadow: var(--dr-shadow-sm);
637
- padding: 1.25rem;
638
- flex: 1;
639
- }
640
-
641
- .dr-history-header {
642
- display: flex;
643
- justify-content: space-between;
644
- align-items: center;
645
- margin-bottom: 0.75rem;
646
- }
647
-
648
- .dr-history-header .dr-label {
649
- margin-bottom: 0;
650
- }
651
-
652
- .dr-history-list {
653
- display: flex;
654
- flex-direction: column;
655
- gap: 0.375rem;
656
- max-height: 220px;
657
- overflow-y: auto;
658
- }
659
-
660
- .dr-history-list::-webkit-scrollbar {
661
- width: 4px;
662
- }
663
-
664
- .dr-history-list::-webkit-scrollbar-thumb {
665
- background: var(--dr-border);
666
- border-radius: 2px;
667
- }
668
-
669
- .dr-history-empty {
670
- font-size: 0.8rem;
671
- color: var(--dr-text-muted);
672
- font-style: italic;
673
- text-align: center;
674
- margin: 1rem 0;
675
- }
676
-
677
- :global(.dr-history-item) {
678
- display: grid;
679
- grid-template-columns: 1fr auto auto;
680
- align-items: center;
681
- gap: 0.75rem;
682
- padding: 0.4rem 0.6rem;
683
- background: var(--dr-bg-muted);
684
- border-radius: var(--dr-radius-sm);
685
- font-size: 0.8rem;
686
- animation: dr-fadein 0.2s ease-out;
687
- }
688
-
689
- @keyframes dr-fadein {
690
- from {
691
- opacity: 0;
692
- transform: translate-y(-4px);
693
- }
694
-
695
- to {
696
- opacity: 1;
697
- transform: translateY(0);
698
- }
699
- }
700
-
701
- :global(.dr-hist-expr) {
702
- color: var(--dr-text-muted);
703
- font-size: 0.75rem;
704
- overflow: hidden;
705
- text-overflow: ellipsis;
706
- white-space: nowrap;
707
- }
708
-
709
- :global(.dr-hist-result) {
710
- font-weight: 800;
711
- font-size: 1rem;
712
- color: var(--dr-primary);
713
- }
714
-
715
- :global(.dr-hist-time) {
716
- font-size: 0.7rem;
717
- color: var(--dr-text-muted);
718
- }
719
- </style>