@duskmoon-dev/core 1.2.0 → 1.3.1

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/dist/index.css CHANGED
@@ -355,6 +355,47 @@ html {
355
355
  }
356
356
 
357
357
 
358
+ /* Custom utilities */
359
+ /**
360
+ * Custom utility classes
361
+ * Extends Tailwind CSS v4 with additional utilities
362
+ */
363
+
364
+ /* Responsive grid utilities with auto-fill/auto-fit */
365
+ @utility grid-cols-auto-fill-* {
366
+ grid-template-columns: repeat(auto-fill, minmax(min(calc(--value(integer) * 0.25rem), 100%), 1fr));
367
+ }
368
+
369
+ @utility grid-cols-auto-fit-* {
370
+ grid-template-columns: repeat(auto-fit, minmax(min(calc(--value(integer) * 0.25rem), 100%), 1fr));
371
+ }
372
+
373
+ /* Screen reader only utility - visually hidden but accessible */
374
+ .sr-only {
375
+ position: absolute;
376
+ width: 1px;
377
+ height: 1px;
378
+ padding: 0;
379
+ margin: -1px;
380
+ overflow: hidden;
381
+ clip: rect(0, 0, 0, 0);
382
+ white-space: nowrap;
383
+ border: 0;
384
+ }
385
+
386
+ /* Undo sr-only for focus states (useful for skip links) */
387
+ .not-sr-only {
388
+ position: static;
389
+ width: auto;
390
+ height: auto;
391
+ padding: 0;
392
+ margin: 0;
393
+ overflow: visible;
394
+ clip: auto;
395
+ white-space: normal;
396
+ }
397
+
398
+
358
399
 
359
400
  /* Built-in themes */
360
401
  /**
@@ -376,22 +417,22 @@ html {
376
417
  * ============================================ */
377
418
 
378
419
  /* Primary Color Family - Warm Orange */
379
- --color-primary: oklch(72% 0.165 55);
380
- --color-primary-content: oklch(100% 0 0);
381
- --color-primary-container: oklch(95% 0.04 55);
382
- --color-on-primary-container: oklch(35% 0.10 55);
420
+ --color-primary: oklch(95.86% 0.0693 95.91);
421
+ --color-primary-content: oklch(20% 0 0);
422
+ --color-primary-container: oklch(95% 0.035 95.91);
423
+ --color-on-primary-container: oklch(25% 0.03 95.91);
383
424
 
384
425
  /* Secondary Color Family - Coral Pink */
385
- --color-secondary: oklch(68% 0.18 360);
386
- --color-secondary-content: oklch(100% 0 0);
387
- --color-secondary-container: oklch(95% 0.04 360);
388
- --color-on-secondary-container: oklch(40% 0.12 360);
426
+ --color-secondary: oklch(87.42% 0.143 87.01);
427
+ --color-secondary-content: oklch(27.42% 0.143 87.01);
428
+ --color-secondary-container: oklch(94% 0.05 87.01);
429
+ --color-on-secondary-container: oklch(25% 0.05 87.01);
389
430
 
390
431
  /* Tertiary Color Family - Violet */
391
- --color-tertiary: oklch(62% 0.18 300);
392
- --color-tertiary-content: oklch(100% 0 0);
393
- --color-tertiary-container: oklch(95% 0.04 300);
394
- --color-on-tertiary-container: oklch(38% 0.12 300);
432
+ --color-tertiary: oklch(80% 0.085 235);
433
+ --color-tertiary-content: oklch(18% 0.010 235);
434
+ --color-tertiary-container: oklch(95% 0.035 235);
435
+ --color-on-tertiary-container: oklch(22% 0.012 235);
395
436
 
396
437
  /* ============================================
397
438
  * SURFACE COLORS
@@ -413,26 +454,26 @@ html {
413
454
  * ============================================ */
414
455
 
415
456
  /* Info - Sky Blue */
416
- --color-info: oklch(68% 0.15 235);
417
- --color-info-content: oklch(100% 0 0);
457
+ --color-info: oklch(41.94% 0.114 254.39);
458
+ --color-info-content: oklch(91.94% 0.114 254.39);
418
459
  --color-info-container: oklch(95% 0.03 235);
419
460
  --color-on-info-container: oklch(35% 0.08 235);
420
461
 
421
462
  /* Success - Green */
422
- --color-success: oklch(58% 0.14 150);
423
- --color-success-content: oklch(100% 0 0);
463
+ --color-success: oklch(67.21% 0.19 133.55);
464
+ --color-success-content: oklch(27.21% 0.19 133.55);
424
465
  --color-success-container: oklch(93% 0.04 150);
425
466
  --color-on-success-container: oklch(30% 0.08 150);
426
467
 
427
468
  /* Warning - Amber */
428
- --color-warning: oklch(80% 0.16 80);
429
- --color-warning-content: oklch(20% 0 0);
469
+ --color-warning: oklch(68.19% 0.203 42.44);
470
+ --color-warning-content: oklch(18.19% 0.6 42);
430
471
  --color-warning-container: oklch(93% 0.05 80);
431
472
  --color-on-warning-container: oklch(38% 0.10 80);
432
473
 
433
474
  /* Error - Red */
434
- --color-error: oklch(60% 0.20 25);
435
- --color-error-content: oklch(100% 0 0);
475
+ --color-error: oklch(61.17% 0.237 28.15);
476
+ --color-error-content: oklch(90.01% 0.153 84.78);
436
477
  --color-error-container: oklch(93% 0.04 25);
437
478
  --color-on-error-container: oklch(32% 0.10 25);
438
479
 
@@ -440,16 +481,16 @@ html {
440
481
  * NEUTRAL COLORS (Base Scale)
441
482
  * ============================================ */
442
483
 
443
- --color-base-100: oklch(100% 0 0);
444
- --color-base-200: oklch(98% 0.01 85);
445
- --color-base-300: oklch(96% 0.01 85);
446
- --color-base-400: oklch(91% 0.01 85);
447
- --color-base-500: oklch(80% 0.01 85);
448
- --color-base-600: oklch(62% 0.01 85);
449
- --color-base-700: oklch(50% 0.01 85);
450
- --color-base-800: oklch(35% 0.01 85);
451
- --color-base-900: oklch(23% 0.01 85);
452
- --color-base-content: oklch(27% 0.02 260);
484
+ --color-base-100: oklch(100% 0.1 255);
485
+ --color-base-200: oklch(85% 0.1 255);
486
+ --color-base-300: oklch(70% 0.1 255);
487
+ --color-base-400: oklch(55% 0.06 255);
488
+ --color-base-500: oklch(45% 0.05 255);
489
+ --color-base-600: oklch(35% 0.04 255);
490
+ --color-base-700: oklch(25% 0.03 255);
491
+ --color-base-800: oklch(18% 0.02 255);
492
+ --color-base-900: oklch(12% 0.01 255);
493
+ --color-base-content: oklch(10% 0 255);
453
494
 
454
495
  /* ============================================
455
496
  * OUTLINE COLORS
@@ -457,6 +498,55 @@ html {
457
498
 
458
499
  --color-outline: oklch(75% 0.01 260);
459
500
  --color-outline-variant: oklch(85% 0.01 260);
501
+
502
+ /* ============================================
503
+ * ACCENT COLORS
504
+ * ============================================ */
505
+
506
+ --color-accent: oklch(85.23% 0.14 327);
507
+ --color-accent-content: oklch(41% 0.112 45.904);
508
+
509
+ /* ============================================
510
+ * NEUTRAL COLORS
511
+ * ============================================ */
512
+
513
+ --color-neutral: oklch(0% 0 0);
514
+ --color-neutral-content: oklch(80% 0.1 50);
515
+ --color-neutral-variant: oklch(50% 0.02 260);
516
+
517
+ /* ============================================
518
+ * SHAPE & DEPTH
519
+ * ============================================ */
520
+
521
+ --radius-selector: 0rem;
522
+ --radius-field: 0.5rem;
523
+ --radius-box: 2rem;
524
+ --size-selector: 0.1875rem;
525
+ --size-field: 0.1875rem;
526
+ --border: 0.5px;
527
+ --depth: 1;
528
+ --noise: 1;
529
+
530
+ /* ============================================
531
+ * SURFACE VARIANT
532
+ * ============================================ */
533
+
534
+ --color-surface-variant: oklch(94% 0.02 85);
535
+
536
+ /* ============================================
537
+ * INVERSE COLORS
538
+ * ============================================ */
539
+
540
+ --color-inverse-surface: oklch(25% 0.02 260);
541
+ --color-inverse-on-surface: oklch(95% 0.01 260);
542
+ --color-inverse-primary: oklch(80% 0.14 55);
543
+
544
+ /* ============================================
545
+ * SHADOW & SCRIM
546
+ * ============================================ */
547
+
548
+ --color-shadow: oklch(0% 0 0);
549
+ --color-scrim: oklch(0% 0 0 / 50%);
460
550
  }
461
551
 
462
552
  /* Default theme - applies sunshine when no data-theme is set */
@@ -464,20 +554,20 @@ html {
464
554
  color-scheme: light;
465
555
 
466
556
  /* Brand Colors */
467
- --color-primary: oklch(72% 0.165 55);
468
- --color-primary-content: oklch(100% 0 0);
469
- --color-primary-container: oklch(95% 0.04 55);
470
- --color-on-primary-container: oklch(35% 0.10 55);
557
+ --color-primary: oklch(95.86% 0.0693 95.91);
558
+ --color-primary-content: oklch(20% 0 0);
559
+ --color-primary-container: oklch(95% 0.035 95.91);
560
+ --color-on-primary-container: oklch(25% 0.03 95.91);
471
561
 
472
- --color-secondary: oklch(68% 0.18 360);
473
- --color-secondary-content: oklch(100% 0 0);
474
- --color-secondary-container: oklch(95% 0.04 360);
475
- --color-on-secondary-container: oklch(40% 0.12 360);
562
+ --color-secondary: oklch(87.42% 0.143 87.01);
563
+ --color-secondary-content: oklch(27.42% 0.143 87.01);
564
+ --color-secondary-container: oklch(94% 0.05 87.01);
565
+ --color-on-secondary-container: oklch(25% 0.05 87.01);
476
566
 
477
- --color-tertiary: oklch(62% 0.18 300);
478
- --color-tertiary-content: oklch(100% 0 0);
479
- --color-tertiary-container: oklch(95% 0.04 300);
480
- --color-on-tertiary-container: oklch(38% 0.12 300);
567
+ --color-tertiary: oklch(80% 0.085 235);
568
+ --color-tertiary-content: oklch(18% 0.010 235);
569
+ --color-tertiary-container: oklch(95% 0.035 235);
570
+ --color-on-tertiary-container: oklch(22% 0.012 235);
481
571
 
482
572
  /* Surface Colors */
483
573
  --color-surface: oklch(100% 0 0);
@@ -492,41 +582,76 @@ html {
492
582
  --color-on-surface-variant: oklch(50% 0.02 260);
493
583
 
494
584
  /* Semantic Colors */
495
- --color-info: oklch(68% 0.15 235);
496
- --color-info-content: oklch(100% 0 0);
585
+ --color-info: oklch(41.94% 0.114 254.39);
586
+ --color-info-content: oklch(91.94% 0.114 254.39);
497
587
  --color-info-container: oklch(95% 0.03 235);
498
588
  --color-on-info-container: oklch(35% 0.08 235);
499
589
 
500
- --color-success: oklch(58% 0.14 150);
501
- --color-success-content: oklch(100% 0 0);
590
+ --color-success: oklch(67.21% 0.19 133.55);
591
+ --color-success-content: oklch(27.21% 0.19 133.55);
502
592
  --color-success-container: oklch(93% 0.04 150);
503
593
  --color-on-success-container: oklch(30% 0.08 150);
504
594
 
505
- --color-warning: oklch(80% 0.16 80);
506
- --color-warning-content: oklch(20% 0 0);
595
+ --color-warning: oklch(68.19% 0.203 42.44);
596
+ --color-warning-content: oklch(18.19% 0.6 42);
507
597
  --color-warning-container: oklch(93% 0.05 80);
508
598
  --color-on-warning-container: oklch(38% 0.10 80);
509
599
 
510
- --color-error: oklch(60% 0.20 25);
511
- --color-error-content: oklch(100% 0 0);
600
+ --color-error: oklch(61.17% 0.237 28.15);
601
+ --color-error-content: oklch(90.01% 0.153 84.78);
512
602
  --color-error-container: oklch(93% 0.04 25);
513
603
  --color-on-error-container: oklch(32% 0.10 25);
514
604
 
515
605
  /* Neutral Colors */
516
- --color-base-100: oklch(100% 0 0);
517
- --color-base-200: oklch(98% 0.01 85);
518
- --color-base-300: oklch(96% 0.01 85);
519
- --color-base-400: oklch(91% 0.01 85);
520
- --color-base-500: oklch(80% 0.01 85);
521
- --color-base-600: oklch(62% 0.01 85);
522
- --color-base-700: oklch(50% 0.01 85);
523
- --color-base-800: oklch(35% 0.01 85);
524
- --color-base-900: oklch(23% 0.01 85);
525
- --color-base-content: oklch(27% 0.02 260);
606
+ --color-base-100: oklch(100% 0.1 255);
607
+ --color-base-200: oklch(85% 0.1 255);
608
+ --color-base-300: oklch(70% 0.1 255);
609
+ --color-base-400: oklch(55% 0.06 255);
610
+ --color-base-500: oklch(45% 0.05 255);
611
+ --color-base-600: oklch(35% 0.04 255);
612
+ --color-base-700: oklch(25% 0.03 255);
613
+ --color-base-800: oklch(18% 0.02 255);
614
+ --color-base-900: oklch(12% 0.01 255);
615
+ --color-base-content: oklch(10% 0 255);
526
616
 
527
617
  /* Outline Colors */
528
618
  --color-outline: oklch(75% 0.01 260);
529
619
  --color-outline-variant: oklch(85% 0.01 260);
620
+
621
+ /* Accent Colors */
622
+ --color-accent: oklch(85.23% 0.14 327);
623
+ --color-accent-content: oklch(41% 0.112 45.904);
624
+
625
+ /* Neutral Colors */
626
+ --color-neutral: oklch(0% 0 0);
627
+ --color-neutral-content: oklch(80% 0.1 50);
628
+ --color-neutral-variant: oklch(50% 0.02 260);
629
+
630
+ /* ============================================
631
+ * SHAPE & DEPTH
632
+ * ============================================ */
633
+
634
+ --radius-selector: 0rem;
635
+ --radius-field: 0.5rem;
636
+ --radius-box: 2rem;
637
+ --size-selector: 0.1875rem;
638
+ --size-field: 0.1875rem;
639
+ --border: 0.5px;
640
+ --depth: 1;
641
+ --noise: 1;
642
+
643
+ /* Surface Variant */
644
+ --color-surface-variant: oklch(94% 0.02 85);
645
+
646
+
647
+ /* Inverse Colors */
648
+ --color-inverse-surface: oklch(25% 0.02 260);
649
+ --color-inverse-on-surface: oklch(95% 0.01 260);
650
+ --color-inverse-primary: oklch(80% 0.14 55);
651
+
652
+ /* Shadow & Scrim */
653
+ --color-shadow: oklch(0% 0 0);
654
+ --color-scrim: oklch(0% 0 0 / 50%);
530
655
  }
531
656
 
532
657
  /**
@@ -543,22 +668,22 @@ html {
543
668
  * ============================================ */
544
669
 
545
670
  /* Primary Color Family - Cool Blue */
546
- --color-primary: oklch(68% 0.18 255);
547
- --color-primary-content: oklch(100% 0 0);
548
- --color-primary-container: oklch(35% 0.08 255);
549
- --color-on-primary-container: oklch(88% 0.08 255);
671
+ --color-primary: oklch(85.45% 0 0);
672
+ --color-primary-content: oklch(14.94% 0.031 39.947);
673
+ --color-primary-container: oklch(25% 0.01 0);
674
+ --color-on-primary-container: oklch(85% 0.01 0);
550
675
 
551
676
  /* Secondary Color Family - Soft Teal */
552
- --color-secondary: oklch(72% 0.10 190);
553
- --color-secondary-content: oklch(20% 0 0);
554
- --color-secondary-container: oklch(32% 0.05 190);
555
- --color-on-secondary-container: oklch(85% 0.06 190);
677
+ --color-secondary: oklch(83.33% 0.0981 73.78);
678
+ --color-secondary-content: oklch(14.507% 0.035 2.72);
679
+ --color-secondary-container: oklch(28% 0.03 73.78);
680
+ --color-on-secondary-container: oklch(88% 0.03 73.78);
556
681
 
557
682
  /* Tertiary Color Family - Lavender */
558
- --color-tertiary: oklch(72% 0.14 310);
559
- --color-tertiary-content: oklch(20% 0 0);
560
- --color-tertiary-container: oklch(35% 0.08 310);
561
- --color-on-tertiary-container: oklch(88% 0.06 310);
683
+ --color-tertiary: oklch(72% 0.090 255);
684
+ --color-tertiary-content: oklch(14% 0.012 255);
685
+ --color-tertiary-container: oklch(28% 0.030 255);
686
+ --color-on-tertiary-container: oklch(88% 0.010 255);
562
687
 
563
688
  /* ============================================
564
689
  * SURFACE COLORS
@@ -580,26 +705,26 @@ html {
580
705
  * ============================================ */
581
706
 
582
707
  /* Info - Light Blue */
583
- --color-info: oklch(72% 0.12 235);
584
- --color-info-content: oklch(20% 0 0);
708
+ --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
709
+ --color-info-content: oklch(17.111% 0.017 206.015);
585
710
  --color-info-container: oklch(32% 0.06 235);
586
711
  --color-on-info-container: oklch(88% 0.06 235);
587
712
 
588
713
  /* Success - Mint Green */
589
- --color-success: oklch(65% 0.12 150);
590
- --color-success-content: oklch(20% 0 0);
714
+ --color-success: oklch(82.19% 0.0621 133.3);
715
+ --color-success-content: oklch(17.112% 0.017 144.778);
591
716
  --color-success-container: oklch(30% 0.05 150);
592
717
  --color-on-success-container: oklch(85% 0.06 150);
593
718
 
594
719
  /* Warning - Warm Amber */
595
- --color-warning: oklch(82% 0.14 80);
596
- --color-warning-content: oklch(20% 0 0);
720
+ --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
721
+ --color-warning-content: oklch(17.113% 0.016 74.427);
597
722
  --color-warning-container: oklch(35% 0.06 80);
598
723
  --color-on-warning-container: oklch(90% 0.06 80);
599
724
 
600
725
  /* Error - Soft Red */
601
- --color-error: oklch(62% 0.18 25);
602
- --color-error-content: oklch(100% 0 0);
726
+ --color-error: oklch(46.38% 0.1898 29.17);
727
+ --color-error-content: oklch(86.38% 0.298 39.17);
603
728
  --color-error-container: oklch(30% 0.08 25);
604
729
  --color-on-error-container: oklch(88% 0.06 25);
605
730
 
@@ -607,16 +732,17 @@ html {
607
732
  * NEUTRAL COLORS (Base Scale)
608
733
  * ============================================ */
609
734
 
610
- --color-base-100: oklch(20% 0.02 260);
611
- --color-base-200: oklch(23% 0.02 260);
612
- --color-base-300: oklch(26% 0.02 260);
613
- --color-base-400: oklch(32% 0.01 260);
614
- --color-base-500: oklch(44% 0.01 260);
615
- --color-base-600: oklch(58% 0.01 260);
616
- --color-base-700: oklch(70% 0.01 260);
617
- --color-base-800: oklch(84% 0.01 260);
618
- --color-base-900: oklch(94% 0.01 260);
619
- --color-base-content: oklch(95% 0.01 260);
735
+ --color-base-100: oklch(22% 0.019 237.69);
736
+ --color-base-200: oklch(20% 0.019 237.69);
737
+ --color-base-300: oklch(18% 0.019 237.69);
738
+ --color-base-400: oklch(26% 0.019 237.69);
739
+ --color-base-500: oklch(32% 0.019 237.69);
740
+ --color-base-600: oklch(40% 0.018 237.69);
741
+ --color-base-700: oklch(55% 0.017 237.69);
742
+ --color-base-800: oklch(70% 0.016 237.69);
743
+ --color-base-900: oklch(85% 0.015 237.69);
744
+ --color-base-content: oklch(77.383% 0.043 245.096);
745
+
620
746
 
621
747
  /* ============================================
622
748
  * OUTLINE COLORS
@@ -624,6 +750,55 @@ html {
624
750
 
625
751
  --color-outline: oklch(44% 0.01 260);
626
752
  --color-outline-variant: oklch(35% 0.01 260);
753
+
754
+ /* ============================================
755
+ * ACCENT COLORS
756
+ * ============================================ */
757
+
758
+ --color-accent: oklch(75.65% 0.1303 335.51);
759
+ --color-accent-content: oklch(14.258% 0.033 299.844);
760
+
761
+ /* ============================================
762
+ * NEUTRAL COLORS
763
+ * ============================================ */
764
+
765
+ --color-neutral: oklch(23% 0 0);
766
+ --color-neutral-content: oklch(52.43% 0 0);
767
+ --color-neutral-variant: oklch(55% 0.01 260);
768
+
769
+ /* ============================================
770
+ * SHAPE & DEPTH
771
+ * ============================================ */
772
+
773
+ --radius-selector: 0rem;
774
+ --radius-field: 0.5rem;
775
+ --radius-box: 2rem;
776
+ --size-selector: 0.1875rem;
777
+ --size-field: 0.1875rem;
778
+ --border: 0.5px;
779
+ --depth: 1;
780
+ --noise: 1;
781
+
782
+ /* ============================================
783
+ * SURFACE VARIANT
784
+ * ============================================ */
785
+
786
+ --color-surface-variant: oklch(30% 0.02 260);
787
+
788
+ /* ============================================
789
+ * INVERSE COLORS
790
+ * ============================================ */
791
+
792
+ --color-inverse-surface: oklch(95% 0.01 260);
793
+ --color-inverse-on-surface: oklch(25% 0.02 260);
794
+ --color-inverse-primary: oklch(55% 0.16 255);
795
+
796
+ /* ============================================
797
+ * SHADOW & SCRIM
798
+ * ============================================ */
799
+
800
+ --color-shadow: oklch(0% 0 0);
801
+ --color-scrim: oklch(0% 0 0 / 60%);
627
802
  }
628
803
 
629
804
  /* System preference: prefers-color-scheme dark */
@@ -632,20 +807,20 @@ html {
632
807
  color-scheme: dark;
633
808
 
634
809
  /* Brand Colors */
635
- --color-primary: oklch(68% 0.18 255);
636
- --color-primary-content: oklch(100% 0 0);
637
- --color-primary-container: oklch(35% 0.08 255);
638
- --color-on-primary-container: oklch(88% 0.08 255);
810
+ --color-primary: oklch(85.45% 0 0);
811
+ --color-primary-content: oklch(14.94% 0.031 39.947);
812
+ --color-primary-container: oklch(25% 0.01 0);
813
+ --color-on-primary-container: oklch(85% 0.01 0);
639
814
 
640
- --color-secondary: oklch(72% 0.10 190);
641
- --color-secondary-content: oklch(20% 0 0);
642
- --color-secondary-container: oklch(32% 0.05 190);
643
- --color-on-secondary-container: oklch(85% 0.06 190);
815
+ --color-secondary: oklch(83.33% 0.0981 73.78);
816
+ --color-secondary-content: oklch(14.507% 0.035 2.72);
817
+ --color-secondary-container: oklch(28% 0.03 73.78);
818
+ --color-on-secondary-container: oklch(88% 0.03 73.78);
644
819
 
645
- --color-tertiary: oklch(72% 0.14 310);
646
- --color-tertiary-content: oklch(20% 0 0);
647
- --color-tertiary-container: oklch(35% 0.08 310);
648
- --color-on-tertiary-container: oklch(88% 0.06 310);
820
+ --color-tertiary: oklch(72% 0.090 255);
821
+ --color-tertiary-content: oklch(14% 0.012 255);
822
+ --color-tertiary-container: oklch(28% 0.030 255);
823
+ --color-on-tertiary-container: oklch(88% 0.010 255);
649
824
 
650
825
  /* Surface Colors */
651
826
  --color-surface: oklch(20% 0.02 260);
@@ -660,46 +835,81 @@ html {
660
835
  --color-on-surface-variant: oklch(75% 0.01 260);
661
836
 
662
837
  /* Semantic Colors */
663
- --color-info: oklch(72% 0.12 235);
664
- --color-info-content: oklch(20% 0 0);
838
+ --color-info: oklch(82.42% 0.09757279812867503 240.7677443360475);
839
+ --color-info-content: oklch(17.111% 0.017 206.015);
665
840
  --color-info-container: oklch(32% 0.06 235);
666
841
  --color-on-info-container: oklch(88% 0.06 235);
667
842
 
668
- --color-success: oklch(65% 0.12 150);
669
- --color-success-content: oklch(20% 0 0);
843
+ --color-success: oklch(82.19% 0.0621 133.3);
844
+ --color-success-content: oklch(17.112% 0.017 144.778);
670
845
  --color-success-container: oklch(30% 0.05 150);
671
846
  --color-on-success-container: oklch(85% 0.06 150);
672
847
 
673
- --color-warning: oklch(82% 0.14 80);
674
- --color-warning-content: oklch(20% 0 0);
848
+ --color-warning: oklch(76.36% 0.1752731353930708 61.96388739129725);
849
+ --color-warning-content: oklch(17.113% 0.016 74.427);
675
850
  --color-warning-container: oklch(35% 0.06 80);
676
851
  --color-on-warning-container: oklch(90% 0.06 80);
677
852
 
678
- --color-error: oklch(62% 0.18 25);
679
- --color-error-content: oklch(100% 0 0);
853
+ --color-error: oklch(46.38% 0.1898 29.17);
854
+ --color-error-content: oklch(86.38% 0.298 39.17);
680
855
  --color-error-container: oklch(30% 0.08 25);
681
856
  --color-on-error-container: oklch(88% 0.06 25);
682
857
 
683
858
  /* Neutral Colors */
684
- --color-base-100: oklch(20% 0.02 260);
685
- --color-base-200: oklch(23% 0.02 260);
686
- --color-base-300: oklch(26% 0.02 260);
687
- --color-base-400: oklch(32% 0.01 260);
688
- --color-base-500: oklch(44% 0.01 260);
689
- --color-base-600: oklch(58% 0.01 260);
690
- --color-base-700: oklch(70% 0.01 260);
691
- --color-base-800: oklch(84% 0.01 260);
692
- --color-base-900: oklch(94% 0.01 260);
693
- --color-base-content: oklch(95% 0.01 260);
859
+ --color-base-100: oklch(22% 0.019 237.69);
860
+ --color-base-200: oklch(20% 0.019 237.69);
861
+ --color-base-300: oklch(18% 0.019 237.69);
862
+ --color-base-400: oklch(26% 0.019 237.69);
863
+ --color-base-500: oklch(32% 0.019 237.69);
864
+ --color-base-600: oklch(40% 0.018 237.69);
865
+ --color-base-700: oklch(55% 0.017 237.69);
866
+ --color-base-800: oklch(70% 0.016 237.69);
867
+ --color-base-900: oklch(85% 0.015 237.69);
868
+ --color-base-content: oklch(77.383% 0.043 245.096);
694
869
 
695
870
  /* Outline Colors */
696
871
  --color-outline: oklch(44% 0.01 260);
697
872
  --color-outline-variant: oklch(35% 0.01 260);
873
+
874
+ /* Accent Colors */
875
+ --color-accent: oklch(75.65% 0.1303 335.51);
876
+ --color-accent-content: oklch(14.258% 0.033 299.844);
877
+
878
+ /* Neutral Colors */
879
+ --color-neutral: oklch(23% 0 0);
880
+ --color-neutral-content: oklch(52.43% 0 0);
881
+ --color-neutral-variant: oklch(55% 0.01 260);
882
+
883
+ /* ============================================
884
+ * SHAPE & DEPTH
885
+ * ============================================ */
886
+
887
+ --radius-selector: 0rem;
888
+ --radius-field: 0.5rem;
889
+ --radius-box: 2rem;
890
+ --size-selector: 0.1875rem;
891
+ --size-field: 0.1875rem;
892
+ --border: 0.5px;
893
+ --depth: 1;
894
+ --noise: 1;
895
+
896
+ /* Surface Variant */
897
+ --color-surface-variant: oklch(30% 0.02 260);
898
+
899
+ /* Inverse Colors */
900
+ --color-inverse-surface: oklch(95% 0.01 260);
901
+ --color-inverse-on-surface: oklch(25% 0.02 260);
902
+ --color-inverse-primary: oklch(55% 0.16 255);
903
+
904
+ /* Shadow & Scrim */
905
+ --color-shadow: oklch(0% 0 0);
906
+ --color-scrim: oklch(0% 0 0 / 60%);
698
907
  }
699
908
  }
700
909
 
701
910
 
702
911
 
912
+
703
913
  /* Component styles */
704
914
  /**
705
915
  * DuskMoonUI Components
@@ -2250,6 +2460,7 @@ html {
2250
2460
  font-size: 0.875rem;
2251
2461
  }
2252
2462
 
2463
+ /* List-based breadcrumbs (legacy) */
2253
2464
  .breadcrumbs li {
2254
2465
  display: flex;
2255
2466
  align-items: center;
@@ -2280,6 +2491,198 @@ html {
2280
2491
  color: var(--color-on-surface-variant);
2281
2492
  }
2282
2493
 
2494
+ /* Span-based breadcrumbs */
2495
+ .breadcrumb-item {
2496
+ display: inline-flex;
2497
+ align-items: center;
2498
+ gap: 0.375rem;
2499
+ color: var(--color-on-surface-variant);
2500
+ text-decoration: none;
2501
+ transition: color 150ms ease-in-out;
2502
+ }
2503
+
2504
+ .breadcrumb-item:hover {
2505
+ color: var(--color-on-surface);
2506
+ }
2507
+
2508
+ .breadcrumb-item-active {
2509
+ color: var(--color-on-surface);
2510
+ font-weight: 500;
2511
+ pointer-events: none;
2512
+ }
2513
+
2514
+ .breadcrumb-link {
2515
+ display: inline-flex;
2516
+ align-items: center;
2517
+ gap: 0.375rem;
2518
+ color: var(--color-on-surface-variant);
2519
+ text-decoration: none;
2520
+ transition: color 150ms ease-in-out;
2521
+ cursor: pointer;
2522
+ }
2523
+
2524
+ .breadcrumb-link:hover {
2525
+ color: var(--color-primary);
2526
+ text-decoration: underline;
2527
+ }
2528
+
2529
+ .breadcrumb-link:focus-visible {
2530
+ outline: 2px solid var(--color-primary);
2531
+ outline-offset: 2px;
2532
+ border-radius: 0.25rem;
2533
+ }
2534
+
2535
+ /* Separator - Default shows "/" */
2536
+ .breadcrumb-separator {
2537
+ display: inline-flex;
2538
+ align-items: center;
2539
+ color: var(--color-on-surface-variant);
2540
+ font-size: 0.875rem;
2541
+ user-select: none;
2542
+ opacity: 0.6;
2543
+ }
2544
+
2545
+ .breadcrumb-separator::before {
2546
+ content: "/";
2547
+ }
2548
+
2549
+ /* Separator Variants */
2550
+ .breadcrumbs-slash .breadcrumb-separator::before {
2551
+ content: "/";
2552
+ }
2553
+
2554
+ .breadcrumbs-chevron .breadcrumb-separator::before {
2555
+ content: "›";
2556
+ font-size: 1.125rem;
2557
+ }
2558
+
2559
+ .breadcrumbs-dot .breadcrumb-separator::before {
2560
+ content: "•";
2561
+ }
2562
+
2563
+ .breadcrumbs-arrow .breadcrumb-separator::before {
2564
+ content: "→";
2565
+ }
2566
+
2567
+ .breadcrumbs-pipe .breadcrumb-separator::before {
2568
+ content: "|";
2569
+ }
2570
+
2571
+ /* Breadcrumb Icon */
2572
+ .breadcrumb-icon {
2573
+ display: inline-flex;
2574
+ align-items: center;
2575
+ justify-content: center;
2576
+ width: 1rem;
2577
+ height: 1rem;
2578
+ flex-shrink: 0;
2579
+ }
2580
+
2581
+ .breadcrumb-icon svg {
2582
+ width: 100%;
2583
+ height: 100%;
2584
+ }
2585
+
2586
+ /* Home Icon Link */
2587
+ .breadcrumb-home {
2588
+ display: inline-flex;
2589
+ align-items: center;
2590
+ justify-content: center;
2591
+ color: var(--color-on-surface-variant);
2592
+ text-decoration: none;
2593
+ transition: color 150ms ease-in-out;
2594
+ }
2595
+
2596
+ .breadcrumb-home:hover {
2597
+ color: var(--color-primary);
2598
+ }
2599
+
2600
+ .breadcrumb-home-icon {
2601
+ width: 1.125rem;
2602
+ height: 1.125rem;
2603
+ }
2604
+
2605
+ /* Collapsed Breadcrumbs (with ellipsis) */
2606
+ .breadcrumb-ellipsis {
2607
+ display: inline-flex;
2608
+ align-items: center;
2609
+ justify-content: center;
2610
+ padding: 0.25rem 0.5rem;
2611
+ color: var(--color-on-surface-variant);
2612
+ background-color: transparent;
2613
+ border: none;
2614
+ border-radius: 0.25rem;
2615
+ cursor: pointer;
2616
+ transition: background-color 150ms ease-in-out;
2617
+ }
2618
+
2619
+ .breadcrumb-ellipsis::before {
2620
+ content: "...";
2621
+ }
2622
+
2623
+ .breadcrumb-ellipsis:hover {
2624
+ background-color: color-mix(in oklch, var(--color-on-surface) 8%, transparent);
2625
+ }
2626
+
2627
+ /* Color Variants */
2628
+ .breadcrumbs-primary .breadcrumb-link:hover,
2629
+ .breadcrumbs-primary .breadcrumb-item-active {
2630
+ color: var(--color-primary);
2631
+ }
2632
+
2633
+ .breadcrumbs-secondary .breadcrumb-link:hover,
2634
+ .breadcrumbs-secondary .breadcrumb-item-active {
2635
+ color: var(--color-secondary);
2636
+ }
2637
+
2638
+ .breadcrumbs-tertiary .breadcrumb-link:hover,
2639
+ .breadcrumbs-tertiary .breadcrumb-item-active {
2640
+ color: var(--color-tertiary);
2641
+ }
2642
+
2643
+ /* Size Variants */
2644
+ .breadcrumbs-sm {
2645
+ font-size: 0.75rem;
2646
+ gap: 0.375rem;
2647
+ }
2648
+
2649
+ .breadcrumbs-sm .breadcrumb-icon,
2650
+ .breadcrumbs-sm .breadcrumb-home-icon {
2651
+ width: 0.875rem;
2652
+ height: 0.875rem;
2653
+ }
2654
+
2655
+ .breadcrumbs-lg {
2656
+ font-size: 1rem;
2657
+ gap: 0.625rem;
2658
+ }
2659
+
2660
+ .breadcrumbs-lg .breadcrumb-icon,
2661
+ .breadcrumbs-lg .breadcrumb-home-icon {
2662
+ width: 1.25rem;
2663
+ height: 1.25rem;
2664
+ }
2665
+
2666
+ /* Contained Variant (with background) */
2667
+ .breadcrumbs-contained {
2668
+ padding: 0.75rem 1rem;
2669
+ background-color: var(--color-surface-container);
2670
+ border-radius: 0.5rem;
2671
+ }
2672
+
2673
+ /* No Wrap Variant */
2674
+ .breadcrumbs-nowrap {
2675
+ flex-wrap: nowrap;
2676
+ overflow-x: auto;
2677
+ }
2678
+
2679
+ /* Disabled Breadcrumb Item */
2680
+ .breadcrumb-item-disabled {
2681
+ opacity: 0.38;
2682
+ pointer-events: none;
2683
+ cursor: not-allowed;
2684
+ }
2685
+
2283
2686
  /* Tabs */
2284
2687
  .tabs {
2285
2688
  display: flex;
@@ -12741,18 +13144,93 @@ html {
12741
13144
  @layer components {
12742
13145
  /* Base Collapse */
12743
13146
  .collapse {
13147
+ display: flex;
13148
+ flex-direction: column;
13149
+ border-radius: 0.5rem;
13150
+ background-color: var(--color-surface);
13151
+ /* Override Tailwind's visibility: collapse utility */
13152
+ visibility: visible !important;
13153
+ }
13154
+
13155
+ /* Collapse Trigger */
13156
+ .collapse-trigger {
13157
+ display: flex;
13158
+ align-items: center;
13159
+ justify-content: space-between;
13160
+ width: 100%;
13161
+ padding: 0.75rem 1rem;
13162
+ font-size: 1rem;
13163
+ font-weight: 500;
13164
+ color: var(--color-on-surface);
13165
+ background-color: transparent;
13166
+ border: none;
13167
+ cursor: pointer;
13168
+ transition: background-color 150ms ease-in-out;
13169
+ text-align: left;
13170
+ }
13171
+
13172
+ .collapse-trigger:hover {
13173
+ background-color: var(--color-surface-container);
13174
+ }
13175
+
13176
+ .collapse-trigger:focus-visible {
13177
+ outline: 2px solid var(--color-primary);
13178
+ outline-offset: -2px;
13179
+ }
13180
+
13181
+ /* Collapse Icon */
13182
+ .collapse-icon {
13183
+ display: flex;
13184
+ align-items: center;
13185
+ justify-content: center;
13186
+ width: 1.5rem;
13187
+ height: 1.5rem;
13188
+ transition: transform 300ms ease-in-out;
13189
+ flex-shrink: 0;
13190
+ }
13191
+
13192
+ /* Collapse Content - hidden by default */
13193
+ .collapse-content {
12744
13194
  display: grid;
12745
13195
  grid-template-rows: 0fr;
12746
13196
  transition: grid-template-rows 300ms ease-in-out;
13197
+ overflow: hidden;
12747
13198
  }
12748
13199
 
12749
- .collapse.show {
13200
+ .collapse-content > * {
13201
+ overflow: hidden;
13202
+ padding: 0 1rem;
13203
+ }
13204
+
13205
+ /* Open State */
13206
+ .collapse-open .collapse-content {
12750
13207
  grid-template-rows: 1fr;
12751
13208
  }
12752
13209
 
12753
- /* Collapse Content */
12754
- .collapse-content {
12755
- overflow: hidden;
13210
+ .collapse-open .collapse-content > * {
13211
+ padding: 0 1rem 1rem;
13212
+ }
13213
+
13214
+ .collapse-open .collapse-icon {
13215
+ transform: rotate(180deg);
13216
+ }
13217
+
13218
+ /* Closed State (explicit) */
13219
+ .collapse-closed .collapse-content {
13220
+ grid-template-rows: 0fr;
13221
+ }
13222
+
13223
+ /* Legacy show class for backwards compatibility */
13224
+ .collapse.show .collapse-content {
13225
+ grid-template-rows: 1fr;
13226
+ }
13227
+
13228
+ .collapse.show .collapse-content > * {
13229
+ padding: 0 1rem 1rem;
13230
+ }
13231
+
13232
+ .collapse.show .collapse-icon {
13233
+ transform: rotate(180deg);
12756
13234
  }
12757
13235
 
12758
13236
  /* Collapse Inner (for padding) */
@@ -12816,9 +13294,11 @@ html {
12816
13294
  border: 1px solid var(--color-outline-variant);
12817
13295
  border-radius: 0.75rem;
12818
13296
  overflow: hidden;
13297
+ box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
12819
13298
  }
12820
13299
 
12821
- .collapse-card .collapse-toggle {
13300
+ .collapse-card .collapse-toggle,
13301
+ .collapse-card .collapse-trigger {
12822
13302
  width: 100%;
12823
13303
  justify-content: space-between;
12824
13304
  padding: 1rem;
@@ -12826,15 +13306,132 @@ html {
12826
13306
  color: var(--color-on-surface);
12827
13307
  }
12828
13308
 
12829
- .collapse-card .collapse-toggle:hover {
13309
+ .collapse-card .collapse-toggle:hover,
13310
+ .collapse-card .collapse-trigger:hover {
12830
13311
  background-color: var(--color-surface-container);
12831
13312
  }
12832
13313
 
12833
- .collapse-card .collapse-inner {
13314
+ .collapse-card .collapse-inner,
13315
+ .collapse-card .collapse-content > * {
12834
13316
  padding: 0 1rem 1rem;
12835
13317
  color: var(--color-on-surface-variant);
12836
13318
  }
12837
13319
 
13320
+ /* Bordered Variant */
13321
+ .collapse-bordered {
13322
+ border: 1px solid var(--color-outline-variant);
13323
+ border-radius: 0.5rem;
13324
+ }
13325
+
13326
+ /* Ghost Variant */
13327
+ .collapse-ghost {
13328
+ background-color: transparent;
13329
+ }
13330
+
13331
+ .collapse-ghost .collapse-trigger:hover {
13332
+ background-color: color-mix(in oklch, var(--color-on-surface) 5%, transparent);
13333
+ }
13334
+
13335
+ /* Color Variants */
13336
+ .collapse-primary .collapse-trigger {
13337
+ color: var(--color-primary);
13338
+ }
13339
+
13340
+ .collapse-primary .collapse-trigger:hover {
13341
+ background-color: var(--color-primary-container);
13342
+ }
13343
+
13344
+ .collapse-secondary .collapse-trigger {
13345
+ color: var(--color-secondary);
13346
+ }
13347
+
13348
+ .collapse-secondary .collapse-trigger:hover {
13349
+ background-color: var(--color-secondary-container);
13350
+ }
13351
+
13352
+ .collapse-tertiary .collapse-trigger {
13353
+ color: var(--color-tertiary);
13354
+ }
13355
+
13356
+ .collapse-tertiary .collapse-trigger:hover {
13357
+ background-color: var(--color-tertiary-container);
13358
+ }
13359
+
13360
+ /* Size Variants */
13361
+ .collapse-sm .collapse-trigger {
13362
+ padding: 0.5rem 0.75rem;
13363
+ font-size: 0.875rem;
13364
+ }
13365
+
13366
+ .collapse-sm .collapse-content > * {
13367
+ padding: 0 0.75rem;
13368
+ }
13369
+
13370
+ .collapse-sm.collapse-open .collapse-content > * {
13371
+ padding: 0 0.75rem 0.75rem;
13372
+ }
13373
+
13374
+ .collapse-lg .collapse-trigger {
13375
+ padding: 1rem 1.25rem;
13376
+ font-size: 1.125rem;
13377
+ }
13378
+
13379
+ .collapse-lg .collapse-content > * {
13380
+ padding: 0 1.25rem;
13381
+ }
13382
+
13383
+ .collapse-lg.collapse-open .collapse-content > * {
13384
+ padding: 0 1.25rem 1.25rem;
13385
+ }
13386
+
13387
+ /* Divider Variant */
13388
+ .collapse-divider .collapse-trigger {
13389
+ border-bottom: 1px solid var(--color-outline-variant);
13390
+ }
13391
+
13392
+ .collapse-divider.collapse-open .collapse-trigger {
13393
+ border-bottom-color: var(--color-outline-variant);
13394
+ }
13395
+
13396
+ /* Disabled State */
13397
+ .collapse-disabled {
13398
+ opacity: 0.5;
13399
+ pointer-events: none;
13400
+ }
13401
+
13402
+ .collapse-disabled .collapse-trigger {
13403
+ cursor: not-allowed;
13404
+ }
13405
+
13406
+ /* Loading State */
13407
+ .collapse-loading .collapse-trigger::after {
13408
+ content: '';
13409
+ display: inline-block;
13410
+ width: 1rem;
13411
+ height: 1rem;
13412
+ margin-left: 0.5rem;
13413
+ border: 2px solid var(--color-outline);
13414
+ border-top-color: var(--color-primary);
13415
+ border-radius: 50%;
13416
+ animation: collapse-spin 0.8s linear infinite;
13417
+ }
13418
+
13419
+ @keyframes collapse-spin {
13420
+ to { transform: rotate(360deg); }
13421
+ }
13422
+
13423
+ /* Slide Animation */
13424
+ .collapse-slide .collapse-content > * {
13425
+ transform: translateY(-0.5rem);
13426
+ opacity: 0;
13427
+ transition: transform 300ms ease-in-out, opacity 200ms ease-in-out;
13428
+ }
13429
+
13430
+ .collapse-slide.collapse-open .collapse-content > * {
13431
+ transform: translateY(0);
13432
+ opacity: 1;
13433
+ }
13434
+
12838
13435
  /* Horizontal Collapse */
12839
13436
  .collapse-horizontal {
12840
13437
  display: grid;
@@ -12977,14 +13574,20 @@ html {
12977
13574
  /* Reduce Motion */
12978
13575
  @media (prefers-reduced-motion: reduce) {
12979
13576
  .collapse,
13577
+ .collapse-content,
13578
+ .collapse-icon,
12980
13579
  .collapse-fade,
12981
13580
  .collapse-horizontal,
12982
13581
  .collapse-horizontal-fixed,
12983
13582
  .collapse-toggle-icon,
12984
13583
  .collapse-maxheight,
12985
- .collapse-animating {
13584
+ .collapse-animating,
13585
+ .collapse-slide .collapse-content > * {
12986
13586
  transition: none;
12987
13587
  }
13588
+ .collapse-loading .collapse-trigger::after {
13589
+ animation: none;
13590
+ }
12988
13591
  }
12989
13592
  }
12990
13593