domma-js 0.18.2 → 0.19.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.
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.18.1
2
+ * Domma Themes v0.19.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-02-25T21:51:19.692Z
6
- * Commit: 2eb305a
5
+ * Built: 2026-03-04T12:58:08.642Z
6
+ * Commit: 1068c4c
7
7
  */
8
8
 
9
9
  /**
@@ -3466,216 +3466,1325 @@
3466
3466
  --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
3467
3467
 
3468
3468
  }
3469
- .dm-theme-grayve {
3470
- color-scheme: dark; /* Slate is typically a dark theme */
3471
-
3472
- /* Tailwind-based color palette - adapting for grayve */
3473
- /* Slate (using bootswatch values) */
3474
- --dm-slate-50: #F8F9FA; /* Off-white */
3475
- --dm-slate-100: #E9ECEF;
3476
- --dm-slate-200: #DEE2E6;
3477
- --dm-slate-300: #CED4DA;
3478
- --dm-slate-400: #ADB5BD;
3479
- --dm-slate-500: #6C757D; /* Medium Gray */
3480
- --dm-slate-600: #495057;
3481
- --dm-slate-700: #343A40;
3482
- --dm-slate-800: #212529;
3483
- --dm-slate-900: #1a1e21; /* Dark Gray */
3484
- --dm-slate-950: #141619; /* Very Dark Gray */
3485
-
3486
- /* Blues (for primary/info, etc.) */
3487
- --dm-blue-50: #e0f7fa;
3488
- --dm-blue-100: #b2ebf2;
3489
- --dm-blue-200: #80deea;
3490
- --dm-blue-300: #4dd0e1;
3491
- --dm-blue-400: #26c6da;
3492
- --dm-blue-500: #00bcd4; /* Bootswatch primary might be close to this or lighter */
3493
- --dm-blue-600: #00acc1;
3494
- --dm-blue-700: #0097a7;
3495
- --dm-blue-800: #00838f;
3496
- --dm-blue-900: #006064;
3497
- --dm-blue-950: #004d40;
3498
-
3499
- /* Green (Success) */
3500
- --dm-green-500: #28a745;
3501
- --dm-green-400: #49cc61;
3502
- --dm-green-300: #6fd180;
3503
- --dm-green-600: #218838;
3504
-
3505
- /* Red (Danger) */
3506
- --dm-red-500: #dc3545;
3507
- --dm-red-400: #e35a67;
3508
- --dm-red-300: #eb808a;
3509
- --dm-red-600: #c82333;
3510
-
3511
- /* Amber (Warning) */
3512
- --dm-amber-500: #ffc107;
3513
- --dm-amber-400: #ffcd38;
3514
- --dm-amber-300: #ffd865;
3515
- --dm-amber-600: #e0a800;
3516
-
3517
- /* Sky (Info - often similar to primary but distinct) */
3518
- --dm-sky-500: #17a2b8;
3519
- --dm-sky-400: #26d2e9;
3520
- --dm-sky-300: #51daec;
3521
- --dm-sky-600: #138496;
3522
-
3523
- /* Semantic colors */
3524
- --dm-background: var(--dm-slate-900);
3525
- --dm-background-alt: var(--dm-slate-800);
3526
- --dm-surface: var(--dm-slate-800);
3527
- --dm-surface-raised: var(--dm-slate-700);
3528
- --dm-surface-overlay: rgba(0, 0, 0, 0.7);
3529
-
3530
- /* Text */
3531
- --dm-text: var(--dm-slate-200);
3532
- --dm-text-secondary: var(--dm-slate-400);
3533
- --dm-text-muted: var(--dm-slate-500);
3534
- --dm-text-disabled: var(--dm-slate-600);
3535
- --dm-text-inverse: var(--dm-slate-900);
3536
-
3537
- /* Borders */
3538
- --dm-border: var(--dm-slate-700);
3539
- --dm-border-light: var(--dm-slate-800);
3540
- --dm-border-dark: var(--dm-slate-600);
3541
- --dm-border-focus: var(--dm-blue-500); /* Use a vibrant blue for focus */
3542
- --dm-focus-ring: rgba(0, 188, 212, 0.3); /* Based on dm-blue-500 */
3543
- --dm-focus-ring-danger: rgba(220, 53, 69, 0.3); /* Based on dm-red-500 */
3544
-
3545
- /* Interactive States */
3546
- --dm-hover-bg: rgba(255, 255, 255, 0.07);
3547
- --dm-active-bg: rgba(255, 255, 255, 0.1);
3548
- --dm-selected-bg: var(--dm-blue-600);
3469
+ /**
3470
+ * Domma Unicorn Light Theme
3471
+ * Predominantly pink and purple tones
3472
+ * Light mode variant - light backgrounds with vibrant unicorn palette
3473
+ */
3474
+
3475
+ .dm-theme-unicorn-light {
3476
+ color-scheme: light;
3477
+
3478
+ /* ================================================
3479
+ FOUNDATIONAL COLORS - Light Mode Base
3480
+ ================================================ */
3481
+
3482
+ /* Backgrounds - Light/white backgrounds */
3483
+ --dm-background: #ffffff;
3484
+ --dm-background-alt: #faf5fc;
3485
+ --dm-surface: #ffffff;
3486
+ --dm-surface-raised: #f3e5f5;
3487
+ --dm-surface-overlay: #faf5fc;
3488
+
3489
+ /* Text - Dark colours for readability on light */
3490
+ --dm-text: #2d1b3d;
3491
+ --dm-text-secondary: #5d3a6e;
3492
+ --dm-text-muted: #8e6b9e;
3493
+ --dm-text-disabled: #c4a8d0;
3494
+ --dm-text-inverse: #ffffff;
3495
+
3496
+ /* Borders - Subtle purple tint on light backgrounds */
3497
+ --dm-border: #e1bee7;
3498
+ --dm-border-light: #f3e5f5;
3499
+ --dm-border-dark: #ce93d8;
3500
+
3501
+ /* ================================================
3502
+ UNICORN PRIMARY COLOURS - Amethyst Purple
3503
+ ================================================ */
3504
+ --dm-primary: #9b59b6;
3505
+ --dm-primary-hover: #8e44ad;
3506
+ --dm-primary-active: #7d3c98;
3507
+ --dm-primary-light: #f3e5f5;
3508
+ --dm-primary-dark: #7d3c98;
3509
+
3510
+ /* Focus ring with soft purple colour */
3511
+ --dm-focus-ring: 0 0 0 3px rgba(155, 89, 182, 0.35);
3512
+ --dm-border-focus: #9b59b6;
3513
+
3514
+ /* ================================================
3515
+ SECONDARY COLOURS - Hot Pink
3516
+ ================================================ */
3517
+ --dm-secondary: #e91e90;
3518
+ --dm-secondary-hover: #d81b7f;
3519
+ --dm-secondary-active: #c2176e;
3520
+ --dm-secondary-light: #fce4ec;
3521
+ --dm-secondary-dark: #c2176e;
3522
+
3523
+ /* ================================================
3524
+ STATUS COLOURS
3525
+ ================================================ */
3526
+ --dm-success: #66bb6a;
3527
+ --dm-success-hover: #57a85b;
3528
+ --dm-success-active: #43a047;
3529
+ --dm-success-light: rgba(102, 187, 106, 0.15);
3530
+ --dm-success-dark: #388e3c;
3531
+
3532
+ --dm-info: #42a5f5;
3533
+ --dm-info-hover: #2196f3;
3534
+ --dm-info-active: #1e88e5;
3535
+ --dm-info-light: rgba(66, 165, 245, 0.15);
3536
+ --dm-info-dark: #1976d2;
3537
+
3538
+ --dm-warning: #ffa726;
3539
+ --dm-warning-hover: #fb8c00;
3540
+ --dm-warning-active: #f57c00;
3541
+ --dm-warning-light: rgba(255, 167, 38, 0.15);
3542
+ --dm-warning-dark: #e65100;
3543
+ --dm-warning-text: #e65100;
3544
+
3545
+ --dm-danger: #ef5350;
3546
+ --dm-danger-hover: #e53935;
3547
+ --dm-danger-active: #c62828;
3548
+ --dm-danger-light: rgba(239, 83, 80, 0.15);
3549
+ --dm-danger-dark: #c62828;
3550
+
3551
+ /* ================================================
3552
+ ACCENT COLOURS
3553
+ ================================================ */
3554
+ --dm-accent-1: #f48fb1; /* Soft pink */
3555
+ --dm-accent-2: #ce93d8; /* Light purple */
3556
+ --dm-accent-3: #ab47bc; /* Medium purple */
3557
+ --dm-accent-4: #9b59b6; /* Amethyst */
3558
+
3559
+ /* ================================================
3560
+ INTERACTIVE STATES
3561
+ ================================================ */
3562
+ --dm-hover-bg: rgba(155, 89, 182, 0.06);
3563
+ --dm-active-bg: rgba(155, 89, 182, 0.12);
3564
+ --dm-selected-bg: rgba(155, 89, 182, 0.12);
3565
+ --dm-disabled-opacity: 0.65;
3566
+
3567
+ /* ================================================
3568
+ COMPONENT-SPECIFIC COLORS
3569
+ ================================================ */
3570
+
3571
+ /* Cards */
3572
+ --dm-card-bg: var(--dm-surface);
3573
+ --dm-card-border: var(--dm-border);
3574
+ --dm-card-shadow: var(--dm-shadow-sm);
3575
+
3576
+ /* Inputs */
3577
+ --dm-input-bg: var(--dm-surface);
3578
+ --dm-input-border: var(--dm-border-dark);
3579
+ --dm-input-text: var(--dm-text);
3580
+ --dm-input-placeholder: var(--dm-text-muted);
3581
+ --dm-input-focus-border: var(--dm-primary);
3582
+ --dm-input-focus-shadow: var(--dm-focus-ring);
3583
+ --dm-input-disabled-bg: #f3e5f5;
3584
+
3585
+ /* Buttons */
3586
+ --dm-btn-text: var(--dm-text);
3587
+ --dm-btn-bg: var(--dm-surface);
3588
+ --dm-btn-border: var(--dm-border-dark);
3589
+
3590
+ /* Tables */
3591
+ --dm-table-bg: transparent;
3592
+ --dm-table-border: var(--dm-border);
3593
+ --dm-table-header-bg: var(--dm-background-alt);
3594
+ --dm-table-header-text: var(--dm-text);
3595
+ --dm-table-stripe-bg: rgba(155, 89, 182, 0.03);
3596
+ --dm-table-hover-bg: rgba(155, 89, 182, 0.06);
3597
+ --dm-table-selected-bg: var(--dm-selected-bg);
3598
+
3599
+ /* Modals */
3600
+ --dm-modal-bg: var(--dm-surface);
3601
+ --dm-modal-border: var(--dm-border);
3602
+ --dm-modal-backdrop: rgba(45, 27, 61, 0.5);
3603
+ --dm-modal-shadow: var(--dm-shadow-xl);
3604
+
3605
+ /* Dropdowns */
3606
+ --dm-dropdown-bg: var(--dm-surface);
3607
+ --dm-dropdown-border: var(--dm-border);
3608
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
3609
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
3610
+ --dm-dropdown-item-active: var(--dm-selected-bg);
3611
+
3612
+ /* Tooltips */
3613
+ --dm-tooltip-bg: #2d1b3d;
3614
+ --dm-tooltip-text: #ffffff;
3615
+
3616
+ /* Toasts */
3617
+ --dm-toast-bg: var(--dm-surface);
3618
+ --dm-toast-border: var(--dm-border);
3619
+ --dm-toast-shadow: var(--dm-shadow-lg);
3620
+
3621
+ /* Navbar */
3622
+ --dm-navbar-bg: var(--dm-surface);
3623
+ --dm-navbar-text: var(--dm-text);
3624
+ --dm-navbar-border: var(--dm-border);
3625
+
3626
+ /* Sidebar */
3627
+ --dm-sidebar-bg: var(--dm-surface);
3628
+ --dm-sidebar-text: var(--dm-text);
3629
+ --dm-sidebar-border: var(--dm-border);
3630
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
3631
+ --dm-sidebar-item-active: var(--dm-selected-bg);
3632
+
3633
+ /* Tabs */
3634
+ --dm-tab-border: var(--dm-border);
3635
+ --dm-tab-hover-bg: var(--dm-hover-bg);
3636
+ --dm-tab-active-border: #9b59b6;
3637
+ --dm-tab-active-text: #7d3c98;
3638
+
3639
+ /* Accordion */
3640
+ --dm-accordion-bg: var(--dm-surface);
3641
+ --dm-accordion-border: var(--dm-border);
3642
+ --dm-accordion-header-bg: var(--dm-background-alt);
3643
+ --dm-accordion-header-hover: var(--dm-hover-bg);
3644
+
3645
+ /* Badges */
3646
+ --dm-badge-bg: var(--dm-primary);
3647
+ --dm-badge-text: #ffffff;
3648
+
3649
+ /* Progress */
3650
+ --dm-progress-bg: #f3e5f5;
3651
+ --dm-progress-bar: #9b59b6;
3652
+
3653
+ /* Scrollbar */
3654
+ --dm-scrollbar-track: #f3e5f5;
3655
+ --dm-scrollbar-thumb: #ce93d8;
3656
+ --dm-scrollbar-thumb-hover: #ab47bc;
3657
+
3658
+ /* Code */
3659
+ --dm-code-bg: #faf5fc;
3660
+ --dm-code-text: #e91e90;
3661
+ --dm-code-border: var(--dm-border);
3662
+
3663
+ /* ================================================
3664
+ SHADOWS - Standard for light mode
3665
+ ================================================ */
3666
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
3667
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
3668
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3669
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
3670
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
3671
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
3672
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
3673
+
3674
+ /* ================================================
3675
+ ELEVATION / DEPTH
3676
+ ================================================ */
3677
+ --dm-elevation-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06);
3678
+ --dm-elevation-2: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
3679
+ --dm-elevation-3: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
3680
+ --dm-elevation-4: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
3681
+ }
3682
+
3683
+ /**
3684
+ * Domma Unicorn Dark Theme
3685
+ * Predominantly pink and purple tones
3686
+ * Dark mode variant - deep purple-black backgrounds with luminous accents
3687
+ */
3688
+
3689
+ .dm-theme-unicorn-dark {
3690
+ color-scheme: dark;
3691
+
3692
+ /* ================================================
3693
+ FOUNDATIONAL COLORS - Dark Mode Base
3694
+ ================================================ */
3695
+
3696
+ /* Backgrounds - Deep purple-black backgrounds */
3697
+ --dm-background: #1a0e24;
3698
+ --dm-background-alt: #241432;
3699
+ --dm-surface: #241432;
3700
+ --dm-surface-raised: #341a45;
3701
+ --dm-surface-overlay: #341a45;
3702
+
3703
+ /* Text - Light colours for readability on dark */
3704
+ --dm-text: #f3e5f5;
3705
+ --dm-text-secondary: #ce93d8;
3706
+ --dm-text-muted: #ab47bc;
3707
+ --dm-text-disabled: #6a3d7a;
3708
+ --dm-text-inverse: #1a0e24;
3709
+
3710
+ /* Borders - Muted purple on dark backgrounds */
3711
+ --dm-border: #4a2660;
3712
+ --dm-border-light: #341a45;
3713
+ --dm-border-dark: #6a3d7a;
3714
+
3715
+ /* ================================================
3716
+ UNICORN PRIMARY COLOURS - Lighter purple for contrast
3717
+ ================================================ */
3718
+ --dm-primary: #ce93d8;
3719
+ --dm-primary-hover: #ba68c8;
3720
+ --dm-primary-active: #ab47bc;
3721
+ --dm-primary-light: #f3e5f5;
3722
+ --dm-primary-dark: #ab47bc;
3723
+
3724
+ /* Focus ring with soft purple colour */
3725
+ --dm-focus-ring: 0 0 0 3px rgba(206, 147, 216, 0.35);
3726
+ --dm-border-focus: #ce93d8;
3727
+
3728
+ /* ================================================
3729
+ SECONDARY COLOURS - Lighter pink for contrast
3730
+ ================================================ */
3731
+ --dm-secondary: #f48fb1;
3732
+ --dm-secondary-hover: #f06292;
3733
+ --dm-secondary-active: #ec407a;
3734
+ --dm-secondary-light: #fce4ec;
3735
+ --dm-secondary-dark: #ec407a;
3736
+
3737
+ /* ================================================
3738
+ STATUS COLOURS
3739
+ ================================================ */
3740
+ --dm-success: #66bb6a;
3741
+ --dm-success-hover: #81c784;
3742
+ --dm-success-active: #a5d6a7;
3743
+ --dm-success-light: rgba(102, 187, 106, 0.2);
3744
+ --dm-success-dark: #43a047;
3745
+
3746
+ --dm-info: #42a5f5;
3747
+ --dm-info-hover: #64b5f6;
3748
+ --dm-info-active: #90caf9;
3749
+ --dm-info-light: rgba(66, 165, 245, 0.2);
3750
+ --dm-info-dark: #1976d2;
3751
+
3752
+ --dm-warning: #ffa726;
3753
+ --dm-warning-hover: #ffb74d;
3754
+ --dm-warning-active: #ffcc80;
3755
+ --dm-warning-light: rgba(255, 167, 38, 0.2);
3756
+ --dm-warning-dark: #f57c00;
3757
+ --dm-warning-text: #ffb74d;
3758
+
3759
+ --dm-danger: #ef5350;
3760
+ --dm-danger-hover: #e57373;
3761
+ --dm-danger-active: #ef9a9a;
3762
+ --dm-danger-light: rgba(239, 83, 80, 0.2);
3763
+ --dm-danger-dark: #c62828;
3764
+
3765
+ /* ================================================
3766
+ ACCENT COLOURS
3767
+ ================================================ */
3768
+ --dm-accent-1: #ce93d8; /* Light purple */
3769
+ --dm-accent-2: #f48fb1; /* Soft pink */
3770
+ --dm-accent-3: #ba68c8; /* Medium purple */
3771
+ --dm-accent-4: #9b59b6; /* Amethyst */
3772
+
3773
+ /* ================================================
3774
+ INTERACTIVE STATES
3775
+ ================================================ */
3776
+ --dm-hover-bg: rgba(206, 147, 216, 0.1);
3777
+ --dm-active-bg: rgba(206, 147, 216, 0.15);
3778
+ --dm-selected-bg: rgba(206, 147, 216, 0.15);
3779
+ --dm-disabled-opacity: 0.4;
3780
+
3781
+ /* ================================================
3782
+ COMPONENT-SPECIFIC COLORS
3783
+ ================================================ */
3784
+
3785
+ /* Cards */
3786
+ --dm-card-bg: var(--dm-surface);
3787
+ --dm-card-border: var(--dm-border);
3788
+ --dm-card-shadow: var(--dm-shadow-md);
3789
+
3790
+ /* Inputs */
3791
+ --dm-input-bg: var(--dm-surface);
3792
+ --dm-input-border: var(--dm-border-dark);
3793
+ --dm-input-text: var(--dm-text);
3794
+ --dm-input-placeholder: var(--dm-text-muted);
3795
+ --dm-input-focus-border: var(--dm-primary);
3796
+ --dm-input-disabled-bg: #241432;
3797
+
3798
+ /* Buttons */
3799
+ --dm-btn-text: var(--dm-text);
3800
+ --dm-btn-bg: var(--dm-surface);
3801
+ --dm-btn-border: var(--dm-border-dark);
3802
+
3803
+ /* Tables */
3804
+ --dm-table-bg: transparent;
3805
+ --dm-table-border: var(--dm-border);
3806
+ --dm-table-header-bg: var(--dm-background-alt);
3807
+ --dm-table-header-text: var(--dm-text);
3808
+ --dm-table-stripe-bg: rgba(206, 147, 216, 0.04);
3809
+ --dm-table-hover-bg: var(--dm-hover-bg);
3810
+ --dm-table-selected-bg: var(--dm-selected-bg);
3811
+
3812
+ /* Modals */
3813
+ --dm-modal-bg: var(--dm-surface);
3814
+ --dm-modal-border: var(--dm-border);
3815
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.7);
3816
+ --dm-modal-shadow: var(--dm-shadow-xl);
3817
+
3818
+ /* Dropdowns */
3819
+ --dm-dropdown-bg: var(--dm-surface-raised);
3820
+ --dm-dropdown-border: var(--dm-border);
3821
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
3822
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
3823
+ --dm-dropdown-item-active: var(--dm-selected-bg);
3824
+
3825
+ /* Tooltips */
3826
+ --dm-tooltip-bg: #1a0e24;
3827
+ --dm-tooltip-text: #f3e5f5;
3828
+
3829
+ /* Toasts */
3830
+ --dm-toast-bg: var(--dm-surface);
3831
+ --dm-toast-border: var(--dm-border);
3832
+ --dm-toast-shadow: var(--dm-shadow-lg);
3833
+
3834
+ /* Navbar */
3835
+ --dm-navbar-bg: var(--dm-surface);
3836
+ --dm-navbar-text: var(--dm-text);
3837
+ --dm-navbar-border: var(--dm-border);
3838
+
3839
+ /* Sidebar */
3840
+ --dm-sidebar-bg: var(--dm-surface);
3841
+ --dm-sidebar-text: var(--dm-text);
3842
+ --dm-sidebar-border: var(--dm-border);
3843
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
3844
+ --dm-sidebar-item-active: var(--dm-selected-bg);
3845
+
3846
+ /* Tabs */
3847
+ --dm-tab-border: var(--dm-border);
3848
+ --dm-tab-hover-bg: var(--dm-hover-bg);
3849
+ --dm-tab-active-border: #ce93d8;
3850
+ --dm-tab-active-text: #ce93d8;
3851
+
3852
+ /* Accordion */
3853
+ --dm-accordion-bg: var(--dm-surface);
3854
+ --dm-accordion-border: var(--dm-border);
3855
+ --dm-accordion-header-bg: var(--dm-background-alt);
3856
+ --dm-accordion-header-hover: var(--dm-hover-bg);
3857
+
3858
+ /* Badges */
3859
+ --dm-badge-bg: var(--dm-primary);
3860
+ --dm-badge-text: #1a0e24;
3861
+
3862
+ /* Progress */
3863
+ --dm-progress-bg: #341a45;
3864
+ --dm-progress-bar: #ce93d8;
3865
+
3866
+ /* Scrollbar */
3867
+ --dm-scrollbar-track: #241432;
3868
+ --dm-scrollbar-thumb: #4a2660;
3869
+ --dm-scrollbar-thumb-hover: #6a3d7a;
3870
+
3871
+ /* Code */
3872
+ --dm-code-bg: #1e1228;
3873
+ --dm-code-text: #f48fb1;
3874
+ --dm-code-border: var(--dm-border);
3875
+
3876
+ /* ================================================
3877
+ SHADOWS - Subtle for dark mode
3878
+ ================================================ */
3879
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
3880
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
3881
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3882
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
3883
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
3884
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
3885
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
3886
+
3887
+ /* ================================================
3888
+ ELEVATION / DEPTH
3889
+ ================================================ */
3890
+ --dm-elevation-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06);
3891
+ --dm-elevation-2: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
3892
+ --dm-elevation-3: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
3893
+ --dm-elevation-4: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
3894
+ }
3895
+
3896
+ /**
3897
+ * Domma Dreamy Light Theme
3898
+ * Predominantly beige and biscuit tones
3899
+ * Light mode variant - warm cream backgrounds with earthy accents
3900
+ */
3901
+
3902
+ .dm-theme-dreamy-light {
3903
+ color-scheme: light;
3904
+
3905
+ /* ================================================
3906
+ FOUNDATIONAL COLORS - Light Mode Base
3907
+ ================================================ */
3908
+
3909
+ /* Backgrounds - Warm white and biscuit surfaces */
3910
+ --dm-background: #fffdf9;
3911
+ --dm-background-alt: #f5f0eb;
3912
+ --dm-surface: #fffdf9;
3913
+ --dm-surface-raised: #f0ebe4;
3914
+ --dm-surface-overlay: #f5f0eb;
3915
+
3916
+ /* Text - Dark chocolate for readability on light */
3917
+ --dm-text: #3e2723;
3918
+ --dm-text-secondary: #5d4037;
3919
+ --dm-text-muted: #8d6e63;
3920
+ --dm-text-disabled: #bcaaa4;
3921
+ --dm-text-inverse: #ffffff;
3922
+
3923
+ /* Borders - Light biscuit on warm backgrounds */
3924
+ --dm-border: #d7ccc8;
3925
+ --dm-border-light: #efebe9;
3926
+ --dm-border-dark: #bcaaa4;
3927
+
3928
+ /* ================================================
3929
+ DREAMY PRIMARY COLOURS - Warm Brown
3930
+ ================================================ */
3931
+ --dm-primary: #8d6e63;
3932
+ --dm-primary-hover: #6d4c41;
3933
+ --dm-primary-active: #5d4037;
3934
+ --dm-primary-light: #efebe9;
3935
+ --dm-primary-dark: #6d4c41;
3936
+
3937
+ /* Focus ring with warm brown colour */
3938
+ --dm-focus-ring: 0 0 0 3px rgba(141, 110, 99, 0.35);
3939
+ --dm-border-focus: #8d6e63;
3940
+
3941
+ /* ================================================
3942
+ SECONDARY COLOURS - Dusty Rose-Brown
3943
+ ================================================ */
3944
+ --dm-secondary: #a1887f;
3945
+ --dm-secondary-hover: #8d6e63;
3946
+ --dm-secondary-active: #795548;
3947
+ --dm-secondary-light: #faf5f0;
3948
+ --dm-secondary-dark: #795548;
3949
+
3950
+ /* ================================================
3951
+ STATUS COLOURS
3952
+ ================================================ */
3953
+ --dm-success: #81c784;
3954
+ --dm-success-hover: #66bb6a;
3955
+ --dm-success-active: #4caf50;
3956
+ --dm-success-light: rgba(129, 199, 132, 0.15);
3957
+ --dm-success-dark: #388e3c;
3958
+
3959
+ --dm-info: #64b5f6;
3960
+ --dm-info-hover: #42a5f5;
3961
+ --dm-info-active: #2196f3;
3962
+ --dm-info-light: rgba(100, 181, 246, 0.15);
3963
+ --dm-info-dark: #1976d2;
3964
+
3965
+ --dm-warning: #ffb74d;
3966
+ --dm-warning-hover: #ffa726;
3967
+ --dm-warning-active: #ff9800;
3968
+ --dm-warning-light: rgba(255, 183, 77, 0.15);
3969
+ --dm-warning-dark: #e65100;
3970
+ --dm-warning-text: #bf360c;
3971
+
3972
+ --dm-danger: #e57373;
3973
+ --dm-danger-hover: #ef5350;
3974
+ --dm-danger-active: #e53935;
3975
+ --dm-danger-light: rgba(229, 115, 115, 0.15);
3976
+ --dm-danger-dark: #c62828;
3977
+
3978
+ /* ================================================
3979
+ ACCENT COLOURS
3980
+ ================================================ */
3981
+ --dm-accent-1: #d7ccc8; /* Light biscuit */
3982
+ --dm-accent-2: #bcaaa4; /* Muted taupe */
3983
+ --dm-accent-3: #a1887f; /* Dusty rose-brown */
3984
+ --dm-accent-4: #8d6e63; /* Warm brown */
3985
+
3986
+ /* ================================================
3987
+ INTERACTIVE STATES
3988
+ ================================================ */
3989
+ --dm-hover-bg: rgba(141, 110, 99, 0.06);
3990
+ --dm-active-bg: rgba(141, 110, 99, 0.12);
3991
+ --dm-selected-bg: rgba(141, 110, 99, 0.12);
3992
+ --dm-disabled-opacity: 0.65;
3993
+
3994
+ /* ================================================
3995
+ COMPONENT-SPECIFIC COLORS
3996
+ ================================================ */
3997
+
3998
+ /* Cards */
3999
+ --dm-card-bg: var(--dm-surface);
4000
+ --dm-card-border: var(--dm-border);
4001
+ --dm-card-shadow: var(--dm-shadow-sm);
4002
+
4003
+ /* Inputs */
4004
+ --dm-input-bg: var(--dm-surface);
4005
+ --dm-input-border: var(--dm-border-dark);
4006
+ --dm-input-text: var(--dm-text);
4007
+ --dm-input-placeholder: var(--dm-text-muted);
4008
+ --dm-input-focus-border: var(--dm-primary);
4009
+ --dm-input-focus-shadow: var(--dm-focus-ring);
4010
+ --dm-input-disabled-bg: #efebe9;
4011
+
4012
+ /* Buttons */
4013
+ --dm-btn-text: var(--dm-text);
4014
+ --dm-btn-bg: var(--dm-surface);
4015
+ --dm-btn-border: var(--dm-border-dark);
4016
+
4017
+ /* Tables */
4018
+ --dm-table-bg: transparent;
4019
+ --dm-table-border: var(--dm-border);
4020
+ --dm-table-header-bg: var(--dm-background-alt);
4021
+ --dm-table-header-text: var(--dm-text);
4022
+ --dm-table-stripe-bg: rgba(141, 110, 99, 0.03);
4023
+ --dm-table-hover-bg: rgba(141, 110, 99, 0.06);
4024
+ --dm-table-selected-bg: var(--dm-selected-bg);
4025
+
4026
+ /* Modals */
4027
+ --dm-modal-bg: var(--dm-surface);
4028
+ --dm-modal-border: var(--dm-border);
4029
+ --dm-modal-backdrop: rgba(62, 39, 35, 0.5);
4030
+ --dm-modal-shadow: var(--dm-shadow-xl);
4031
+
4032
+ /* Dropdowns */
4033
+ --dm-dropdown-bg: var(--dm-surface);
4034
+ --dm-dropdown-border: var(--dm-border);
4035
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
4036
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
4037
+ --dm-dropdown-item-active: var(--dm-selected-bg);
4038
+
4039
+ /* Tooltips */
4040
+ --dm-tooltip-bg: #3e2723;
4041
+ --dm-tooltip-text: #ffffff;
4042
+
4043
+ /* Toasts */
4044
+ --dm-toast-bg: var(--dm-surface);
4045
+ --dm-toast-border: var(--dm-border);
4046
+ --dm-toast-shadow: var(--dm-shadow-lg);
4047
+
4048
+ /* Navbar */
4049
+ --dm-navbar-bg: var(--dm-surface);
4050
+ --dm-navbar-text: var(--dm-text);
4051
+ --dm-navbar-border: var(--dm-border);
4052
+
4053
+ /* Sidebar */
4054
+ --dm-sidebar-bg: var(--dm-surface);
4055
+ --dm-sidebar-text: var(--dm-text);
4056
+ --dm-sidebar-border: var(--dm-border);
4057
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
4058
+ --dm-sidebar-item-active: var(--dm-selected-bg);
4059
+
4060
+ /* Tabs */
4061
+ --dm-tab-border: var(--dm-border);
4062
+ --dm-tab-hover-bg: var(--dm-hover-bg);
4063
+ --dm-tab-active-border: #8d6e63;
4064
+ --dm-tab-active-text: #6d4c41;
4065
+
4066
+ /* Accordion */
4067
+ --dm-accordion-bg: var(--dm-surface);
4068
+ --dm-accordion-border: var(--dm-border);
4069
+ --dm-accordion-header-bg: var(--dm-background-alt);
4070
+ --dm-accordion-header-hover: var(--dm-hover-bg);
4071
+
4072
+ /* Badges */
4073
+ --dm-badge-bg: var(--dm-primary);
4074
+ --dm-badge-text: #ffffff;
4075
+
4076
+ /* Progress */
4077
+ --dm-progress-bg: #efebe9;
4078
+ --dm-progress-bar: #8d6e63;
4079
+
4080
+ /* Scrollbar */
4081
+ --dm-scrollbar-track: #efebe9;
4082
+ --dm-scrollbar-thumb: #d7ccc8;
4083
+ --dm-scrollbar-thumb-hover: #bcaaa4;
4084
+
4085
+ /* Code */
4086
+ --dm-code-bg: #f5f0eb;
4087
+ --dm-code-text: #a1887f;
4088
+ --dm-code-border: var(--dm-border);
4089
+
4090
+ /* ================================================
4091
+ SHADOWS - Standard for light mode
4092
+ ================================================ */
4093
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4094
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4095
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4096
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4097
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4098
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4099
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
4100
+
4101
+ /* ================================================
4102
+ ELEVATION / DEPTH
4103
+ ================================================ */
4104
+ --dm-elevation-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06);
4105
+ --dm-elevation-2: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
4106
+ --dm-elevation-3: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
4107
+ --dm-elevation-4: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
4108
+ }
4109
+
4110
+ /**
4111
+ * Domma Dreamy Dark Theme
4112
+ * Predominantly beige and biscuit tones
4113
+ * Dark mode variant - dark espresso backgrounds with warm taupe accents
4114
+ */
4115
+
4116
+ .dm-theme-dreamy-dark {
4117
+ color-scheme: dark;
4118
+
4119
+ /* ================================================
4120
+ FOUNDATIONAL COLORS - Dark Mode Base
4121
+ ================================================ */
4122
+
4123
+ /* Backgrounds - Dark espresso and coffee grounds */
4124
+ --dm-background: #1c1410;
4125
+ --dm-background-alt: #2a1f1a;
4126
+ --dm-surface: #2a1f1a;
4127
+ --dm-surface-raised: #3a2c26;
4128
+ --dm-surface-overlay: #3a2c26;
4129
+
4130
+ /* Text - Warm off-white for readability on dark */
4131
+ --dm-text: #efebe9;
4132
+ --dm-text-secondary: #d7ccc8;
4133
+ --dm-text-muted: #bcaaa4;
4134
+ --dm-text-disabled: #6d4c41;
4135
+ --dm-text-inverse: #1c1410;
4136
+
4137
+ /* Borders - Dark brown on dark backgrounds */
4138
+ --dm-border: #4e342e;
4139
+ --dm-border-light: #3a2c26;
4140
+ --dm-border-dark: #6d4c41;
4141
+
4142
+ /* ================================================
4143
+ DREAMY PRIMARY COLOURS - Lighter taupe for contrast
4144
+ ================================================ */
4145
+ --dm-primary: #bcaaa4;
4146
+ --dm-primary-hover: #d7ccc8;
4147
+ --dm-primary-active: #efebe9;
4148
+ --dm-primary-light: #efebe9;
4149
+ --dm-primary-dark: #a1887f;
4150
+
4151
+ /* Focus ring with warm taupe colour */
4152
+ --dm-focus-ring: 0 0 0 3px rgba(188, 170, 164, 0.35);
4153
+ --dm-border-focus: #bcaaa4;
4154
+
4155
+ /* ================================================
4156
+ SECONDARY COLOURS - Lighter biscuit for contrast
4157
+ ================================================ */
4158
+ --dm-secondary: #d7ccc8;
4159
+ --dm-secondary-hover: #efebe9;
4160
+ --dm-secondary-active: #ffffff;
4161
+ --dm-secondary-light: #faf5f0;
4162
+ --dm-secondary-dark: #bcaaa4;
4163
+
4164
+ /* ================================================
4165
+ STATUS COLOURS
4166
+ ================================================ */
4167
+ --dm-success: #81c784;
4168
+ --dm-success-hover: #a5d6a7;
4169
+ --dm-success-active: #c8e6c9;
4170
+ --dm-success-light: rgba(129, 199, 132, 0.2);
4171
+ --dm-success-dark: #4caf50;
4172
+
4173
+ --dm-info: #64b5f6;
4174
+ --dm-info-hover: #90caf9;
4175
+ --dm-info-active: #bbdefb;
4176
+ --dm-info-light: rgba(100, 181, 246, 0.2);
4177
+ --dm-info-dark: #2196f3;
4178
+
4179
+ --dm-warning: #ffb74d;
4180
+ --dm-warning-hover: #ffcc80;
4181
+ --dm-warning-active: #ffe0b2;
4182
+ --dm-warning-light: rgba(255, 183, 77, 0.2);
4183
+ --dm-warning-dark: #ff9800;
4184
+ --dm-warning-text: #ffcc80;
4185
+
4186
+ --dm-danger: #e57373;
4187
+ --dm-danger-hover: #ef9a9a;
4188
+ --dm-danger-active: #ffcdd2;
4189
+ --dm-danger-light: rgba(229, 115, 115, 0.2);
4190
+ --dm-danger-dark: #f44336;
4191
+
4192
+ /* ================================================
4193
+ ACCENT COLOURS
4194
+ ================================================ */
4195
+ --dm-accent-1: #efebe9; /* Warm off-white */
4196
+ --dm-accent-2: #d7ccc8; /* Light biscuit */
4197
+ --dm-accent-3: #bcaaa4; /* Muted taupe */
4198
+ --dm-accent-4: #a1887f; /* Dusty rose-brown */
4199
+
4200
+ /* ================================================
4201
+ INTERACTIVE STATES
4202
+ ================================================ */
4203
+ --dm-hover-bg: rgba(188, 170, 164, 0.1);
4204
+ --dm-active-bg: rgba(188, 170, 164, 0.15);
4205
+ --dm-selected-bg: rgba(188, 170, 164, 0.15);
3549
4206
  --dm-disabled-opacity: 0.4;
3550
4207
 
3551
- /* Brand Colors */
3552
- --dm-primary: var(--dm-blue-500);
3553
- --dm-primary-dark: var(--dm-blue-700);
3554
- --dm-primary-light: var(--dm-blue-300);
3555
- --dm-primary-hover: var(--dm-blue-400);
3556
- --dm-primary-active: var(--dm-blue-600);
3557
-
3558
- --dm-secondary: var(--dm-slate-500);
3559
- --dm-secondary-hover: var(--dm-slate-400);
3560
- --dm-secondary-active: var(--dm-slate-300);
3561
-
3562
- /* Status Colors */
3563
- --dm-success: var(--dm-green-500);
3564
- --dm-success-hover: var(--dm-green-400);
3565
- --dm-success-active: var(--dm-green-600);
3566
- --dm-success-light: rgba(40, 167, 69, 0.2);
3567
- --dm-success-dark: var(--dm-green-600);
4208
+ /* ================================================
4209
+ COMPONENT-SPECIFIC COLORS
4210
+ ================================================ */
4211
+
4212
+ /* Cards */
4213
+ --dm-card-bg: var(--dm-surface);
4214
+ --dm-card-border: var(--dm-border);
4215
+ --dm-card-shadow: var(--dm-shadow-md);
4216
+
4217
+ /* Inputs */
4218
+ --dm-input-bg: var(--dm-surface);
4219
+ --dm-input-border: var(--dm-border-dark);
4220
+ --dm-input-text: var(--dm-text);
4221
+ --dm-input-placeholder: var(--dm-text-muted);
4222
+ --dm-input-focus-border: var(--dm-primary);
4223
+ --dm-input-disabled-bg: #2a1f1a;
4224
+
4225
+ /* Buttons */
4226
+ --dm-btn-text: var(--dm-text);
4227
+ --dm-btn-bg: var(--dm-surface);
4228
+ --dm-btn-border: var(--dm-border-dark);
4229
+
4230
+ /* Tables */
4231
+ --dm-table-bg: transparent;
4232
+ --dm-table-border: var(--dm-border);
4233
+ --dm-table-header-bg: var(--dm-background-alt);
4234
+ --dm-table-header-text: var(--dm-text);
4235
+ --dm-table-stripe-bg: rgba(188, 170, 164, 0.04);
4236
+ --dm-table-hover-bg: var(--dm-hover-bg);
4237
+ --dm-table-selected-bg: var(--dm-selected-bg);
4238
+
4239
+ /* Modals */
4240
+ --dm-modal-bg: var(--dm-surface);
4241
+ --dm-modal-border: var(--dm-border);
4242
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.7);
4243
+ --dm-modal-shadow: var(--dm-shadow-xl);
4244
+
4245
+ /* Dropdowns */
4246
+ --dm-dropdown-bg: var(--dm-surface-raised);
4247
+ --dm-dropdown-border: var(--dm-border);
4248
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
4249
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
4250
+ --dm-dropdown-item-active: var(--dm-selected-bg);
4251
+
4252
+ /* Tooltips */
4253
+ --dm-tooltip-bg: #1c1410;
4254
+ --dm-tooltip-text: #efebe9;
4255
+
4256
+ /* Toasts */
4257
+ --dm-toast-bg: var(--dm-surface);
4258
+ --dm-toast-border: var(--dm-border);
4259
+ --dm-toast-shadow: var(--dm-shadow-lg);
4260
+
4261
+ /* Navbar */
4262
+ --dm-navbar-bg: var(--dm-surface);
4263
+ --dm-navbar-text: var(--dm-text);
4264
+ --dm-navbar-border: var(--dm-border);
4265
+
4266
+ /* Sidebar */
4267
+ --dm-sidebar-bg: var(--dm-surface);
4268
+ --dm-sidebar-text: var(--dm-text);
4269
+ --dm-sidebar-border: var(--dm-border);
4270
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
4271
+ --dm-sidebar-item-active: var(--dm-selected-bg);
4272
+
4273
+ /* Tabs */
4274
+ --dm-tab-border: var(--dm-border);
4275
+ --dm-tab-hover-bg: var(--dm-hover-bg);
4276
+ --dm-tab-active-border: #bcaaa4;
4277
+ --dm-tab-active-text: #bcaaa4;
4278
+
4279
+ /* Accordion */
4280
+ --dm-accordion-bg: var(--dm-surface);
4281
+ --dm-accordion-border: var(--dm-border);
4282
+ --dm-accordion-header-bg: var(--dm-background-alt);
4283
+ --dm-accordion-header-hover: var(--dm-hover-bg);
4284
+
4285
+ /* Badges */
4286
+ --dm-badge-bg: var(--dm-primary);
4287
+ --dm-badge-text: #1c1410;
4288
+
4289
+ /* Progress */
4290
+ --dm-progress-bg: #3a2c26;
4291
+ --dm-progress-bar: #bcaaa4;
4292
+
4293
+ /* Scrollbar */
4294
+ --dm-scrollbar-track: #2a1f1a;
4295
+ --dm-scrollbar-thumb: #4e342e;
4296
+ --dm-scrollbar-thumb-hover: #6d4c41;
4297
+
4298
+ /* Code */
4299
+ --dm-code-bg: #1a1210;
4300
+ --dm-code-text: #d7ccc8;
4301
+ --dm-code-border: var(--dm-border);
4302
+
4303
+ /* ================================================
4304
+ SHADOWS - Subtle for dark mode
4305
+ ================================================ */
4306
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4307
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4308
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4309
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4310
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4311
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4312
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
4313
+
4314
+ /* ================================================
4315
+ ELEVATION / DEPTH
4316
+ ================================================ */
4317
+ --dm-elevation-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06);
4318
+ --dm-elevation-2: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
4319
+ --dm-elevation-3: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
4320
+ --dm-elevation-4: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
4321
+ }
4322
+
4323
+ /**
4324
+ * Domma Grayve Light Theme
4325
+ * Slate/cyan monochrome palette — complementary light variant
4326
+ * Light mode variant
4327
+ */
4328
+
4329
+ .dm-theme-grayve-light {
4330
+ color-scheme: light;
4331
+
4332
+ /* ================================================
4333
+ FOUNDATIONAL COLORS - Light Mode Base
4334
+ ================================================ */
4335
+
4336
+ /* Backgrounds - Light/white backgrounds */
4337
+ --dm-background: #ffffff;
4338
+ --dm-background-alt: #f8f9fa;
4339
+ --dm-surface: #ffffff;
4340
+ --dm-surface-raised: #f1f3f5;
4341
+ --dm-surface-overlay: #f8f9fa;
4342
+
4343
+ /* Text - Dark colours for readability on light */
4344
+ --dm-text: #212529;
4345
+ --dm-text-secondary: #495057;
4346
+ --dm-text-muted: #6c757d;
4347
+ --dm-text-disabled: #adb5bd;
4348
+ --dm-text-inverse: #ffffff;
4349
+
4350
+ /* Borders - Subtle on light backgrounds */
4351
+ --dm-border: #dee2e6;
4352
+ --dm-border-light: #e9ecef;
4353
+ --dm-border-dark: #ced4da;
4354
+
4355
+ /* ================================================
4356
+ GRAYVE ACCENT COLORS - Darker cyan for light-mode contrast
4357
+ ================================================ */
4358
+
4359
+ /* PRIMARY COLOURS - Dark Cyan for contrast */
4360
+ --dm-primary: #00838f;
4361
+ --dm-primary-hover: #006064;
4362
+ --dm-primary-active: #00acc1;
4363
+ --dm-primary-light: #e0f7fa;
4364
+ --dm-primary-dark: #006064;
4365
+
4366
+ /* Focus ring with cyan colour */
4367
+ --dm-focus-ring: 0 0 0 3px rgba(0, 131, 143, 0.3);
4368
+ --dm-border-focus: #00838f;
4369
+
4370
+ /* ================================================
4371
+ SECONDARY COLOURS - Blue Grey
4372
+ ================================================ */
4373
+ --dm-secondary: #546e7a;
4374
+ --dm-secondary-hover: #607d8b;
4375
+ --dm-secondary-active: #78909c;
4376
+ --dm-secondary-light: rgba(84, 110, 122, 0.15);
4377
+ --dm-secondary-dark: #455a64;
3568
4378
 
3569
- --dm-danger: var(--dm-red-500);
3570
- --dm-danger-hover: var(--dm-red-400);
3571
- --dm-danger-active: var(--dm-red-600);
3572
- --dm-danger-light: rgba(220, 53, 69, 0.2);
3573
- --dm-danger-dark: var(--dm-red-600);
4379
+ /* ================================================
4380
+ STATUS COLOURS
4381
+ ================================================ */
4382
+ --dm-success: #2e7d32;
4383
+ --dm-success-hover: #388e3c;
4384
+ --dm-success-active: #1b5e20;
4385
+ --dm-success-light: rgba(46, 125, 50, 0.1);
4386
+ --dm-success-dark: #1b5e20;
4387
+
4388
+ --dm-info: #0277bd;
4389
+ --dm-info-hover: #0288d1;
4390
+ --dm-info-active: #01579b;
4391
+ --dm-info-light: rgba(2, 119, 189, 0.1);
4392
+ --dm-info-dark: #01579b;
4393
+
4394
+ --dm-warning: #f57c00;
4395
+ --dm-warning-hover: #fb8c00;
4396
+ --dm-warning-active: #e65100;
4397
+ --dm-warning-text: #e65100;
4398
+ --dm-warning-light: rgba(245, 124, 0, 0.1);
4399
+ --dm-warning-dark: #e65100;
4400
+
4401
+ --dm-danger: #c62828;
4402
+ --dm-danger-hover: #d32f2f;
4403
+ --dm-danger-active: #b71c1c;
4404
+ --dm-danger-light: rgba(198, 40, 40, 0.1);
4405
+ --dm-danger-dark: #b71c1c;
3574
4406
 
3575
- --dm-warning: var(--dm-amber-400);
3576
- --dm-warning-hover: var(--dm-amber-300);
3577
- --dm-warning-active: var(--dm-amber-500);
3578
- --dm-warning-text: var(--dm-amber-900);
3579
- --dm-warning-light: rgba(255, 193, 7, 0.2);
3580
- --dm-warning-dark: var(--dm-amber-600);
4407
+ /* ================================================
4408
+ ACCENT COLOURS
4409
+ ================================================ */
4410
+ --dm-accent-1: #b2ebf2; /* Cyan 100 */
4411
+ --dm-accent-2: #80deea; /* Cyan 200 */
4412
+ --dm-accent-3: #00838f; /* Cyan 800 */
4413
+ --dm-accent-4: #006064; /* Cyan 900 */
3581
4414
 
3582
- --dm-info: var(--dm-sky-500);
3583
- --dm-info-hover: var(--dm-sky-400);
3584
- --dm-info-active: var(--dm-sky-600);
3585
- --dm-info-light: rgba(23, 162, 184, 0.2);
3586
- --dm-info-dark: var(--dm-sky-600);
3587
-
3588
- /* Background Tints */
3589
- --dm-primary-bg: rgba(0, 188, 212, 0.15);
3590
- --dm-secondary-bg: rgba(108, 117, 125, 0.15);
3591
- --dm-success-bg: rgba(40, 167, 69, 0.15);
3592
- --dm-danger-bg: rgba(220, 53, 69, 0.15);
3593
- --dm-warning-bg: rgba(255, 193, 7, 0.15);
3594
- --dm-info-bg: rgba(23, 162, 184, 0.15);
3595
-
3596
- /* Semantic Surface Colors */
3597
- --dm-surface-secondary: var(--dm-slate-900);
3598
- --dm-card-bg: var(--dm-slate-800);
3599
- --dm-card-border: var(--dm-slate-700);
3600
-
3601
- /* Legacy color names (kept for backwards compatibility) */
3602
- --dm-light: var(--dm-slate-200);
3603
- --dm-dark: var(--dm-slate-800);
3604
- --dm-white: #ffffff;
3605
- --dm-black: #000000;
3606
-
3607
- /* Grays (mapped to Slate) */
3608
- --dm-gray-50: var(--dm-slate-50);
3609
- --dm-gray-100: var(--dm-slate-100);
3610
- --dm-gray-200: var(--dm-slate-200);
3611
- --dm-gray-300: var(--dm-slate-300);
3612
- --dm-gray-400: var(--dm-slate-400);
3613
- --dm-gray-500: var(--dm-slate-500);
3614
- --dm-gray-600: var(--dm-slate-600);
3615
- --dm-gray-700: var(--dm-slate-700);
3616
- --dm-gray-800: var(--dm-slate-800);
3617
- --dm-gray-900: var(--dm-slate-900);
3618
- --dm-gray-950: var(--dm-slate-950);
3619
-
3620
- /* Component-specific variables */
4415
+ /* ================================================
4416
+ INTERACTIVE STATES
4417
+ ================================================ */
4418
+ --dm-hover-bg: rgba(0, 131, 143, 0.06);
4419
+ --dm-active-bg: rgba(0, 131, 143, 0.1);
4420
+ --dm-selected-bg: #e0f7fa;
4421
+ --dm-disabled-opacity: 0.4;
4422
+
4423
+ /* ================================================
4424
+ COMPONENT-SPECIFIC COLORS
4425
+ ================================================ */
4426
+
4427
+ /* Cards */
4428
+ --dm-card-bg: var(--dm-surface);
4429
+ --dm-card-border: var(--dm-border);
4430
+ --dm-card-shadow: var(--dm-shadow-md);
4431
+
4432
+ /* Inputs */
3621
4433
  --dm-input-bg: var(--dm-surface);
3622
4434
  --dm-input-border: var(--dm-border-dark);
3623
4435
  --dm-input-text: var(--dm-text);
3624
4436
  --dm-input-placeholder: var(--dm-text-muted);
3625
4437
  --dm-input-focus-border: var(--dm-primary);
3626
- --dm-input-disabled-bg: var(--dm-slate-800);
4438
+ --dm-input-disabled-bg: #f8f9fa;
4439
+
4440
+ /* Buttons */
4441
+ --dm-btn-text: var(--dm-text);
4442
+ --dm-btn-bg: var(--dm-surface);
4443
+ --dm-btn-border: var(--dm-border-dark);
3627
4444
 
4445
+ /* Tables */
4446
+ --dm-table-bg: transparent;
3628
4447
  --dm-table-border: var(--dm-border);
4448
+ --dm-table-header-bg: var(--dm-background-alt);
4449
+ --dm-table-header-text: var(--dm-text);
4450
+ --dm-table-stripe-bg: rgba(0, 0, 0, 0.02);
3629
4451
  --dm-table-hover-bg: var(--dm-hover-bg);
3630
- --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
4452
+ --dm-table-selected-bg: var(--dm-selected-bg);
3631
4453
 
3632
- --dm-navbar-bg: var(--dm-surface);
3633
- --dm-navbar-text: var(--dm-text);
3634
- --dm-navbar-border: var(--dm-border);
4454
+ /* Modals */
4455
+ --dm-modal-bg: var(--dm-surface);
4456
+ --dm-modal-border: var(--dm-border);
4457
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.5);
4458
+ --dm-modal-shadow: var(--dm-shadow-xl);
3635
4459
 
3636
- --dm-dropdown-bg: var(--dm-surface-raised);
4460
+ /* Dropdowns */
4461
+ --dm-dropdown-bg: var(--dm-surface);
3637
4462
  --dm-dropdown-border: var(--dm-border);
4463
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
3638
4464
  --dm-dropdown-item-hover: var(--dm-hover-bg);
3639
4465
  --dm-dropdown-item-active: var(--dm-selected-bg);
3640
4466
 
4467
+ /* Tooltips */
4468
+ --dm-tooltip-bg: #212529;
4469
+ --dm-tooltip-text: #ffffff;
4470
+
4471
+ /* Toasts */
4472
+ --dm-toast-bg: var(--dm-surface);
4473
+ --dm-toast-border: var(--dm-border);
4474
+ --dm-toast-shadow: var(--dm-shadow-lg);
4475
+
4476
+ /* Navbar */
4477
+ --dm-navbar-bg: var(--dm-surface);
4478
+ --dm-navbar-text: var(--dm-text);
4479
+ --dm-navbar-border: var(--dm-border);
4480
+
4481
+ /* Sidebar */
3641
4482
  --dm-sidebar-bg: var(--dm-surface);
4483
+ --dm-sidebar-text: var(--dm-text);
3642
4484
  --dm-sidebar-border: var(--dm-border);
3643
4485
  --dm-sidebar-item-hover: var(--dm-hover-bg);
3644
4486
  --dm-sidebar-item-active: var(--dm-selected-bg);
3645
4487
 
4488
+ /* Tabs */
4489
+ --dm-tab-border: var(--dm-border);
4490
+ --dm-tab-hover-bg: var(--dm-hover-bg);
4491
+
4492
+ /* Accordion */
4493
+ --dm-accordion-bg: var(--dm-surface);
4494
+ --dm-accordion-border: var(--dm-border);
4495
+ --dm-accordion-header-bg: var(--dm-background-alt);
4496
+ --dm-accordion-header-hover: var(--dm-hover-bg);
4497
+
4498
+ /* Badges */
4499
+ --dm-badge-bg: var(--dm-secondary);
4500
+ --dm-badge-text: #ffffff;
4501
+
4502
+ /* Pills */
4503
+ --dm-pill-bg: #e0f7fa;
4504
+ --dm-pill-color: #006064;
4505
+ --dm-pill-hover-bg: #b2ebf2;
4506
+
4507
+ /* Autocomplete / Pillbox */
3646
4508
  --dm-autocomplete-bg: var(--dm-surface);
3647
4509
  --dm-autocomplete-border: var(--dm-border);
3648
4510
  --dm-autocomplete-shadow: var(--dm-shadow-md);
3649
4511
  --dm-autocomplete-item-hover: var(--dm-hover-bg);
3650
4512
  --dm-autocomplete-item-active: var(--dm-selected-bg);
3651
4513
  --dm-autocomplete-highlight: var(--dm-primary-light);
3652
-
3653
4514
  --dm-pillbox-bg: var(--dm-surface);
3654
4515
  --dm-pillbox-border: var(--dm-border);
3655
- --dm-pill-bg: var(--dm-gray-700); /* Darker pill background for dark theme */
3656
- --dm-pill-color: var(--dm-text);
3657
- --dm-pill-hover-bg: var(--dm-gray-600);
3658
4516
 
4517
+ /* Progress */
4518
+ --dm-progress-bg: #e9ecef;
4519
+
4520
+ /* Scrollbar */
4521
+ --dm-scrollbar-track: #f8f9fa;
4522
+ --dm-scrollbar-thumb: #ced4da;
4523
+ --dm-scrollbar-thumb-hover: #adb5bd;
4524
+
4525
+ /* Code */
4526
+ --dm-code-bg: #f8f9fa;
4527
+ --dm-code-text: #00838f;
4528
+ --dm-code-border: var(--dm-border);
4529
+
4530
+ /* ================================================
4531
+ SHADOWS - Standard for light mode
4532
+ ================================================ */
4533
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4534
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4535
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4536
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4537
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4538
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4539
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
4540
+ }
4541
+
4542
+ /* Syntax highlighting tokens for grayve-light */
4543
+ .dm-theme-grayve-light .code-block .syntax-keyword {
4544
+ color: #7c4dff; /* Deep Purple */
4545
+ font-weight: 500;
4546
+ }
4547
+
4548
+ .dm-theme-grayve-light .code-block .syntax-string,
4549
+ .dm-theme-grayve-light .code-block .syntax-template-string {
4550
+ color: #2e7d32; /* Green */
4551
+ }
4552
+
4553
+ .dm-theme-grayve-light .code-block .syntax-function {
4554
+ color: #00838f; /* Cyan */
4555
+ }
4556
+
4557
+ /**
4558
+ * Domma Grayve Dark Theme
4559
+ * Slate/cyan monochrome palette — adapted from Bootswatch Slate
4560
+ * Dark mode variant
4561
+ */
4562
+
4563
+ .dm-theme-grayve-dark {
4564
+ color-scheme: dark;
4565
+
4566
+ /* ================================================
4567
+ FOUNDATIONAL COLORS - Dark Mode Base
4568
+ ================================================ */
4569
+
4570
+ /* Backgrounds - Slate dark backgrounds */
4571
+ --dm-background: #1a1e21; /* slate-900 */
4572
+ --dm-background-alt: #212529; /* slate-800 */
4573
+ --dm-surface: #212529; /* slate-800 */
4574
+ --dm-surface-raised: #343A40; /* slate-700 */
4575
+ --dm-surface-overlay: #343A40;/* slate-700 */
4576
+
4577
+ /* Text - Light colours for readability on dark */
4578
+ --dm-text: #DEE2E6; /* slate-200 */
4579
+ --dm-text-secondary: #ADB5BD; /* slate-400 */
4580
+ --dm-text-muted: #6C757D; /* slate-500 */
4581
+ --dm-text-disabled: #495057; /* slate-600 */
4582
+ --dm-text-inverse: #1a1e21; /* slate-900 */
4583
+
4584
+ /* Borders - Subtle on dark backgrounds */
4585
+ --dm-border: #343A40; /* slate-700 */
4586
+ --dm-border-light: #212529; /* slate-800 */
4587
+ --dm-border-dark: #495057; /* slate-600 */
4588
+
4589
+ /* ================================================
4590
+ GRAYVE ACCENT COLORS - Cyan/teal tones
4591
+ ================================================ */
4592
+
4593
+ /* PRIMARY COLOURS - Cyan Teal */
4594
+ --dm-primary: #00bcd4;
4595
+ --dm-primary-hover: #00acc1;
4596
+ --dm-primary-active: #26c6da;
4597
+ --dm-primary-light: #e0f7fa;
4598
+ --dm-primary-dark: #0097a7;
4599
+
4600
+ /* Focus ring with cyan colour */
4601
+ --dm-focus-ring: 0 0 0 3px rgba(0, 188, 212, 0.3);
4602
+ --dm-border-focus: #00bcd4;
4603
+
4604
+ /* ================================================
4605
+ SECONDARY COLOURS - Blue Grey
4606
+ ================================================ */
4607
+ --dm-secondary: #6C757D;
4608
+ --dm-secondary-hover: #ADB5BD;
4609
+ --dm-secondary-active: #CED4DA;
4610
+ --dm-secondary-light: #E9ECEF;
4611
+ --dm-secondary-dark: #495057;
4612
+
4613
+ /* ================================================
4614
+ STATUS COLOURS
4615
+ ================================================ */
4616
+ --dm-success: #28a745;
4617
+ --dm-success-hover: #49cc61;
4618
+ --dm-success-active: #218838;
4619
+ --dm-success-light: rgba(40, 167, 69, 0.2);
4620
+ --dm-success-dark: #1e7e34;
4621
+
4622
+ --dm-info: #17a2b8;
4623
+ --dm-info-hover: #26d2e9;
4624
+ --dm-info-active: #138496;
4625
+ --dm-info-light: rgba(23, 162, 184, 0.2);
4626
+ --dm-info-dark: #117a8b;
4627
+
4628
+ --dm-warning: #ffc107;
4629
+ --dm-warning-hover: #ffcd38;
4630
+ --dm-warning-active: #e0a800;
4631
+ --dm-warning-text: #856404;
4632
+ --dm-warning-light: rgba(255, 193, 7, 0.2);
4633
+ --dm-warning-dark: #d39e00;
4634
+
4635
+ --dm-danger: #dc3545;
4636
+ --dm-danger-hover: #e35a67;
4637
+ --dm-danger-active: #c82333;
4638
+ --dm-danger-light: rgba(220, 53, 69, 0.2);
4639
+ --dm-danger-dark: #bd2130;
4640
+
4641
+ /* ================================================
4642
+ ACCENT COLOURS
4643
+ ================================================ */
4644
+ --dm-accent-1: #80deea; /* Cyan 200 */
4645
+ --dm-accent-2: #4dd0e1; /* Cyan 300 */
4646
+ --dm-accent-3: #00bcd4; /* Cyan 500 */
4647
+ --dm-accent-4: #0097a7; /* Cyan 700 */
4648
+
4649
+ /* ================================================
4650
+ INTERACTIVE STATES
4651
+ ================================================ */
4652
+ --dm-hover-bg: rgba(255, 255, 255, 0.07);
4653
+ --dm-active-bg: rgba(255, 255, 255, 0.1);
4654
+ --dm-selected-bg: #00838f;
4655
+ --dm-disabled-opacity: 0.4;
4656
+
4657
+ /* ================================================
4658
+ COMPONENT-SPECIFIC COLORS
4659
+ ================================================ */
4660
+
4661
+ /* Cards */
4662
+ --dm-card-bg: var(--dm-surface);
4663
+ --dm-card-border: var(--dm-border);
4664
+ --dm-card-shadow: var(--dm-shadow-md);
4665
+
4666
+ /* Inputs */
4667
+ --dm-input-bg: var(--dm-surface);
4668
+ --dm-input-border: var(--dm-border-dark);
4669
+ --dm-input-text: var(--dm-text);
4670
+ --dm-input-placeholder: var(--dm-text-muted);
4671
+ --dm-input-focus-border: var(--dm-primary);
4672
+ --dm-input-disabled-bg: #212529;
4673
+
4674
+ /* Buttons */
4675
+ --dm-btn-text: var(--dm-text);
4676
+ --dm-btn-bg: var(--dm-surface);
4677
+ --dm-btn-border: var(--dm-border-dark);
4678
+
4679
+ /* Tables */
4680
+ --dm-table-bg: transparent;
4681
+ --dm-table-border: var(--dm-border);
4682
+ --dm-table-header-bg: var(--dm-background-alt);
4683
+ --dm-table-header-text: var(--dm-text);
4684
+ --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
4685
+ --dm-table-hover-bg: var(--dm-hover-bg);
4686
+ --dm-table-selected-bg: var(--dm-selected-bg);
4687
+
4688
+ /* Modals */
4689
+ --dm-modal-bg: var(--dm-surface);
4690
+ --dm-modal-border: var(--dm-border);
4691
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.7);
4692
+ --dm-modal-shadow: var(--dm-shadow-xl);
4693
+
4694
+ /* Dropdowns */
4695
+ --dm-dropdown-bg: var(--dm-surface-raised);
4696
+ --dm-dropdown-border: var(--dm-border);
4697
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
4698
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
4699
+ --dm-dropdown-item-active: var(--dm-selected-bg);
4700
+
4701
+ /* Tooltips */
4702
+ --dm-tooltip-bg: #1a1e21;
4703
+ --dm-tooltip-text: #ffffff;
4704
+
4705
+ /* Toasts */
4706
+ --dm-toast-bg: var(--dm-surface);
4707
+ --dm-toast-border: var(--dm-border);
4708
+ --dm-toast-shadow: var(--dm-shadow-lg);
4709
+
4710
+ /* Navbar */
4711
+ --dm-navbar-bg: var(--dm-surface);
4712
+ --dm-navbar-text: var(--dm-text);
4713
+ --dm-navbar-border: var(--dm-border);
4714
+
4715
+ /* Sidebar */
4716
+ --dm-sidebar-bg: var(--dm-surface);
4717
+ --dm-sidebar-text: var(--dm-text);
4718
+ --dm-sidebar-border: var(--dm-border);
4719
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
4720
+ --dm-sidebar-item-active: var(--dm-selected-bg);
4721
+
4722
+ /* Tabs */
3659
4723
  --dm-tab-border: var(--dm-border);
3660
4724
  --dm-tab-hover-bg: var(--dm-hover-bg);
3661
- --dm-tab-active-border: var(--dm-primary);
3662
- --dm-tab-active-text: var(--dm-primary);
3663
4725
 
4726
+ /* Accordion */
4727
+ --dm-accordion-bg: var(--dm-surface);
3664
4728
  --dm-accordion-border: var(--dm-border);
4729
+ --dm-accordion-header-bg: var(--dm-background-alt);
3665
4730
  --dm-accordion-header-hover: var(--dm-hover-bg);
4731
+
4732
+ /* Badges */
4733
+ --dm-badge-bg: var(--dm-secondary);
4734
+ --dm-badge-text: #1a1e21;
4735
+
4736
+ /* Pills */
4737
+ --dm-pill-bg: #343A40;
4738
+ --dm-pill-color: var(--dm-text);
4739
+ --dm-pill-hover-bg: #495057;
4740
+
4741
+ /* Autocomplete / Pillbox */
4742
+ --dm-autocomplete-bg: var(--dm-surface);
4743
+ --dm-autocomplete-border: var(--dm-border);
4744
+ --dm-autocomplete-shadow: var(--dm-shadow-md);
4745
+ --dm-autocomplete-item-hover: var(--dm-hover-bg);
4746
+ --dm-autocomplete-item-active: var(--dm-selected-bg);
4747
+ --dm-autocomplete-highlight: var(--dm-primary-light);
4748
+ --dm-pillbox-bg: var(--dm-surface);
4749
+ --dm-pillbox-border: var(--dm-border);
4750
+
4751
+ /* Progress */
4752
+ --dm-progress-bg: #343A40;
4753
+
4754
+ /* Scrollbar */
4755
+ --dm-scrollbar-track: #212529;
4756
+ --dm-scrollbar-thumb: #495057;
4757
+ --dm-scrollbar-thumb-hover: #6C757D;
4758
+
4759
+ /* Code */
4760
+ --dm-code-bg: #1a1e21;
4761
+ --dm-code-text: #80deea;
4762
+ --dm-code-border: var(--dm-border);
4763
+
4764
+ /* ================================================
4765
+ SHADOWS - Subtle for dark mode
4766
+ ================================================ */
4767
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4768
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4769
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4770
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4771
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4772
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4773
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
3666
4774
  }
3667
4775
 
3668
- /* Syntax highlighting tokens for grayve (assuming similar to dark theme) */
3669
- .dm-theme-grayve .code-block .syntax-keyword {
4776
+ /* Syntax highlighting tokens for grayve-dark */
4777
+ .dm-theme-grayve-dark .code-block .syntax-keyword {
3670
4778
  color: #c792ea; /* Purple */
3671
4779
  font-weight: 500;
3672
4780
  }
3673
4781
 
3674
- .dm-theme-grayve .code-block .syntax-string,
3675
- .dm-theme-grayve .code-block .syntax-template-string {
4782
+ .dm-theme-grayve-dark .code-block .syntax-string,
4783
+ .dm-theme-grayve-dark .code-block .syntax-template-string {
3676
4784
  color: #c3e88d; /* Green */
3677
4785
  }
3678
4786
 
3679
- .dm-theme-grayve .code-block .syntax-function {
4787
+ .dm-theme-grayve-dark .code-block .syntax-function {
3680
4788
  color: #82aaff; /* Light Blue */
3681
4789
  }
4790
+