@howssatoshi/quantumcss 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,21 +1,22 @@
1
1
  /*!
2
- * QuantumCSS v1.0.0 - Advanced Utility-First CSS Framework
2
+ * QuantumCSS + Starlight UI v1.4.0 - Advanced Utility-First CSS Framework
3
3
  * https://github.com/macroadster/quantumcss
4
4
  * Copyright (c) 2026 Eric Yang
5
5
  * License: MIT
6
6
  */
7
7
 
8
8
  /*!
9
- * QuantumCSS - Utility-First CSS Framework
10
- * Advanced utility framework with modern CSS features
11
- * Version: 1.0.0
12
- * Features: Modern CSS, Container Queries, Logical Properties, Dark Mode, etc.
9
+ * QuantumCSS + Starlight UI
10
+ * Advanced utility-first framework with ethereal cosmic aesthetics
11
+ * Version: 1.4.0
12
+ * Features: Modern CSS, JIT Engine, Starlight Components, Dark Mode
13
13
  */
14
14
 
15
15
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
16
16
 
17
17
  /* CSS Custom Properties (Design Tokens) */
18
18
  :root {
19
+ color-scheme: dark;
19
20
  /* Colors */
20
21
  --color-primary: #3b82f6;
21
22
  --color-primary-50: #eff6ff;
@@ -141,11 +142,11 @@
141
142
  --radius-full: 0;
142
143
  }
143
144
 
144
- .starlight-card, .glass, .q-card {
145
+ .starlight-card, .glass {
145
146
  border: 2px solid CanvasText !important;
146
147
  }
147
148
 
148
- .btn-starlight, .q-btn-primary {
149
+ .btn-starlight {
149
150
  background: ButtonFace !important;
150
151
  color: ButtonText !important;
151
152
  border: 2px solid ButtonText !important;
@@ -175,6 +176,9 @@ html {
175
176
  font-size: 16px;
176
177
  -webkit-font-smoothing: antialiased;
177
178
  -moz-osx-font-smoothing: grayscale;
179
+ background-color: var(--color-starlight-deep);
180
+ scrollbar-width: thin;
181
+ scrollbar-color: var(--color-starlight-blue) transparent;
178
182
  }
179
183
 
180
184
  body {
@@ -198,11 +202,17 @@ textarea {
198
202
  /* Layout Utilities */
199
203
  .container {
200
204
  width: 100%;
201
- max-width: 1200px;
205
+ max-width: 1100px;
202
206
  margin-left: auto;
203
207
  margin-right: auto;
204
- padding-left: var(--space-4);
205
- padding-right: var(--space-4);
208
+ padding-left: var(--space-8);
209
+ padding-right: var(--space-8);
210
+ }
211
+
212
+ .grid-3 {
213
+ display: grid;
214
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
215
+ gap: var(--space-8);
206
216
  }
207
217
 
208
218
  @container (min-width: 640px) {
@@ -469,652 +479,135 @@ textarea {
469
479
 
470
480
  /* ====== QUANTUM CSS ENHANCEMENTS ====== */
471
481
 
472
- /* Responsive Design System - Better Breakpoints */
473
- @media (max-width: 639px) {
474
- .q-sm\:block { display: block; }
475
- .q-sm\:hidden { display: none; }
476
- .q-sm\:text-center { text-align: center; }
477
- .q-sm\:flex-col { flex-direction: column; }
482
+ /* Utility for Quick Prototyping */
483
+ .prose {
484
+ max-width: 65ch;
485
+ line-height: 1.75;
478
486
  }
479
487
 
480
- @media (min-width: 640px) {
481
- .q-md\:block { display: block; }
482
- .q-md\:hidden { display: none; }
483
- .q-md\:flex-row { flex-direction: row; }
488
+ .prose h1 {
489
+ font-size: 2.25rem;
490
+ font-weight: 700;
491
+ line-height: 1.25;
492
+ margin-bottom: 1rem;
484
493
  }
485
494
 
486
- @media (min-width: 768px) {
487
- .q-lg\:block { display: block; }
488
- .q-lg\:hidden { display: none; }
489
- .q-lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
495
+ .prose h2 {
496
+ font-size: 1.875rem;
497
+ font-weight: 600;
498
+ line-height: 1.25;
499
+ margin-top: 2rem;
500
+ margin-bottom: 1rem;
490
501
  }
491
502
 
492
- @media (min-width: 1024px) {
493
- .q-xl\:block { display: block; }
494
- .q-xl\:hidden { display: none; }
495
- .q-xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
503
+ .prose p {
504
+ margin-bottom: 1rem;
496
505
  }
497
506
 
498
- @media (min-width: 1280px) {
499
- .q-2xl\:block { display: block; }
500
- .q-2xl\:hidden { display: none; }
501
- .q-2xl\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
507
+ .prose a {
508
+ color: var(--color-primary);
509
+ text-decoration: underline;
502
510
  }
503
511
 
504
- /* Component Utilities - Semantic & Reusable */
505
- .q-card {
506
- background: white;
507
- border-radius: var(--radius-lg);
508
- box-shadow: var(--shadow-md);
509
- padding: var(--space-6);
510
- border: 1px solid var(--color-neutral);
511
- transition: var(--duration-200) all var(--ease-in-out);
512
+ .prose a:hover {
513
+ color: var(--color-primary-600);
512
514
  }
513
515
 
514
- .q-card:hover {
515
- box-shadow: var(--shadow-lg);
516
- transform: translateY(-2px);
516
+ /* Reduced Motion Support */
517
+ @media (prefers-reduced-motion: reduce) {
518
+ *,
519
+ *::before,
520
+ *::after {
521
+ animation-duration: 0.01ms !important;
522
+ animation-iteration-count: 1 !important;
523
+ transition-duration: 0.01ms !important;
524
+ scroll-behavior: auto !important;
525
+ }
517
526
  }
518
527
 
519
- .q-btn {
520
- display: inline-flex;
521
- align-items: center;
522
- justify-content: center;
523
- gap: var(--space-2);
524
- padding: var(--space-3) var(--space-6);
525
- border-radius: var(--radius-md);
526
- font-weight: 500;
527
- font-size: 0.875rem;
528
- line-height: 1.25rem;
529
- transition: all var(--duration-150) var(--ease-in-out);
530
- cursor: pointer;
531
- border: none;
532
- text-decoration: none;
533
- position: relative;
534
- overflow: hidden;
535
- }
528
+ /* --- Restored Core Styles --- */
536
529
 
537
- .q-btn:disabled {
538
- opacity: 0.5;
539
- cursor: not-allowed;
540
- }
541
530
 
542
- .q-btn-primary {
543
- background-color: var(--color-primary);
544
- color: white;
545
- }
546
531
 
547
- .q-btn-primary:hover:not(:disabled) {
548
- background-color: var(--color-primary-600);
549
- transform: translateY(-1px);
550
- box-shadow: var(--shadow-md);
551
- }
532
+ /* Nebula Scrollbar */
552
533
 
553
- .q-btn-secondary {
554
- background-color: var(--color-neutral);
555
- color: white;
556
- }
557
534
 
558
- .q-btn-outline {
559
- background-color: transparent;
560
- border: 1px solid var(--color-primary);
561
- color: var(--color-primary);
562
- }
563
535
 
564
- .q-btn-outline:hover:not(:disabled) {
565
- background-color: var(--color-primary);
566
- color: white;
567
- }
536
+ ::-webkit-scrollbar { width: 8px; }
568
537
 
569
- .q-input {
570
- display: block;
571
- width: 100%;
572
- padding: var(--space-3) var(--space-4);
573
- border: 1px solid var(--color-neutral);
574
- border-radius: var(--radius-md);
575
- font-size: 0.875rem;
576
- line-height: 1.25rem;
577
- transition: all var(--duration-150) var(--ease-in-out);
578
- background-color: white;
579
- }
580
538
 
581
- .q-input:focus {
582
- outline: none;
583
- border-color: var(--color-primary);
584
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
585
- }
586
539
 
587
- .q-input-error {
588
- border-color: var(--color-error);
589
- }
590
540
 
591
- .q-input-error:focus {
592
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
593
- }
594
541
 
595
- .q-badge {
596
- display: inline-flex;
597
- align-items: center;
598
- padding: var(--space-1) var(--space-3);
599
- border-radius: var(--radius-full);
600
- font-size: 0.75rem;
601
- font-weight: 500;
602
- text-transform: uppercase;
603
- letter-spacing: 0.05em;
604
- }
605
542
 
606
- .q-badge-primary {
607
- background-color: var(--color-primary-100);
608
- color: var(--color-primary-800);
609
- }
610
543
 
611
- .q-badge-success {
612
- background-color: #dcfce7;
613
- color: #166534;
614
- }
544
+ ::-webkit-scrollbar-track { background: transparent; }
615
545
 
616
- .q-badge-warning {
617
- background-color: #fef3c7;
618
- color: #92400e;
619
- }
620
546
 
621
- .q-badge-error {
622
- background-color: #fee2e2;
623
- color: #991b1b;
624
- }
625
547
 
626
- /* Advanced Layout Patterns */
627
- .q-center {
628
- display: flex;
629
- align-items: center;
630
- justify-content: center;
631
- }
632
548
 
633
- .q-stack {
634
- display: flex;
635
- flex-direction: column;
636
- gap: var(--space-4);
637
- }
638
549
 
639
- .q-cluster {
640
- display: flex;
641
- flex-wrap: wrap;
642
- gap: var(--space-4);
643
- align-items: flex-start;
644
- }
645
550
 
646
- .q-switcher {
647
- display: flex;
648
- flex-wrap: wrap;
649
- gap: var(--space-2);
650
- }
651
551
 
652
- .q-sidebar {
653
- display: grid;
654
- grid-template-columns: auto 1fr;
655
- gap: var(--space-6);
656
- }
552
+ ::-webkit-scrollbar-thumb {
657
553
 
658
- .q-cover {
659
- position: absolute;
660
- inset: 0;
661
- width: 100%;
662
- height: 100%;
663
- object-fit: cover;
664
- }
665
554
 
666
- .q-frame {
667
- position: relative;
668
- overflow: hidden;
669
- }
670
555
 
671
- /* Smart Spacing - Logical Properties */
672
- .q-space-y > * + * {
673
- margin-top: var(--space-4);
674
- }
556
+ background: linear-gradient(135deg, var(--color-starlight-peach) 0%, var(--color-starlight-blue) 100%);
675
557
 
676
- .q-space-y-2 > * + * {
677
- margin-top: var(--space-2);
678
- }
679
558
 
680
- .q-space-y-6 > * + * {
681
- margin-top: var(--space-6);
682
- }
683
559
 
684
- .q-space-x > * + * {
685
- margin-left: var(--space-4);
686
- }
560
+ border-radius: 10px;
687
561
 
688
- .q-space-x-2 > * + * {
689
- margin-left: var(--space-2);
690
- }
691
562
 
692
- .q-space-x-6 > * + * {
693
- margin-left: var(--space-6);
694
- }
695
563
 
696
- /* Animation Utilities */
697
- .q-animate-fade-in {
698
- animation: fadeIn var(--duration-300) var(--ease-out);
699
- }
564
+ border: 2px solid var(--color-starlight-deep);
700
565
 
701
- .q-animate-slide-up {
702
- animation: slideUp var(--duration-300) var(--ease-out);
703
- }
704
566
 
705
- .q-animate-slide-down {
706
- animation: slideDown var(--duration-300) var(--ease-out);
707
- }
708
567
 
709
- .q-animate-scale-in {
710
- animation: scaleIn var(--duration-200) var(--ease-out);
711
568
  }
712
569
 
713
- .q-animate-spin {
714
- animation: spin 1s linear infinite;
715
- }
716
570
 
717
- .q-animate-ping {
718
- animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
719
- }
720
571
 
721
- .q-animate-pulse {
722
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
723
- }
572
+ body.light-mode,
724
573
 
725
- .q-animate-bounce {
726
- animation: bounce 1s infinite;
727
- }
574
+ html.light-mode {
728
575
 
729
- /* Keyframes */
730
- @keyframes fadeIn {
731
- from { opacity: 0; }
732
- to { opacity: 1; }
733
- }
576
+ scrollbar-color: var(--color-starlight-blue) transparent;
734
577
 
735
- @keyframes slideUp {
736
- from { opacity: 0; transform: translateY(20px); }
737
- to { opacity: 1; transform: translateY(0); }
738
578
  }
739
579
 
740
- @keyframes slideDown {
741
- from { opacity: 0; transform: translateY(-20px); }
742
- to { opacity: 1; transform: translateY(0); }
743
- }
744
580
 
745
- @keyframes scaleIn {
746
- from { opacity: 0; transform: scale(0.95); }
747
- to { opacity: 1; transform: scale(1); }
748
- }
749
581
 
750
- @keyframes spin {
751
- from { transform: rotate(0deg); }
752
- to { transform: rotate(360deg); }
753
- }
582
+ body.light-mode::-webkit-scrollbar-thumb,
754
583
 
755
- @keyframes ping {
756
- 75%, 100% {
757
- transform: scale(2);
758
- opacity: 0;
759
- }
760
- }
584
+ body.light-mode ::-webkit-scrollbar-thumb {
761
585
 
762
- @keyframes pulse {
763
- 0%, 100% { opacity: 1; }
764
- 50% { opacity: 0.5; }
765
- }
586
+ background: linear-gradient(135deg, var(--color-starlight-peach) 40%, var(--color-starlight-blue) 100%);
766
587
 
767
- @keyframes bounce {
768
- 0%, 100% {
769
- transform: translateY(-25%);
770
- animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
771
- }
772
- 50% {
773
- transform: none;
774
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
775
- }
776
- }
588
+ border-color: var(--light-bg);
777
589
 
778
- /* Interactive States */
779
- .q-hover-lift:hover {
780
- transform: translateY(-4px);
781
- box-shadow: var(--shadow-lg);
782
590
  }
783
591
 
784
- .q-hover-scale:hover {
785
- transform: scale(1.05);
786
- }
787
592
 
788
- .q-hover-rotate:hover {
789
- transform: rotate(1deg);
790
- }
791
593
 
792
- .q-hover-glow:hover {
793
- box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
794
- }
594
+ /* Starlight Focus Ring */
795
595
 
796
- .q-active:active {
797
- transform: scale(0.98);
798
- }
799
596
 
800
- .q-focus-ring:focus {
801
- outline: 2px solid var(--color-primary);
802
- outline-offset: 2px;
803
- }
804
597
 
805
- /* Form States */
806
- .q-required::after {
807
- content: " *";
808
- color: var(--color-error);
809
- }
598
+ :focus, :focus-visible {
810
599
 
811
- .q-disabled {
812
- opacity: 0.5;
813
- cursor: not-allowed;
814
- pointer-events: none;
815
- }
816
600
 
817
- .q-loading {
818
- position: relative;
819
- overflow: hidden;
820
- }
821
601
 
822
- .q-loading::after {
823
- content: "";
824
- position: absolute;
825
- top: 0;
826
- left: -100%;
827
- width: 100%;
828
- height: 100%;
829
- background: linear-gradient(
830
- 90deg,
831
- transparent,
832
- rgba(255, 255, 255, 0.2),
833
- transparent
834
- );
835
- animation: loading 1.5s infinite;
836
- }
602
+ outline: none;
837
603
 
838
- @keyframes loading {
839
- to { left: 100%; }
840
- }
841
604
 
842
- /* Visual Feedback */
843
- .q-success {
844
- border-color: var(--color-success) !important;
845
- box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
846
- }
847
605
 
848
- .q-warning {
849
- border-color: var(--color-warning) !important;
850
- box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1) !important;
851
- }
606
+ box-shadow: 0 0 0 2px var(--color-starlight-deep), 0 0 0 4px var(--color-starlight-blue);
852
607
 
853
- .q-error {
854
- border-color: var(--color-error) !important;
855
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
856
- }
857
-
858
- .q-info {
859
- border-color: var(--color-primary) !important;
860
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
861
- }
862
-
863
- /* Dark Mode Enhancements */
864
- @media (prefers-color-scheme: dark) {
865
- .q-card {
866
- background-color: #1f2937;
867
- border-color: #374151;
868
- }
869
-
870
- .q-input {
871
- background-color: #1f2937;
872
- border-color: #374151;
873
- color: #f9fafb;
874
- }
875
-
876
- .q-dark\:text-white { color: #ffffff !important; }
877
- .q-dark\:bg-gray-800 { background-color: #1f2937 !important; }
878
- .q-dark\:bg-gray-900 { background-color: #111827 !important; }
879
- .q-dark\:border-gray-700 { border-color: #374151 !important; }
880
- }
881
-
882
- /* Print Styles */
883
- @media print {
884
- .q-print-hidden {
885
- display: none !important;
886
- }
887
-
888
- .q-print-block {
889
- display: block !important;
890
- }
891
-
892
- .q-no-shadow {
893
- box-shadow: none !important;
894
- }
895
-
896
- .q-black-text {
897
- color: black !important;
898
- }
899
- }
900
-
901
- /* Utility for Quick Prototyping */
902
- .prose {
903
- max-width: 65ch;
904
- line-height: 1.75;
905
- }
906
-
907
- .prose h1 {
908
- font-size: 2.25rem;
909
- font-weight: 700;
910
- line-height: 1.25;
911
- margin-bottom: 1rem;
912
- }
913
-
914
- .prose h2 {
915
- font-size: 1.875rem;
916
- font-weight: 600;
917
- line-height: 1.25;
918
- margin-top: 2rem;
919
- margin-bottom: 1rem;
920
- }
921
-
922
- .prose p {
923
- margin-bottom: 1rem;
924
- }
925
-
926
- .prose a {
927
- color: var(--color-primary);
928
- text-decoration: underline;
929
- }
930
-
931
- .prose a:hover {
932
- color: var(--color-primary-600);
933
- }
934
-
935
- /* Performance Optimizations */
936
- .q-will-change-transform {
937
- will-change: transform;
938
- }
939
-
940
- .q-will-change-opacity {
941
- will-change: opacity;
942
- }
943
-
944
- .q-gpu-accelerated {
945
- transform: translateZ(0);
946
- backface-visibility: hidden;
947
- perspective: 1000px;
948
- }
949
-
950
- /* Container Queries - Future Ready */
951
- @container (min-width: 320px) {
952
- .q-cq-sm\:flex { display: flex; }
953
- }
954
-
955
- @container (min-width: 640px) {
956
- .q-cq-md\:grid { display: grid; }
957
- }
958
-
959
- @container (min-width: 1024px) {
960
- .q-cq-lg\:block { display: block; }
961
- }
962
-
963
- /* Reduced Motion Support */
964
- @media (prefers-reduced-motion: reduce) {
965
- *,
966
- *::before,
967
- *::after {
968
- animation-duration: 0.01ms !important;
969
- animation-iteration-count: 1 !important;
970
- transition-duration: 0.01ms !important;
971
- scroll-behavior: auto !important;
972
- }
973
- }
974
-
975
- /* High Contrast Mode Support */
976
- @media (prefers-contrast: high) {
977
- .q-card {
978
- border-width: 2px;
979
- }
980
-
981
- .q-btn {
982
- border: 2px solid;
983
- }
984
- }
985
-
986
- /* Focus Visible Support */
987
- .q-focus-visible:focus-visible {
988
- outline: 2px solid var(--color-primary);
989
- outline-offset: 2px;
990
- }
991
-
992
- /* Modern CSS Features */
993
- .q-backdrop-blur-sm {
994
- backdrop-filter: blur(4px);
995
- }
996
-
997
- .q-backdrop-blur {
998
- backdrop-filter: blur(8px);
999
- }
1000
-
1001
- .q-backdrop-blur-md {
1002
- backdrop-filter: blur(12px);
1003
- }
1004
-
1005
- .q-backdrop-blur-lg {
1006
- backdrop-filter: blur(16px);
1007
- }
1008
-
1009
- .q-text-shadow-sm {
1010
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
1011
- }
1012
-
1013
- .q-text-shadow {
1014
- text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1015
- }
1016
-
1017
- .q-text-shadow-lg {
1018
- text-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
1019
- }
1020
-
1021
- /* Gradient Utilities */
1022
- .q-gradient-primary {
1023
- background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-600) 100%);
1024
- }
1025
-
1026
- .q-gradient-secondary {
1027
- background: linear-gradient(135deg, var(--color-secondary) 0%, #475569 100%);
1028
- }
1029
-
1030
- .q-gradient-radial {
1031
- background: radial-gradient(circle at center, var(--color-primary) 0%, var(--color-primary-600) 100%);
1032
- }
1033
-
1034
- .q-gradient-text {
1035
- background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-600) 100%);
1036
- -webkit-background-clip: text;
1037
- -webkit-text-fill-color: transparent;
1038
- background-clip: text;
1039
- }
1040
-
1041
- /* Scrollbar Styling */
1042
- .q-scrollbar-thin {
1043
- scrollbar-width: thin;
1044
- scrollbar-color: var(--color-neutral) transparent;
1045
- }
1046
-
1047
- .q-scrollbar-thin::-webkit-scrollbar {
1048
- width: 6px;
1049
- }
1050
-
1051
- .q-scrollbar-thin::-webkit-scrollbar-track {
1052
- background: transparent;
1053
- }
1054
-
1055
- .q-scrollbar-thin::-webkit-scrollbar-thumb {
1056
- background-color: var(--color-neutral);
1057
- border-radius: 3px;
1058
- }
1059
-
1060
- .q-scrollbar-none {
1061
- -ms-overflow-style: none;
1062
- scrollbar-width: none;
1063
- }
1064
-
1065
- .q-scrollbar-none::-webkit-scrollbar {
1066
-
1067
- display: none;
1068
-
1069
- }
1070
-
1071
-
1072
-
1073
- /* --- Restored Core Styles --- */
1074
-
1075
-
1076
-
1077
- /* Nebula Scrollbar */
1078
-
1079
- ::-webkit-scrollbar { width: 8px; }
1080
-
1081
- ::-webkit-scrollbar-track { background: var(--color-starlight-deep); }
1082
-
1083
- body.light-mode ::-webkit-scrollbar-track { background: var(--light-bg); }
1084
-
1085
-
1086
-
1087
- ::-webkit-scrollbar-thumb {
1088
-
1089
- background: linear-gradient(to bottom, var(--color-starlight-peach), var(--color-starlight-blue));
1090
-
1091
- border-radius: 10px;
1092
-
1093
- border: 2px solid var(--color-starlight-deep);
1094
-
1095
- }
1096
-
1097
- body.light-mode ::-webkit-scrollbar-thumb { border-color: var(--light-bg); }
1098
-
1099
-
1100
-
1101
- /* Starlight Focus Ring */
1102
-
1103
-
1104
-
1105
- :focus, :focus-visible {
1106
-
1107
-
1108
-
1109
- outline: none;
1110
-
1111
-
1112
-
1113
- box-shadow: 0 0 0 2px var(--color-starlight-deep), 0 0 0 4px var(--color-starlight-blue);
1114
-
1115
-
1116
-
1117
- transition: box-shadow var(--transition-fast);
608
+
609
+
610
+ transition: box-shadow var(--transition-fast);
1118
611
 
1119
612
 
1120
613
 
@@ -1174,7 +667,9 @@ body {
1174
667
 
1175
668
 
1176
669
 
1177
- body.light-mode {
670
+ body.light-mode,
671
+ html.light-mode {
672
+ color-scheme: light;
1178
673
  background-color: var(--light-bg);
1179
674
  color: var(--light-text);
1180
675
  --text-primary: var(--light-text);
@@ -2273,6 +1768,26 @@ body.light-mode .skeleton {
2273
1768
  animation: float-y 6s ease-in-out infinite;
2274
1769
  }
2275
1770
 
1771
+ .ani-fade-in {
1772
+ animation: fadeIn 0.3s ease-out forwards;
1773
+ }
1774
+
1775
+ .ani-slide-up {
1776
+ animation: slideUp 0.3s ease-out forwards;
1777
+ }
1778
+
1779
+ .ani-slide-down {
1780
+ animation: slideDown 0.3s ease-out forwards;
1781
+ }
1782
+
1783
+ .ani-scale-in {
1784
+ animation: scaleIn 0.2s ease-out forwards;
1785
+ }
1786
+
1787
+ .ani-spin {
1788
+ animation: spin 1s linear infinite;
1789
+ }
1790
+
2276
1791
  /* Staggered Animations */
2277
1792
  .ani-stagger-1 { animation-delay: 0.1s; }
2278
1793
  .ani-stagger-2 { animation-delay: 0.2s; }
@@ -2285,21 +1800,57 @@ body.light-mode .skeleton {
2285
1800
  .ani-slow { animation-duration: 8s !important; }
2286
1801
  .ani-slower { animation-duration: 15s !important; }
2287
1802
 
2288
- /* Starlight UI - Premium Components */
1803
+ /* Keyframes */
1804
+ @keyframes fadeIn {
1805
+ from { opacity: 0; }
1806
+ to { opacity: 1; }
1807
+ }
2289
1808
 
2290
- /* 0. Layout Helpers */
2291
- .container {
2292
- max-width: 1100px;
2293
- margin: 0 auto;
2294
- padding: 0 var(--space-8);
1809
+ @keyframes slideUp {
1810
+ from { opacity: 0; transform: translateY(20px); }
1811
+ to { opacity: 1; transform: translateY(0); }
2295
1812
  }
2296
1813
 
2297
- .grid-3 {
2298
- display: grid;
2299
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
2300
- gap: var(--space-8);
1814
+ @keyframes slideDown {
1815
+ from { opacity: 0; transform: translateY(-20px); }
1816
+ to { opacity: 1; transform: translateY(0); }
1817
+ }
1818
+
1819
+ @keyframes scaleIn {
1820
+ from { opacity: 0; transform: scale(0.95); }
1821
+ to { opacity: 1; transform: scale(1); }
2301
1822
  }
2302
1823
 
1824
+ @keyframes spin {
1825
+ from { transform: rotate(0deg); }
1826
+ to { transform: rotate(360deg); }
1827
+ }
1828
+
1829
+ @keyframes ping {
1830
+ 75%, 100% {
1831
+ transform: scale(2);
1832
+ opacity: 0;
1833
+ }
1834
+ }
1835
+
1836
+ @keyframes pulse {
1837
+ 0%, 100% { opacity: 1; }
1838
+ 50% { opacity: 0.5; }
1839
+ }
1840
+
1841
+ @keyframes bounce {
1842
+ 0%, 100% {
1843
+ transform: translateY(-25%);
1844
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1845
+ }
1846
+ 50% {
1847
+ transform: none;
1848
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1849
+ }
1850
+ }
1851
+
1852
+ /* Starlight UI - Premium Components */
1853
+
2303
1854
  /* Links */
2304
1855
  a {
2305
1856
  color: var(--color-starlight-blue);
@@ -2318,11 +1869,11 @@ a:active {
2318
1869
  }
2319
1870
 
2320
1871
  body.light-mode a {
2321
- color: #2563eb;
1872
+ color: var(--color-starlight-blue);
2322
1873
  }
2323
1874
 
2324
1875
  body.light-mode a:hover {
2325
- color: #1d4ed8;
1876
+ color: var(--color-starlight-peach);
2326
1877
  }
2327
1878
 
2328
1879
  /* 1. Starlight Card */
@@ -2366,6 +1917,12 @@ body.light-mode .starlight-card {
2366
1917
 
2367
1918
  .radio-starlight { border-radius: 50%; }
2368
1919
 
1920
+ body.light-mode .checkbox-starlight,
1921
+ body.light-mode .radio-starlight {
1922
+ border-color: rgba(0, 0, 0, 0.2);
1923
+ background: rgba(0, 0, 0, 0.05);
1924
+ }
1925
+
2369
1926
  .checkbox-starlight:checked, .radio-starlight:checked {
2370
1927
  background: var(--color-starlight-blue);
2371
1928
  border-color: var(--color-starlight-blue);
@@ -2416,12 +1973,12 @@ body.light-mode .starlight-card {
2416
1973
  transform: translateX(-50%) translateY(0);
2417
1974
  }
2418
1975
 
2419
- /* 4. Skeletons & Twinkle */
2420
- .stars-container {
1976
+ /* 4. Starlight Stars (Atmospheric Background) */
1977
+ .starlight-stars {
2421
1978
  position: fixed;
2422
1979
  top: 0; left: 0; width: 100%; height: 100%;
2423
1980
  pointer-events: none;
2424
- z-index: -1;
1981
+ z-index: 0;
2425
1982
  overflow: hidden;
2426
1983
  }
2427
1984
 
@@ -2430,12 +1987,12 @@ body.light-mode .starlight-card {
2430
1987
  background: white;
2431
1988
  border-radius: 50%;
2432
1989
  opacity: 0.3;
2433
- animation: twinkle var(--duration, 3s) infinite ease-in-out;
1990
+ animation: star-twinkle var(--duration, 3s) infinite ease-in-out;
2434
1991
  }
2435
1992
 
2436
- @keyframes twinkle {
2437
- 0%, 100% { opacity: 0.3; transform: scale(1); }
2438
- 50% { opacity: 1; transform: scale(1.2); }
1993
+ body.light-mode .star {
1994
+ background: var(--color-starlight-blue);
1995
+ opacity: 0.15;
2439
1996
  }
2440
1997
 
2441
1998
  /* 5. Dialog & Overlays */
@@ -2478,7 +2035,7 @@ body.light-mode .dialog-content {
2478
2035
  position: absolute;
2479
2036
  top: 100%;
2480
2037
  left: 0;
2481
- background-color: rgba(15, 15, 30, 0.98);
2038
+ background-color: var(--color-starlight-deep);;
2482
2039
  backdrop-filter: blur(20px);
2483
2040
  border: 1px solid rgba(255, 255, 255, 0.1);
2484
2041
  border-radius: 0.75rem;
@@ -2518,8 +2075,8 @@ body.light-mode .dropdown-item {
2518
2075
  }
2519
2076
 
2520
2077
  body.light-mode .dropdown-item:hover {
2521
- background-color: #f1f5f9;
2522
- color: #1e293b;
2078
+ background-color: var(--color-starlight-blue);
2079
+ color: black;
2523
2080
  }
2524
2081
 
2525
2082
  /* 7. Input & Glass Fixes */
@@ -2549,146 +2106,438 @@ body.light-mode .glass {
2549
2106
  border-color: rgba(0, 0, 0, 0.05);
2550
2107
  }
2551
2108
 
2552
- /* 8. Input Focus States */
2553
- .input-starlight:focus, .textarea-starlight:focus {
2554
- outline: none;
2555
- border-color: var(--color-starlight-blue);
2556
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
2109
+ /* 8. Input Focus States */
2110
+ .input-starlight:focus, .textarea-starlight:focus {
2111
+ outline: none;
2112
+ border-color: var(--color-starlight-blue);
2113
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
2114
+ }
2115
+
2116
+ body.light-mode .input-starlight:focus,
2117
+ body.light-mode .textarea-starlight:focus {
2118
+ border-color: var(--color-starlight-blue);
2119
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
2120
+ }
2121
+
2122
+ /* 9. Code Interface Window */
2123
+ .code-window {
2124
+ background: rgba(0, 0, 0, 0.4);
2125
+ backdrop-filter: blur(20px);
2126
+ -webkit-backdrop-filter: blur(20px);
2127
+ border: 1px solid rgba(255, 255, 255, 0.1);
2128
+ border-radius: var(--radius-xl);
2129
+ overflow: hidden;
2130
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2131
+ }
2132
+
2133
+ .code-window-header {
2134
+ background: rgba(255, 255, 255, 0.05);
2135
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2136
+ padding: 1rem 1.5rem;
2137
+ display: flex;
2138
+ align-items: center;
2139
+ justify-content: space-between;
2140
+ }
2141
+
2142
+ .code-window-controls {
2143
+ display: flex;
2144
+ gap: 0.5rem;
2145
+ }
2146
+
2147
+ .code-window-dot {
2148
+ width: 0.75rem;
2149
+ height: 0.75rem;
2150
+ border-radius: 50%;
2151
+ opacity: 0.6;
2152
+ }
2153
+
2154
+ .code-window-title {
2155
+ font-size: 0.65rem;
2156
+ font-weight: 800;
2157
+ text-transform: uppercase;
2158
+ letter-spacing: 0.15em;
2159
+ color: rgba(255, 255, 255, 0.4);
2160
+ }
2161
+
2162
+ body.light-mode .code-window {
2163
+ background: #f8fafc;
2164
+ border-color: #e2e8f0;
2165
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
2166
+ }
2167
+
2168
+ body.light-mode .code-window-header {
2169
+ background: #f1f5f9;
2170
+ border-color: #e2e8f0;
2171
+ }
2172
+
2173
+ body.light-mode .code-window-title {
2174
+ color: #94a3b8;
2175
+ }
2176
+
2177
+ /* 10. Starlight Accordion */
2178
+ .accordion-starlight.accordion-item {
2179
+ background: rgba(255, 255, 255, 0.02);
2180
+ backdrop-filter: blur(12px);
2181
+ -webkit-backdrop-filter: blur(12px);
2182
+ border: 1px solid rgba(255, 255, 255, 0.08);
2183
+ border-radius: var(--radius-xl);
2184
+ margin-bottom: var(--space-4);
2185
+ transition: all var(--transition-base);
2186
+ position: relative;
2187
+ }
2188
+
2189
+ .accordion-starlight.accordion-item:hover {
2190
+ border-color: rgba(0, 212, 255, 0.3);
2191
+ background: rgba(255, 255, 255, 0.04);
2192
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.05);
2193
+ }
2194
+
2195
+ .accordion-starlight.accordion-item.active {
2196
+ border-color: var(--color-starlight-blue);
2197
+ background: rgba(0, 212, 255, 0.03);
2198
+ box-shadow: 0 0 30px rgba(0, 212, 255, 0.1), inset 0 0 20px rgba(0, 212, 255, 0.05);
2199
+ }
2200
+
2201
+ .accordion-starlight .accordion-header {
2202
+ background: transparent !important;
2203
+ padding: var(--space-6) var(--space-8);
2204
+ color: white;
2205
+ font-weight: 700;
2206
+ letter-spacing: 0.02em;
2207
+ font-size: 1.125rem;
2208
+ }
2209
+
2210
+ .accordion-starlight.active .accordion-header {
2211
+ background: linear-gradient(to right, rgba(255, 179, 138, 0.15), rgba(0, 212, 255, 0.15)) !important;
2212
+ border-bottom: 1px solid rgba(0, 212, 255, 0.2);
2213
+ }
2214
+
2215
+ .accordion-starlight .accordion-content {
2216
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1)) !important;
2217
+ color: rgba(255, 255, 255, 0.6) !important;
2218
+ font-size: 1rem;
2219
+ line-height: 1.8;
2220
+ padding: 0;
2221
+ }
2222
+
2223
+ .accordion-starlight.active .accordion-content {
2224
+ padding: var(--space-6) var(--space-8);
2225
+ }
2226
+
2227
+ .accordion-starlight .accordion-icon {
2228
+ color: var(--color-starlight-blue);
2229
+ filter: drop-shadow(0 0 5px rgba(0, 212, 255, 0.5));
2230
+ }
2231
+
2232
+ body.light-mode .accordion-starlight.accordion-item {
2233
+ background: white;
2234
+ border-color: #e2e8f0;
2235
+ }
2236
+
2237
+ body.light-mode .accordion-starlight.accordion-item.active {
2238
+ border-color: var(--color-starlight-blue);
2239
+ background: #f8fafc;
2240
+ }
2241
+
2242
+ body.light-mode .accordion-starlight .accordion-header {
2243
+ color: #1e293b;
2244
+ }
2245
+
2246
+ body.light-mode .accordion-starlight .accordion-content {
2247
+ background: #f1f5f9 !important;
2248
+ color: #475569 !important;
2249
+ }
2250
+
2251
+ /* 11. Search Input with Icon */
2252
+ .search-container {
2253
+ position: relative;
2254
+ width: 100%;
2255
+ max-width: 400px;
2256
+ }
2257
+
2258
+ .search-input {
2259
+ padding-left: 3rem !important;
2260
+ }
2261
+
2262
+ .search-icon {
2263
+ position: absolute;
2264
+ left: 1rem;
2265
+ top: 50%;
2266
+ transform: translateY(-50%);
2267
+ color: var(--text-muted);
2268
+ pointer-events: none;
2269
+ width: 1.5rem;
2270
+ height: 1.5rem;
2271
+ }
2272
+
2273
+ /* 12. Gallery Widget */
2274
+ .starlight-gallery {
2275
+ display: grid;
2276
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
2277
+ gap: var(--space-4);
2278
+ }
2279
+
2280
+ .gallery-item {
2281
+ position: relative;
2282
+ aspect-ratio: 1;
2283
+ border-radius: var(--radius-xl);
2284
+ overflow: hidden;
2285
+ background: var(--glass-bg);
2286
+ border: 1px solid var(--glass-border);
2287
+ cursor: pointer;
2288
+ transition: all var(--transition-base);
2289
+ }
2290
+
2291
+ .gallery-item img {
2292
+ width: 100%;
2293
+ height: 100%;
2294
+ object-fit: cover;
2295
+ transition: transform var(--transition-slow);
2296
+ }
2297
+
2298
+ .gallery-item:hover img {
2299
+ transform: scale(1.1);
2300
+ }
2301
+
2302
+ .gallery-item:hover {
2303
+ border-color: var(--color-starlight-blue);
2304
+ box-shadow: 0 0 20px var(--color-starlight-glow);
2305
+ }
2306
+
2307
+ .gallery-overlay {
2308
+ position: absolute;
2309
+ inset: 0;
2310
+ background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
2311
+ display: flex;
2312
+ align-items: flex-end;
2313
+ padding: 1rem;
2314
+ opacity: 0;
2315
+ transition: opacity 0.3s ease;
2316
+ }
2317
+
2318
+ .gallery-item:hover .gallery-overlay {
2319
+ opacity: 1;
2320
+ }
2321
+
2322
+ /* 13. Dashboard Widget */
2323
+ .dashboard-grid {
2324
+ display: grid;
2325
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2326
+ gap: var(--space-6);
2327
+ }
2328
+
2329
+ .stat-card {
2330
+ padding: var(--space-6);
2331
+ display: flex;
2332
+ flex-direction: column;
2333
+ gap: var(--space-2);
2334
+ }
2335
+
2336
+ .stat-value {
2337
+ font-size: 2.5rem;
2338
+ font-weight: 800;
2339
+ background: linear-gradient(135deg, #fff 0%, var(--color-starlight-blue) 100%);
2340
+ -webkit-background-clip: text;
2341
+ -webkit-text-fill-color: transparent;
2342
+ }
2343
+
2344
+ body.light-mode .stat-value {
2345
+ background: linear-gradient(135deg, #1e293b 0%, var(--color-starlight-blue) 100%);
2346
+ -webkit-background-clip: text;
2347
+ -webkit-text-fill-color: transparent;
2348
+ }
2349
+
2350
+ .stat-label {
2351
+ text-transform: uppercase;
2352
+ letter-spacing: 0.1em;
2353
+ font-size: 0.75rem;
2354
+ color: var(--text-muted);
2355
+ }
2356
+
2357
+ .stat-trend {
2358
+ font-size: 0.875rem;
2359
+ display: flex;
2360
+ align-items: center;
2361
+ gap: 0.25rem;
2362
+ }
2363
+
2364
+ .stat-trend.up { color: var(--color-success); }
2365
+ .stat-trend.down { color: var(--color-error); }
2366
+
2367
+ /* 14. Hamburger Menu Glass */
2368
+ .nav-glass {
2369
+ background: rgba(255, 255, 255, 0.03);
2370
+ backdrop-filter: blur(20px);
2371
+ -webkit-backdrop-filter: blur(20px);
2372
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2373
+ padding: 1rem 2rem;
2374
+ display: flex;
2375
+ justify-content: space-between;
2376
+ align-items: center;
2377
+ position: sticky;
2378
+ top: 0;
2379
+ z-index: 1000;
2380
+ }
2381
+
2382
+ body.light-mode .nav-glass {
2383
+ background: rgba(255, 255, 255, 0.8);
2384
+ border-bottom-color: rgba(0, 0, 0, 0.1);
2385
+ }
2386
+
2387
+ .hamburger {
2388
+ width: 2.5rem;
2389
+ height: 2.5rem;
2390
+ display: flex;
2391
+ flex-direction: column;
2392
+ justify-content: center;
2393
+ gap: 0.4rem;
2394
+ cursor: pointer;
2395
+ background: rgba(255,255,255,0.05);
2396
+ border: 1px solid rgba(255,255,255,0.1);
2397
+ border-radius: 0.5rem;
2398
+ padding: 0.5rem;
2399
+ transition: all 0.3s;
2400
+ }
2401
+
2402
+ body.light-mode .hamburger {
2403
+ background: rgba(0,0,0,0.02);
2404
+ border-color: rgba(0,0,0,0.1);
2557
2405
  }
2558
2406
 
2559
- body.light-mode .input-starlight:focus,
2560
- body.light-mode .textarea-starlight:focus {
2561
- border-color: #93c5fd;
2562
- box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
2407
+ .hamburger:hover {
2408
+ background: rgba(255,255,255,0.1);
2409
+ border-color: var(--color-starlight-blue);
2563
2410
  }
2564
2411
 
2565
- /* 9. Code Interface Window */
2566
- .code-window {
2567
- background: rgba(0, 0, 0, 0.4);
2568
- backdrop-filter: blur(20px);
2569
- -webkit-backdrop-filter: blur(20px);
2570
- border: 1px solid rgba(255, 255, 255, 0.1);
2571
- border-radius: var(--radius-xl);
2572
- overflow: hidden;
2573
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2412
+ body.light-mode .hamburger:hover {
2413
+ background: rgba(0,0,0,0.1);
2574
2414
  }
2575
2415
 
2576
- .code-window-header {
2577
- background: rgba(255, 255, 255, 0.05);
2578
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2579
- padding: 1rem 1.5rem;
2580
- display: flex;
2581
- align-items: center;
2582
- justify-content: space-between;
2416
+ .hamburger span {
2417
+ width: 100%;
2418
+ height: 2px;
2419
+ background: white;
2420
+ border-radius: 2px;
2421
+ transition: all 0.3s;
2583
2422
  }
2584
2423
 
2585
- .code-window-controls {
2586
- display: flex;
2587
- gap: 0.5rem;
2424
+ body.light-mode .hamburger span {
2425
+ background: #1e293b;
2588
2426
  }
2589
2427
 
2590
- .code-window-dot {
2591
- width: 0.75rem;
2592
- height: 0.75rem;
2593
- border-radius: 50%;
2594
- opacity: 0.6;
2428
+ .nav-menu-mobile {
2429
+ position: absolute;
2430
+ top: 100%;
2431
+ right: 2rem;
2432
+ width: 250px;
2433
+ background: rgba(255, 255, 255, 0.03);
2434
+ backdrop-filter: blur(20px);
2435
+ -webkit-backdrop-filter: blur(20px);
2436
+ border: 1px solid rgba(255, 255, 255, 0.05);
2437
+ border-radius: 1rem;
2438
+ padding: 1rem;
2439
+ margin-top: 0.5rem;
2440
+ box-shadow: 0 20px 40px rgba(0,0,0,0.5);
2441
+ display: none;
2442
+ animation: slideInDown 0.3s ease forwards;
2595
2443
  }
2596
2444
 
2597
- .code-window-title {
2598
- font-size: 0.65rem;
2599
- font-weight: 800;
2600
- text-transform: uppercase;
2601
- letter-spacing: 0.15em;
2602
- color: rgba(255, 255, 255, 0.4);
2445
+ body.light-mode .nav-menu-mobile {
2446
+ background: rgba(255, 255, 255, 0.8);
2447
+ border-color: rgba(0, 0, 0, 0.1);
2448
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
2603
2449
  }
2604
2450
 
2605
- body.light-mode .code-window {
2606
- background: #f8fafc;
2607
- border-color: #e2e8f0;
2608
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
2451
+ .nav-menu-mobile.active {
2452
+ display: block;
2609
2453
  }
2610
2454
 
2611
- body.light-mode .code-window-header {
2612
- background: #f1f5f9;
2613
- border-color: #e2e8f0;
2455
+ @keyframes slideInDown {
2456
+ from { opacity: 0; transform: translateY(-10px); }
2457
+ to { opacity: 1; transform: translateY(0); }
2614
2458
  }
2615
2459
 
2616
- body.light-mode .code-window-title {
2617
- color: #94a3b8;
2460
+ /* 15. More Form Controls */
2461
+ .select-starlight {
2462
+ appearance: none;
2463
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
2464
+ background-repeat: no-repeat;
2465
+ background-position: right 1rem center;
2466
+ background-size: 1.25rem;
2467
+ padding-right: 3rem !important;
2618
2468
  }
2619
2469
 
2620
- /* 10. Starlight Accordion */
2621
- .accordion-starlight.accordion-item {
2622
- background: rgba(255, 255, 255, 0.02);
2623
- backdrop-filter: blur(12px);
2624
- -webkit-backdrop-filter: blur(12px);
2625
- border: 1px solid rgba(255, 255, 255, 0.08);
2626
- border-radius: var(--radius-xl);
2627
- margin-bottom: var(--space-4);
2628
- transition: all var(--transition-base);
2629
- position: relative;
2470
+ body.light-mode .select-starlight {
2471
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
2630
2472
  }
2631
2473
 
2632
- .accordion-starlight.accordion-item:hover {
2633
- border-color: rgba(0, 212, 255, 0.3);
2634
- background: rgba(255, 255, 255, 0.04);
2635
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.05);
2474
+ .range-starlight {
2475
+ appearance: none;
2476
+ width: 100%;
2477
+ height: 6px;
2478
+ background: rgba(255,255,255,0.1);
2479
+ border-radius: 3px;
2480
+ outline: none;
2636
2481
  }
2637
2482
 
2638
- .accordion-starlight.accordion-item.active {
2639
- border-color: var(--color-starlight-blue);
2640
- background: rgba(0, 212, 255, 0.03);
2641
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.1), inset 0 0 20px rgba(0, 212, 255, 0.05);
2483
+ body.light-mode .range-starlight {
2484
+ background: rgba(0,0,0,0.1);
2642
2485
  }
2643
2486
 
2644
- .accordion-starlight .accordion-header {
2645
- background: transparent !important;
2646
- padding: var(--space-6) var(--space-8);
2647
- color: white;
2648
- font-weight: 700;
2649
- letter-spacing: 0.02em;
2650
- font-size: 1.125rem;
2487
+ .range-starlight::-webkit-slider-thumb {
2488
+ appearance: none;
2489
+ width: 18px;
2490
+ height: 18px;
2491
+ background: var(--color-starlight-blue);
2492
+ border-radius: 50%;
2493
+ cursor: pointer;
2494
+ box-shadow: 0 0 10px var(--color-starlight-glow);
2495
+ transition: all 0.2s;
2651
2496
  }
2652
2497
 
2653
- .accordion-starlight.active .accordion-header {
2654
- background: linear-gradient(to right, rgba(255, 179, 138, 0.15), rgba(0, 212, 255, 0.15)) !important;
2655
- border-bottom: 1px solid rgba(0, 212, 255, 0.2);
2498
+ .range-starlight::-webkit-slider-thumb:hover {
2499
+ transform: scale(1.2);
2500
+ box-shadow: 0 0 20px var(--color-starlight-blue);
2656
2501
  }
2657
2502
 
2658
- .accordion-starlight .accordion-content {
2659
- background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1)) !important;
2660
- color: rgba(255, 255, 255, 0.6) !important;
2661
- font-size: 1rem;
2662
- line-height: 1.8;
2663
- padding: 0;
2503
+ .toggle-starlight {
2504
+ width: 3.5rem;
2505
+ height: 1.75rem;
2664
2506
  }
2665
2507
 
2666
- .accordion-starlight.active .accordion-content {
2667
- padding: var(--space-6) var(--space-8);
2508
+ .toggle-starlight .toggle-slider {
2509
+ background: rgba(255,255,255,0.1);
2510
+ border: 1px solid rgba(255,255,255,0.1);
2668
2511
  }
2669
2512
 
2670
- .accordion-starlight .accordion-icon {
2671
- color: var(--color-starlight-blue);
2672
- filter: drop-shadow(0 0 5px rgba(0, 212, 255, 0.5));
2513
+ body.light-mode .toggle-starlight .toggle-slider {
2514
+ background: rgba(0,0,0,0.1);
2515
+ border-color: rgba(0,0,0,0.15);
2673
2516
  }
2674
2517
 
2675
- body.light-mode .accordion-starlight.accordion-item {
2676
- background: white;
2677
- border-color: #e2e8f0;
2518
+ body.light-mode .bg-starlight,
2519
+ body.light-mode .bg-starlight:hover,
2520
+ body.light-mode .hover\:bg-starlight:hover,
2521
+ body.light-mode .btn-starlight,
2522
+ body.light-mode .btn-starlight:hover,
2523
+ body.light-mode .hover\:btn-starlight:hover,
2524
+ body.light-mode .btn-primary,
2525
+ body.light-mode .btn-primary:hover {
2526
+ background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
2678
2527
  }
2679
2528
 
2680
- body.light-mode .accordion-starlight.accordion-item.active {
2681
- border-color: #3b82f6;
2682
- background: #f8fafc;
2529
+ body.light-mode .text-gradient-starlight {
2530
+ background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
2531
+ -webkit-background-clip: text !important;
2532
+ -webkit-text-fill-color: transparent !important;
2683
2533
  }
2684
2534
 
2685
- body.light-mode .accordion-starlight .accordion-header {
2686
- color: #1e293b;
2687
- }
2535
+ body.light-mode .text-success { color: #059669; }
2536
+ body.light-mode .text-warning { color: #d97706; }
2688
2537
 
2689
- body.light-mode .accordion-starlight .accordion-content {
2690
- background: #f1f5f9 !important;
2691
- color: #475569 !important;
2538
+ body.light-mode .dialog-content .bg-black\/40 {
2539
+ background-color: rgba(0, 0, 0, 0.05);
2540
+ border-color: rgba(0, 0, 0, 0.1);
2692
2541
  }
2693
2542
 
2694
2543
  @media (forced-colors: active) {
@@ -2786,7 +2635,7 @@ body.light-mode .accordion-starlight .accordion-content {
2786
2635
  -webkit-backdrop-filter: blur(16px);
2787
2636
  border-width: 1px;
2788
2637
  border-color: rgba(255, 255, 255, 0.1);
2789
- color: #3b82f6;
2638
+ color: #64748b;
2790
2639
  padding-left: 1.5rem;
2791
2640
  padding-right: 1.5rem;
2792
2641
  padding-top: 0.5rem;
@@ -2924,10 +2773,6 @@ body.light-mode .accordion-starlight .accordion-content {
2924
2773
  padding: 2rem;
2925
2774
  }
2926
2775
 
2927
- .bg-starlight-deep {
2928
- background-color: #08081a;
2929
- }
2930
-
2931
2776
  .min-h-screen {
2932
2777
  min-height: screen;
2933
2778
  }
@@ -3069,6 +2914,10 @@ body.light-mode .accordion-starlight .accordion-content {
3069
2914
  padding-bottom: 0.75rem;
3070
2915
  }
3071
2916
 
2917
+ .bg-starlight-deep {
2918
+ background-color: #08081a;
2919
+ }
2920
+
3072
2921
  .rounded-3xl {
3073
2922
  border-radius: 1.5rem;
3074
2923
  }
@@ -3186,16 +3035,12 @@ body.light-mode .accordion-starlight .accordion-content {
3186
3035
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
3187
3036
  }
3188
3037
 
3189
- .p-2 {
3190
- padding: 0.5rem;
3191
- }
3192
-
3193
- .w-5 {
3194
- width: 1.25rem;
3038
+ .w-10 {
3039
+ width: 2.5rem;
3195
3040
  }
3196
3041
 
3197
- .h-5 {
3198
- height: 1.25rem;
3042
+ .h-10 {
3043
+ height: 2.5rem;
3199
3044
  }
3200
3045
 
3201
3046
  .bg-slate-900 {
@@ -3471,36 +3316,45 @@ body.light-mode .accordion-starlight .accordion-content {
3471
3316
  cursor: pointer;
3472
3317
  }
3473
3318
 
3474
- .mt-20 {
3475
- margin-top: 5rem;
3319
+ .text-muted {
3320
+ color: var(--text-muted);
3476
3321
  }
3477
3322
 
3478
- .pt-8 {
3479
- padding-top: 2rem;
3323
+ .gap-2 {
3324
+ gap: 0.5rem;
3480
3325
  }
3481
3326
 
3482
3327
  .border-white\/10 {
3483
3328
  border-color: rgba(255, 255, 255, 0.1);
3484
3329
  }
3485
3330
 
3486
- .block {
3487
- display: block;
3331
+ .my-1 {
3332
+ margin-top: 0.25rem;
3333
+ margin-bottom: 0.25rem;
3488
3334
  }
3489
3335
 
3490
- .h-14 {
3491
- height: 3.5rem;
3336
+ .text-error {
3337
+ color: #ef4444;
3492
3338
  }
3493
3339
 
3494
- .pb-12 {
3495
- padding-bottom: 3rem;
3340
+ .p-20 {
3341
+ padding: 5rem;
3496
3342
  }
3497
3343
 
3498
- .max-w-3xl {
3499
- max-width: 3xl;
3344
+ .w-2 {
3345
+ width: 0.5rem;
3500
3346
  }
3501
3347
 
3502
- .text-muted {
3503
- color: var(--text-muted);
3348
+ .h-2 {
3349
+ height: 0.5rem;
3350
+ }
3351
+
3352
+ .bg-success {
3353
+ background-color: #10b981;
3354
+ }
3355
+
3356
+ .mr-1 {
3357
+ margin-right: 0.25rem;
3504
3358
  }
3505
3359
 
3506
3360
  .gap-3 {
@@ -3522,6 +3376,54 @@ body.light-mode .accordion-starlight .accordion-content {
3522
3376
  justify-content: center;
3523
3377
  }
3524
3378
 
3379
+ .mt-auto {
3380
+ margin-top: auto;
3381
+ }
3382
+
3383
+ .flex-1 {
3384
+ flex: 1 1 0%;
3385
+ }
3386
+
3387
+ .bg-black\/40 {
3388
+ background-color: rgba(0, 0, 0, 0.4);
3389
+ }
3390
+
3391
+ .border-white\/5 {
3392
+ border-color: rgba(255, 255, 255, 0.05);
3393
+ }
3394
+
3395
+ .text-success {
3396
+ color: #10b981;
3397
+ }
3398
+
3399
+ .text-warning {
3400
+ color: #f59e0b;
3401
+ }
3402
+
3403
+ .mt-20 {
3404
+ margin-top: 5rem;
3405
+ }
3406
+
3407
+ .pt-8 {
3408
+ padding-top: 2rem;
3409
+ }
3410
+
3411
+ .block {
3412
+ display: block;
3413
+ }
3414
+
3415
+ .h-14 {
3416
+ height: 3.5rem;
3417
+ }
3418
+
3419
+ .pb-12 {
3420
+ padding-bottom: 3rem;
3421
+ }
3422
+
3423
+ .max-w-3xl {
3424
+ max-width: 3xl;
3425
+ }
3426
+
3525
3427
  .mt-6 {
3526
3428
  margin-top: 1.5rem;
3527
3429
  }
@@ -3605,14 +3507,18 @@ body.light-mode .accordion-starlight .accordion-content {
3605
3507
  transition-duration: 500ms;
3606
3508
  }
3607
3509
 
3608
- .gap-2 {
3609
- gap: 0.5rem;
3610
- }
3611
-
3612
3510
  .mb-32 {
3613
3511
  margin-bottom: 8rem;
3614
3512
  }
3615
3513
 
3514
+ .w-5 {
3515
+ width: 1.25rem;
3516
+ }
3517
+
3518
+ .h-5 {
3519
+ height: 1.25rem;
3520
+ }
3521
+
3616
3522
  .p-16 {
3617
3523
  padding: 4rem;
3618
3524
  }
@@ -3637,8 +3543,8 @@ body.light-mode .accordion-starlight .accordion-content {
3637
3543
  left: 0px;
3638
3544
  }
3639
3545
 
3640
- .-z-10 {
3641
- z-index: -10;
3546
+ .z-0 {
3547
+ z-index: 0;
3642
3548
  }
3643
3549
 
3644
3550
  .h-24 {
@@ -3685,10 +3591,6 @@ body.light-mode .accordion-starlight .accordion-content {
3685
3591
  padding: 0.25rem;
3686
3592
  }
3687
3593
 
3688
- .bg-black\/40 {
3689
- background-color: rgba(0, 0, 0, 0.4);
3690
- }
3691
-
3692
3594
  .max-w-none {
3693
3595
  max-width: none;
3694
3596
  }
@@ -3697,14 +3599,6 @@ body.light-mode .accordion-starlight .accordion-content {
3697
3599
  margin-top: 2.5rem;
3698
3600
  }
3699
3601
 
3700
- .w-2 {
3701
- width: 0.5rem;
3702
- }
3703
-
3704
- .h-10 {
3705
- height: 2.5rem;
3706
- }
3707
-
3708
3602
  .border-l-4 {
3709
3603
  border-left-width: 4px;
3710
3604
  }
@@ -3733,10 +3627,6 @@ body.light-mode .accordion-starlight .accordion-content {
3733
3627
  background-color: rgba(255, 255, 255, 0.1);
3734
3628
  }
3735
3629
 
3736
- .border-white\/5 {
3737
- border-color: rgba(255, 255, 255, 0.05);
3738
- }
3739
-
3740
3630
  .hover\:bg-white\/5:hover {
3741
3631
  background-color: rgba(255, 255, 255, 0.05);
3742
3632
  }
@@ -3777,10 +3667,6 @@ body.light-mode .accordion-starlight .accordion-content {
3777
3667
  max-width: 5xl;
3778
3668
  }
3779
3669
 
3780
- .flex-1 {
3781
- flex: 1 1 0%;
3782
- }
3783
-
3784
3670
  .mb-3 {
3785
3671
  margin-bottom: 0.75rem;
3786
3672
  }
@@ -3898,8 +3784,12 @@ body.light-mode .accordion-starlight .accordion-content {
3898
3784
  background-color: #e2e8f0;
3899
3785
  }
3900
3786
 
3901
- .right-0 {
3902
- right: 0px;
3787
+ .-top-1 {
3788
+ top: -0.25rem;
3789
+ }
3790
+
3791
+ .-right-1 {
3792
+ right: -0.25rem;
3903
3793
  }
3904
3794
 
3905
3795
  .bg-orange-600 {
@@ -3922,10 +3812,6 @@ body.light-mode .accordion-starlight .accordion-content {
3922
3812
  color: #0f172a;
3923
3813
  }
3924
3814
 
3925
- .w-10 {
3926
- width: 2.5rem;
3927
- }
3928
-
3929
3815
  .min-w-0 {
3930
3816
  min-width: 0;
3931
3817
  }