@psnext/design-system 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +30 -124
  2. package/dist/Stack.cjs +64 -0
  3. package/dist/Stack.cjs.map +1 -0
  4. package/dist/Stack.js +54 -0
  5. package/dist/Stack.js.map +1 -0
  6. package/dist/ThemeProvider.cjs +1886 -0
  7. package/dist/ThemeProvider.cjs.map +1 -0
  8. package/dist/ThemeProvider.d.cts +85 -0
  9. package/dist/ThemeProvider.d.cts.map +1 -0
  10. package/dist/ThemeProvider.d.ts +85 -0
  11. package/dist/ThemeProvider.d.ts.map +1 -0
  12. package/dist/ThemeProvider.js +1508 -0
  13. package/dist/ThemeProvider.js.map +1 -0
  14. package/dist/contexts/index.cjs +0 -60
  15. package/dist/contexts/index.d.cts +1 -23
  16. package/dist/contexts/index.d.ts +1 -23
  17. package/dist/contexts/index.js +1 -58
  18. package/dist/index.cjs +147 -72
  19. package/dist/index.d.cts +1009 -432
  20. package/dist/index.d.cts.map +1 -1
  21. package/dist/index.d.ts +1014 -437
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +6 -7
  24. package/dist/index2.d.cts +4 -16
  25. package/dist/index2.d.ts +4 -16
  26. package/dist/layouts/index.cjs +100 -12
  27. package/dist/layouts/index.cjs.map +1 -0
  28. package/dist/layouts/index.d.cts +70 -127
  29. package/dist/layouts/index.d.cts.map +1 -1
  30. package/dist/layouts/index.d.ts +70 -127
  31. package/dist/layouts/index.d.ts.map +1 -1
  32. package/dist/layouts/index.js +92 -2
  33. package/dist/layouts/index.js.map +1 -0
  34. package/dist/patterns/index.cjs +1004 -7254
  35. package/dist/patterns/index.cjs.map +1 -1
  36. package/dist/patterns/index.d.cts +381 -389
  37. package/dist/patterns/index.d.cts.map +1 -1
  38. package/dist/patterns/index.d.ts +378 -386
  39. package/dist/patterns/index.d.ts.map +1 -1
  40. package/dist/patterns/index.js +970 -7225
  41. package/dist/patterns/index.js.map +1 -1
  42. package/dist/primitives/index.cjs +135 -55
  43. package/dist/primitives/index.d.cts +3 -2
  44. package/dist/primitives/index.d.ts +3 -2
  45. package/dist/primitives/index.js +3 -5
  46. package/dist/primitives.cjs +3961 -1274
  47. package/dist/primitives.cjs.map +1 -1
  48. package/dist/primitives.js +3551 -1001
  49. package/dist/primitives.js.map +1 -1
  50. package/dist/styles/base.css +43 -0
  51. package/dist/styles/glass.css +75 -0
  52. package/dist/styles/index.css +43 -23
  53. package/dist/styles/semantic.css +107 -0
  54. package/dist/styles/theme.css +42 -24
  55. package/dist/styles/tokens/alpha.css +39 -0
  56. package/dist/styles/tokens/border-radius.css +17 -0
  57. package/dist/styles/tokens/chart-colors-dark.css +18 -0
  58. package/dist/styles/tokens/chart-colors-light.css +18 -0
  59. package/dist/styles/tokens/colors.css +251 -0
  60. package/dist/styles/tokens/mode-dark.css +101 -0
  61. package/dist/styles/tokens/mode-light.css +101 -0
  62. package/dist/styles/tokens/shadows.css +14 -0
  63. package/dist/styles/tokens/spacing.css +44 -0
  64. package/dist/styles/tokens/theme-bodhi.css +35 -0
  65. package/dist/styles/tokens/theme-slingshot.css +35 -0
  66. package/dist/styles/tokens/theme-sustain.css +35 -0
  67. package/dist/styles/tokens/typography.css +83 -0
  68. package/dist/utils.cjs +67 -0
  69. package/dist/utils.cjs.map +1 -0
  70. package/dist/utils.js +27 -0
  71. package/dist/utils.js.map +1 -0
  72. package/package.json +15 -41
  73. package/dist/AiChatPanel.cjs +0 -1603
  74. package/dist/AiChatPanel.cjs.map +0 -1
  75. package/dist/AiChatPanel.js +0 -1526
  76. package/dist/AiChatPanel.js.map +0 -1
  77. package/dist/BodhiLogo.cjs +0 -240
  78. package/dist/BodhiLogo.cjs.map +0 -1
  79. package/dist/BodhiLogo.js +0 -194
  80. package/dist/BodhiLogo.js.map +0 -1
  81. package/dist/Skeleton.cjs +0 -19
  82. package/dist/Skeleton.cjs.map +0 -1
  83. package/dist/Skeleton.js +0 -14
  84. package/dist/Skeleton.js.map +0 -1
  85. package/dist/SustainLogo.cjs +0 -415
  86. package/dist/SustainLogo.cjs.map +0 -1
  87. package/dist/SustainLogo.js +0 -378
  88. package/dist/SustainLogo.js.map +0 -1
  89. package/dist/contexts/index.cjs.map +0 -1
  90. package/dist/contexts/index.d.cts.map +0 -1
  91. package/dist/contexts/index.d.ts.map +0 -1
  92. package/dist/contexts/index.js.map +0 -1
  93. package/dist/index2.d.cts.map +0 -1
  94. package/dist/index2.d.ts.map +0 -1
  95. package/dist/layouts.cjs +0 -3245
  96. package/dist/layouts.cjs.map +0 -1
  97. package/dist/layouts.js +0 -3180
  98. package/dist/layouts.js.map +0 -1
  99. package/dist/styles/base/colors.css +0 -300
  100. package/dist/styles/base/component-tokens.css +0 -240
  101. package/dist/styles/base/elevation.css +0 -7
  102. package/dist/styles/base/fonts.css +0 -14
  103. package/dist/styles/base/global.css +0 -305
  104. package/dist/styles/base/radius.css +0 -22
  105. package/dist/styles/base/semantic-aliases.css +0 -53
  106. package/dist/styles/base/spacing.css +0 -33
  107. package/dist/styles/base/typography.css +0 -48
  108. package/dist/styles/generated/bodhi-vars.css +0 -34
  109. package/dist/styles/generated/dark.css +0 -87
  110. package/dist/styles/generated/light.css +0 -87
  111. package/dist/styles/generated/slingshot-vars.css +0 -34
  112. package/dist/styles/generated/sustain-vars.css +0 -34
  113. package/dist/styles/themes/bodhi.css +0 -166
  114. package/dist/styles/themes/slingshot.css +0 -144
  115. package/dist/styles/themes/sustain.css +0 -130
@@ -1,34 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- .theme-slingshot {
6
- --brand-neutrals-50: #F9FAFB;
7
- --brand-neutrals-100: #F3F4F6;
8
- --brand-neutrals-200: #E5E7EB;
9
- --brand-neutrals-300: #D1D5DB;
10
- --brand-neutrals-400: #9CA3AF;
11
- --brand-neutrals-500: #6B7280;
12
- --brand-neutrals-600: #4B5563;
13
- --brand-neutrals-700: #374151;
14
- --brand-neutrals-800: #1F2937;
15
- --brand-neutrals-900: #111827;
16
- --brand-neutrals-950: #030712;
17
- --brand-shades-50: #FEF2F2;
18
- --brand-shades-100: #FFE2E2;
19
- --brand-shades-200: #FECACA;
20
- --brand-shades-300: #FCA5A5;
21
- --brand-shades-400: #F87171;
22
- --brand-shades-500: #EF4444;
23
- --brand-shades-600: #DC2626;
24
- --brand-shades-700: #B91C1C;
25
- --brand-shades-800: #991B1B;
26
- --brand-shades-900: #7F1D1D;
27
- --brand-shades-950: #450A0A;
28
- --brand-combinations-1-brand: #EF4444;
29
- --brand-combinations-1-brand-foreground: #FFFFFF;
30
- --brand-combinations-2-brand: #FECACA;
31
- --brand-combinations-2-brand-foreground: #991B1B;
32
- --brand-combinations-3-brand: #450A0A;
33
- --brand-combinations-3-brand-foreground: #FCA5A5;
34
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- .theme-sustain {
6
- --brand-neutrals-50: #F9FAFB;
7
- --brand-neutrals-100: #F3F4F6;
8
- --brand-neutrals-200: #E5E7EB;
9
- --brand-neutrals-300: #D1D5DB;
10
- --brand-neutrals-400: #9CA3AF;
11
- --brand-neutrals-500: #6B7280;
12
- --brand-neutrals-600: #4B5563;
13
- --brand-neutrals-700: #374151;
14
- --brand-neutrals-800: #1F2937;
15
- --brand-neutrals-900: #111827;
16
- --brand-neutrals-950: #030712;
17
- --brand-shades-50: #F5F3FF;
18
- --brand-shades-100: #EDE9FE;
19
- --brand-shades-200: #DDD6FE;
20
- --brand-shades-300: #C4B5FD;
21
- --brand-shades-400: #A78BFA;
22
- --brand-shades-500: #EF4444;
23
- --brand-shades-600: #7C3AED;
24
- --brand-shades-700: #6D28D9;
25
- --brand-shades-800: #5B21B6;
26
- --brand-shades-900: #4C1D95;
27
- --brand-shades-950: #2E1065;
28
- --brand-combinations-1-brand: #EF4444;
29
- --brand-combinations-1-brand-foreground: #FFFFFF;
30
- --brand-combinations-2-brand: #DDD6FE;
31
- --brand-combinations-2-brand-foreground: #5B21B6;
32
- --brand-combinations-3-brand: #2E1065;
33
- --brand-combinations-3-brand-foreground: #C4B5FD;
34
- }
@@ -1,166 +0,0 @@
1
- /* Bodhi Theme — Blue brand */
2
-
3
- .theme-bodhi {
4
- --bodhi-primary: var(--color-blue-950);
5
- --bodhi-secondary: var(--color-blue-300);
6
- --bodhi-accent: var(--color-blue-950);
7
- --bodhi-surface: var(--color-slate-50);
8
- --bodhi-background: var(--color-white);
9
-
10
- --background: var(--bodhi-background);
11
- --foreground: var(--color-gray-950);
12
- --card: var(--color-white);
13
- --card-foreground: var(--color-gray-950);
14
- --popover: var(--color-gray-800);
15
- --popover-foreground: var(--color-white);
16
- --primary: var(--color-gray-950);
17
- --primary-foreground: var(--color-gray-50);
18
- --secondary: var(--color-gray-100);
19
- --secondary-foreground: var(--color-gray-900);
20
- --muted: var(--color-gray-100);
21
- --muted-foreground: var(--color-gray-500);
22
- --accent: var(--color-gray-100);
23
- --accent-foreground: var(--color-gray-900);
24
- --destructive: var(--color-red-600);
25
- --destructive-foreground: var(--color-white);
26
- --border: var(--color-gray-200);
27
- --input: var(--color-white);
28
- --input-background: var(--color-white);
29
- --ring: var(--color-gray-300);
30
-
31
- /* Glass morphism — slate tint */
32
- --glass-heavy: rgba(248, 250, 252, 0.8);
33
- --glass-strong: rgba(248, 250, 252, 0.8);
34
- --glass-subtle: rgba(248, 250, 252, 0.3);
35
- --glass-light: rgba(248, 250, 252, 0.5);
36
- --glass-medium: rgba(226, 232, 240, 0.5);
37
-
38
- --nav-active-bg: var(--color-white);
39
- --tile-bg: var(--color-white);
40
- --tile-hover-bg: rgba(255, 255, 255, 0.4);
41
- --tile-button-bg: var(--color-white);
42
- --tile-button-hover-bg: var(--color-gray-900);
43
- --tile-button-hover-text: var(--color-gray-50);
44
-
45
- /* Gradient — Bodhi light (blue tint) */
46
- --gradient-stop-0: var(--color-slate-200);
47
- --gradient-stop-1: var(--bodhi-secondary);
48
- --gradient-stop-2: var(--color-slate-200);
49
- --radial-gradient-bg: radial-gradient(
50
- circle at 90% 10%,
51
- var(--gradient-stop-0) 0%,
52
- var(--gradient-stop-1) 25%,
53
- var(--gradient-stop-2) 60%
54
- );
55
-
56
- /* Sidebar */
57
- --sidebar: var(--color-gray-50);
58
- --sidebar-foreground: var(--color-slate-600);
59
- --sidebar-primary: var(--bodhi-primary);
60
- --sidebar-primary-foreground: var(--color-white);
61
- --sidebar-accent: var(--color-slate-200);
62
- --sidebar-accent-foreground: var(--color-slate-800);
63
- --sidebar-border: var(--color-slate-200);
64
- --sidebar-ring: var(--color-slate-400);
65
-
66
- /* Logo / icon colors */
67
- --logo-circle-bg: var(--color-white);
68
- --logo-icon-red: var(--color-red-500);
69
- --logo-text-dark: var(--color-gray-950);
70
-
71
- --slingshot-primary-red: var(--color-red-500);
72
- --slingshot-accent-white: var(--color-white);
73
- --slingshot-text-dark: var(--color-gray-950);
74
-
75
- --sustain-primary-red: var(--color-red-500);
76
- --sustain-accent-white: var(--color-white);
77
- --sustain-text-dark: var(--color-gray-950);
78
- --sustain-circle-bg: var(--color-white);
79
-
80
- --psai-primary-red: var(--color-red-500);
81
- --psai-accent-white: var(--color-white);
82
- --psai-text-dark: var(--color-gray-950);
83
- }
84
-
85
- /* Bodhi Theme — Dark Mode */
86
- html.theme-bodhi.dark {
87
- --bodhi-primary: var(--color-blue-950);
88
- --bodhi-secondary: var(--color-blue-950);
89
- --bodhi-accent: var(--color-blue-300);
90
- --bodhi-surface: var(--color-slate-800);
91
- --bodhi-background: var(--color-slate-900);
92
-
93
- --background: var(--bodhi-background);
94
- --foreground: var(--color-gray-50);
95
- --card: var(--color-gray-800);
96
- --card-foreground: var(--color-gray-50);
97
- --popover: var(--color-gray-800);
98
- --popover-foreground: var(--color-gray-50);
99
- --primary: var(--color-gray-50);
100
- --primary-foreground: var(--color-gray-900);
101
- --secondary: var(--color-gray-700);
102
- --secondary-foreground: var(--color-gray-50);
103
- --muted: var(--color-gray-700);
104
- --muted-foreground: var(--color-gray-400);
105
- --accent: var(--color-gray-700);
106
- --accent-foreground: var(--color-gray-50);
107
- --destructive: var(--color-red-600);
108
- --destructive-foreground: var(--color-gray-50);
109
- --border: var(--color-gray-700);
110
- --input: var(--color-gray-700);
111
- --input-background: rgba(255, 255, 255, 0.05);
112
- --ring: var(--color-gray-500);
113
-
114
- /* Glass morphism — slate-800 alpha */
115
- --glass-heavy: rgba(30, 41, 59, 0.8);
116
- --glass-strong: rgba(30, 41, 59, 0.8);
117
- --glass-subtle: rgba(30, 41, 59, 0.3);
118
- --glass-light: rgba(30, 41, 59, 0.5);
119
- --glass-medium: rgba(51, 65, 85, 0.5);
120
-
121
- --nav-active-bg: var(--color-gray-700);
122
- --tile-bg: var(--color-gray-800);
123
- --tile-hover-bg: rgba(31, 40, 50, 0.4);
124
- --tile-button-bg: var(--color-gray-800);
125
- --tile-button-hover-bg: var(--color-gray-50);
126
- --tile-button-hover-text: var(--color-gray-900);
127
-
128
- /* Gradient — Bodhi dark (deep blue) */
129
- --gradient-stop-0: var(--color-gray-950);
130
- --gradient-stop-1: var(--color-blue-950);
131
- --gradient-stop-2: var(--color-gray-950);
132
- --radial-gradient-bg: radial-gradient(
133
- circle at 90% 10%,
134
- var(--gradient-stop-0) 0%,
135
- var(--gradient-stop-1) 25%,
136
- var(--gradient-stop-2) 60%
137
- );
138
-
139
- /* Sidebar */
140
- --sidebar: var(--bodhi-surface);
141
- --sidebar-foreground: var(--color-slate-300);
142
- --sidebar-primary: var(--bodhi-primary);
143
- --sidebar-primary-foreground: var(--color-slate-900);
144
- --sidebar-accent: var(--color-slate-700);
145
- --sidebar-accent-foreground: var(--color-slate-50);
146
- --sidebar-border: var(--color-slate-700);
147
- --sidebar-ring: var(--color-slate-500);
148
-
149
- /* Logo / icon colors */
150
- --logo-circle-bg: var(--color-neutral-900);
151
- --logo-icon-red: var(--color-red-500);
152
- --logo-text-dark: var(--color-white);
153
-
154
- --slingshot-primary-red: var(--color-red-500);
155
- --slingshot-accent-white: var(--color-gray-200);
156
- --slingshot-text-dark: var(--color-gray-950);
157
-
158
- --sustain-primary-red: var(--color-red-500);
159
- --sustain-accent-white: var(--color-gray-200);
160
- --sustain-text-dark: var(--color-gray-950);
161
- --sustain-circle-bg: var(--color-neutral-900);
162
-
163
- --psai-primary-red: var(--color-red-500);
164
- --psai-accent-white: var(--color-gray-200);
165
- --psai-text-dark: var(--color-white);
166
- }
@@ -1,144 +0,0 @@
1
- /* Slingshot Theme — Red brand */
2
-
3
- .theme-slingshot {
4
- --slingshot-primary: var(--color-red-500);
5
- --slingshot-secondary: var(--color-red-200);
6
- --slingshot-accent: var(--color-red-500);
7
- --slingshot-surface: var(--color-gray-50);
8
- --slingshot-background: var(--color-white);
9
-
10
- --background: var(--slingshot-surface);
11
- --foreground: var(--color-gray-950);
12
- --card: var(--color-white);
13
- --card-foreground: var(--color-gray-950);
14
- --popover: var(--color-gray-800);
15
- --popover-foreground: var(--color-white);
16
- --primary: var(--color-gray-950);
17
- --primary-foreground: var(--color-gray-50);
18
- --secondary: var(--color-gray-100);
19
- --secondary-foreground: var(--color-gray-900);
20
- --muted: var(--color-gray-100);
21
- --muted-foreground: var(--color-gray-500);
22
- --accent: var(--color-gray-100);
23
- --accent-foreground: var(--color-gray-900);
24
- --destructive: var(--color-red-600);
25
- --destructive-foreground: var(--color-white);
26
- --border: var(--color-gray-200);
27
- --input: var(--color-white);
28
- --input-background: var(--color-white);
29
- --ring: var(--color-gray-300);
30
-
31
- /* Glass morphism */
32
- --glass-heavy: rgba(255, 255, 255, 0.6);
33
- --glass-strong: rgba(255, 255, 255, 0.6);
34
- --glass-subtle: rgba(255, 255, 255, 0.2);
35
- --glass-light: rgba(255, 255, 255, 0.4);
36
- --glass-medium: rgba(255, 255, 255, 0.5);
37
-
38
- --nav-active-bg: var(--color-white);
39
- --tile-bg: var(--color-white);
40
- --tile-hover-bg: rgba(255, 255, 255, 0.4);
41
- --tile-button-bg: var(--color-white);
42
- --tile-button-hover-bg: var(--color-gray-900);
43
- --tile-button-hover-text: var(--color-gray-50);
44
-
45
- /* Gradient — Slingshot light (red tint) */
46
- --gradient-stop-0: var(--color-slate-200);
47
- --gradient-stop-1: var(--slingshot-secondary);
48
- --gradient-stop-2: var(--color-slate-200);
49
- --radial-gradient-bg: radial-gradient(
50
- circle at 90% 10%,
51
- var(--gradient-stop-0) 0%,
52
- var(--gradient-stop-1) 25%,
53
- var(--gradient-stop-2) 60%
54
- );
55
-
56
- /* Sidebar */
57
- --sidebar: var(--color-gray-50);
58
- --sidebar-foreground: var(--color-gray-700);
59
- --sidebar-primary: var(--color-gray-900);
60
- --sidebar-primary-foreground: var(--color-gray-50);
61
- --sidebar-accent: var(--color-gray-100);
62
- --sidebar-accent-foreground: var(--color-gray-900);
63
- --sidebar-border: var(--color-gray-200);
64
- --sidebar-ring: var(--color-gray-300);
65
-
66
- /* Charts */
67
- --chart-1: var(--slingshot-secondary);
68
- --chart-2: var(--slingshot-accent);
69
- --chart-3: var(--color-cyan-900);
70
- --chart-4: var(--color-amber-400);
71
- --chart-5: var(--color-amber-500);
72
- }
73
-
74
- /* Slingshot Theme — Dark Mode */
75
- html.theme-slingshot.dark {
76
- --slingshot-primary: var(--color-red-500);
77
- --slingshot-secondary: var(--color-orange-500);
78
- --slingshot-accent: var(--color-red-200);
79
- --slingshot-surface: var(--color-gray-800);
80
- --slingshot-background: var(--color-gray-900);
81
-
82
- --background: var(--slingshot-surface);
83
- --foreground: var(--color-gray-50);
84
- --card: var(--color-gray-800);
85
- --card-foreground: var(--color-gray-50);
86
- --popover: var(--color-gray-800);
87
- --popover-foreground: var(--color-gray-50);
88
- --primary: var(--color-gray-50);
89
- --primary-foreground: var(--color-gray-900);
90
- --secondary: var(--color-gray-700);
91
- --secondary-foreground: var(--color-gray-50);
92
- --muted: var(--color-gray-700);
93
- --muted-foreground: var(--color-gray-400);
94
- --accent: var(--color-gray-700);
95
- --accent-foreground: var(--color-gray-50);
96
- --destructive: var(--color-red-600);
97
- --destructive-foreground: var(--color-gray-50);
98
- --border: var(--color-gray-700);
99
- --input: var(--color-gray-700);
100
- --input-background: rgba(255, 255, 255, 0.05);
101
- --ring: var(--color-gray-500);
102
-
103
- /* Glass morphism */
104
- --glass-heavy: rgba(31, 40, 50, 0.8);
105
- --glass-strong: rgba(31, 40, 50, 0.8);
106
- --glass-subtle: rgba(31, 40, 50, 0.3);
107
- --glass-light: rgba(31, 40, 50, 0.5);
108
- --glass-medium: rgba(55, 65, 81, 0.5);
109
-
110
- --nav-active-bg: var(--color-gray-700);
111
- --tile-bg: var(--color-gray-800);
112
- --tile-hover-bg: rgba(31, 40, 50, 0.4);
113
- --tile-button-bg: var(--color-gray-800);
114
- --tile-button-hover-bg: var(--color-gray-50);
115
- --tile-button-hover-text: var(--color-gray-900);
116
-
117
- /* Gradient — Slingshot dark (deep red) */
118
- --gradient-stop-0: var(--color-gray-950);
119
- --gradient-stop-1: var(--color-red-950);
120
- --gradient-stop-2: var(--color-gray-950);
121
- --radial-gradient-bg: radial-gradient(
122
- circle at 90% 10%,
123
- var(--gradient-stop-0) 0%,
124
- var(--gradient-stop-1) 25%,
125
- var(--gradient-stop-2) 60%
126
- );
127
-
128
- /* Sidebar */
129
- --sidebar: var(--color-gray-800);
130
- --sidebar-foreground: var(--color-gray-300);
131
- --sidebar-primary: var(--color-gray-50);
132
- --sidebar-primary-foreground: var(--color-gray-900);
133
- --sidebar-accent: var(--color-gray-700);
134
- --sidebar-accent-foreground: var(--color-gray-50);
135
- --sidebar-border: var(--color-gray-700);
136
- --sidebar-ring: var(--color-gray-500);
137
-
138
- /* Charts */
139
- --chart-1: var(--slingshot-secondary);
140
- --chart-2: var(--slingshot-accent);
141
- --chart-3: var(--color-cyan-900);
142
- --chart-4: var(--color-amber-400);
143
- --chart-5: var(--color-amber-500);
144
- }
@@ -1,130 +0,0 @@
1
- /* Sustain Theme — Indigo brand */
2
-
3
- .theme-sustain {
4
- --sustain-primary: var(--color-indigo-800);
5
- --sustain-secondary: var(--color-indigo-300);
6
- --sustain-accent: var(--color-indigo-800);
7
- --sustain-surface: var(--color-indigo-50);
8
- --sustain-background: var(--color-indigo-50);
9
-
10
- --background: var(--sustain-surface);
11
- --foreground: var(--color-gray-950);
12
- --card: var(--color-white);
13
- --card-foreground: var(--color-gray-950);
14
- --popover: var(--color-gray-800);
15
- --popover-foreground: var(--color-white);
16
- --primary: var(--color-gray-950);
17
- --primary-foreground: var(--color-gray-50);
18
- --secondary: var(--color-gray-100);
19
- --secondary-foreground: var(--color-gray-900);
20
- --muted: var(--color-gray-100);
21
- --muted-foreground: var(--color-gray-500);
22
- --accent: var(--color-gray-100);
23
- --accent-foreground: var(--color-gray-900);
24
- --destructive: var(--color-red-600);
25
- --destructive-foreground: var(--color-white);
26
- --border: var(--color-gray-200);
27
- --input: var(--color-white);
28
- --input-background: var(--color-white);
29
- --ring: var(--color-gray-300);
30
-
31
- /* Glass morphism */
32
- --glass-heavy: rgba(255, 255, 255, 0.6);
33
- --glass-strong: rgba(255, 255, 255, 0.6);
34
- --glass-subtle: rgba(255, 255, 255, 0.2);
35
- --glass-light: rgba(255, 255, 255, 0.4);
36
- --glass-medium: rgba(255, 255, 255, 0.5);
37
-
38
- --nav-active-bg: var(--color-white);
39
- --tile-bg: var(--color-white);
40
- --tile-hover-bg: rgba(255, 255, 255, 0.4);
41
- --tile-button-bg: var(--color-white);
42
- --tile-button-hover-bg: var(--color-gray-900);
43
- --tile-button-hover-text: var(--color-gray-50);
44
-
45
- /* Gradient — Sustain light (indigo tint) */
46
- --gradient-stop-0: var(--color-slate-200);
47
- --gradient-stop-1: var(--sustain-secondary);
48
- --gradient-stop-2: var(--color-slate-200);
49
- --radial-gradient-bg: radial-gradient(
50
- circle at 90% 10%,
51
- var(--gradient-stop-0) 0%,
52
- var(--gradient-stop-1) 25%,
53
- var(--gradient-stop-2) 60%
54
- );
55
-
56
- /* Sidebar */
57
- --sidebar: var(--color-gray-50);
58
- --sidebar-foreground: var(--color-gray-700);
59
- --sidebar-primary: var(--color-gray-900);
60
- --sidebar-primary-foreground: var(--color-gray-50);
61
- --sidebar-accent: var(--color-gray-100);
62
- --sidebar-accent-foreground: var(--color-gray-900);
63
- --sidebar-border: var(--color-gray-200);
64
- --sidebar-ring: var(--color-gray-300);
65
- }
66
-
67
- /* Sustain Theme — Dark Mode */
68
- html.theme-sustain.dark {
69
- --sustain-primary: var(--color-indigo-950);
70
- --sustain-secondary: var(--color-indigo-950);
71
- --sustain-accent: var(--color-indigo-950);
72
- --sustain-surface: var(--color-indigo-950);
73
- --sustain-background: var(--color-indigo-950);
74
-
75
- --background: var(--sustain-surface);
76
- --foreground: var(--color-gray-50);
77
- --card: var(--color-gray-800);
78
- --card-foreground: var(--color-gray-50);
79
- --popover: var(--color-gray-800);
80
- --popover-foreground: var(--color-gray-50);
81
- --primary: var(--color-gray-50);
82
- --primary-foreground: var(--color-gray-900);
83
- --secondary: var(--color-gray-700);
84
- --secondary-foreground: var(--color-gray-50);
85
- --muted: var(--color-gray-700);
86
- --muted-foreground: var(--color-gray-400);
87
- --accent: var(--color-gray-700);
88
- --accent-foreground: var(--color-gray-50);
89
- --destructive: var(--color-red-600);
90
- --destructive-foreground: var(--color-gray-50);
91
- --border: var(--color-gray-700);
92
- --input: var(--color-gray-700);
93
- --input-background: rgba(255, 255, 255, 0.05);
94
- --ring: var(--color-gray-500);
95
-
96
- /* Glass morphism */
97
- --glass-heavy: rgba(31, 40, 50, 0.8);
98
- --glass-strong: rgba(31, 40, 50, 0.8);
99
- --glass-subtle: rgba(31, 40, 50, 0.3);
100
- --glass-light: rgba(31, 40, 50, 0.5);
101
- --glass-medium: rgba(55, 65, 81, 0.5);
102
-
103
- --nav-active-bg: var(--color-gray-700);
104
- --tile-bg: var(--color-gray-800);
105
- --tile-hover-bg: rgba(31, 40, 50, 0.4);
106
- --tile-button-bg: var(--color-gray-800);
107
- --tile-button-hover-bg: var(--color-gray-50);
108
- --tile-button-hover-text: var(--color-gray-900);
109
-
110
- /* Gradient — Sustain dark (deep indigo) */
111
- --gradient-stop-0: var(--color-gray-950);
112
- --gradient-stop-1: var(--sustain-primary);
113
- --gradient-stop-2: var(--color-gray-950);
114
- --radial-gradient-bg: radial-gradient(
115
- circle at 90% 10%,
116
- var(--gradient-stop-0) 0%,
117
- var(--gradient-stop-1) 25%,
118
- var(--gradient-stop-2) 60%
119
- );
120
-
121
- /* Sidebar */
122
- --sidebar: var(--color-gray-800);
123
- --sidebar-foreground: var(--color-gray-300);
124
- --sidebar-primary: var(--color-gray-50);
125
- --sidebar-primary-foreground: var(--color-gray-900);
126
- --sidebar-accent: var(--color-gray-700);
127
- --sidebar-accent-foreground: var(--color-gray-50);
128
- --sidebar-border: var(--color-gray-700);
129
- --sidebar-ring: var(--color-gray-500);
130
- }