@srcroot/ui 0.0.36 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -22,7 +22,12 @@ var THEME_METADATA = {
22
22
  neutral: { name: "Neutral", description: "Pure gray, no undertones" },
23
23
  stone: { name: "Stone", description: "Warm gray with brown undertones" },
24
24
  zinc: { name: "Zinc", description: "Cool gray with subtle blue undertones" },
25
- gray: { name: "Gray", description: "True neutral gray" }
25
+ gray: { name: "Gray", description: "True neutral gray" },
26
+ violet: { name: "Violet", description: "Vibrant purple and magenta" },
27
+ rose: { name: "Rose", description: "Soft and elegant pinkish-red" },
28
+ blue: { name: "Blue", description: "Trustworthy corporate blue" },
29
+ green: { name: "Green", description: "Nature and success green" },
30
+ orange: { name: "Orange", description: "Energetic and creative orange" }
26
31
  };
27
32
  var ThemeService = class {
28
33
  registryThemesPath;
@@ -354,13 +359,9 @@ Manually run: ${cfg.packageManager} ${cfg.installCmd} ${deps.join(" ")}`);
354
359
  }
355
360
  }
356
361
  printSuccess() {
357
- const cfg = this.config;
358
362
  logger.success("\n\u2705 Project initialized successfully!\n");
359
- console.log(`Theme: ${cfg.selectedTheme}`);
360
- console.log(`Tailwind: ${cfg.isTailwind4 ? "v4" : "v3"}`);
361
- console.log("\n\u2728 Next steps:");
362
- console.log(" 1. npx @srcroot/ui add button");
363
- console.log(" 2. npx @srcroot/ui add --all");
363
+ console.log("\u2728 Next steps:");
364
+ console.log(" 1. npx @srcroot/ui add --all");
364
365
  console.log();
365
366
  }
366
367
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@srcroot/ui",
3
- "version": "0.0.36",
3
+ "version": "0.0.39",
4
4
  "description": "A UI library with polymorphic, accessible React components",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @srcroot/ui - Blue Theme (Tailwind 3)
3
+ * Trustworthy corporate blue
4
+ */
5
+
6
+ @tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer base {
11
+ :root {
12
+ --background: 0 0% 100%;
13
+ --foreground: 221.2 83.2% 53.3%;
14
+
15
+ --card: 0 0% 100%;
16
+ --card-foreground: 221.2 83.2% 53.3%;
17
+
18
+ --popover: 0 0% 100%;
19
+ --popover-foreground: 221.2 83.2% 53.3%;
20
+
21
+ --primary: 221.2 83.2% 53.3%;
22
+ --primary-foreground: 210 40% 98%;
23
+
24
+ --secondary: 221.2 30% 96.1%;
25
+ --secondary-foreground: 221.2 83.2% 53.3%;
26
+
27
+ --muted: 221.2 30% 96.1%;
28
+ --muted-foreground: 221.2 10% 45%;
29
+
30
+ --accent: 221.2 30% 96.1%;
31
+ --accent-foreground: 221.2 83.2% 53.3%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 0 0% 98%;
35
+
36
+ --success: 142.1 76.2% 36.3%;
37
+ --success-foreground: 0 0% 98%;
38
+
39
+ --warning: 45.4 93.4% 47.5%;
40
+ --warning-foreground: 221.2 83.2% 53.3%;
41
+
42
+ --info: 201.3 96.3% 32.2%;
43
+ --info-foreground: 0 0% 98%;
44
+
45
+ --border: 221.2 20% 90%;
46
+ --input: 221.2 20% 90%;
47
+ --ring: 221.2 83.2% 53.3%;
48
+
49
+ --radius: 0.5rem;
50
+
51
+ --sidebar-width: 16rem;
52
+ --sidebar-width-mobile: 18rem;
53
+ --sidebar-width-collapsed: 3rem;
54
+ --sidebar-width-icon: 3rem;
55
+ --header-height: 3.5rem;
56
+
57
+ --sidebar-background: 0 0% 98%;
58
+ --sidebar-foreground: 221.2 83.2% 53.3%;
59
+ --sidebar-primary: 221.2 83.2% 53.3%;
60
+ --sidebar-primary-foreground: 210 40% 98%;
61
+ --sidebar-accent: 221.2 30% 96.1%;
62
+ --sidebar-accent-foreground: 221.2 83.2% 53.3%;
63
+ --sidebar-border: 221.2 20% 90%;
64
+ --sidebar-ring: 221.2 83.2% 53.3%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 221.2 40% 6%;
69
+ --foreground: 210 40% 98%;
70
+
71
+ --card: 221.2 40% 8%;
72
+ --card-foreground: 210 40% 98%;
73
+
74
+ --popover: 221.2 40% 8%;
75
+ --popover-foreground: 210 40% 98%;
76
+
77
+ --primary: 221.2 83.2% 53.3%;
78
+ --primary-foreground: 210 40% 98%;
79
+
80
+ --secondary: 221.2 30% 15%;
81
+ --secondary-foreground: 210 40% 98%;
82
+
83
+ --muted: 221.2 30% 15%;
84
+ --muted-foreground: 221.2 20% 65%;
85
+
86
+ --accent: 221.2 30% 15%;
87
+ --accent-foreground: 210 40% 98%;
88
+
89
+ --destructive: 0 62.8% 30.6%;
90
+ --destructive-foreground: 0 0% 98%;
91
+
92
+ --success: 142.1 70.6% 45.3%;
93
+ --success-foreground: 221.2 83.2% 53.3%;
94
+
95
+ --warning: 48 96.5% 53.1%;
96
+ --warning-foreground: 221.2 83.2% 53.3%;
97
+
98
+ --info: 199.4 95.5% 53.8%;
99
+ --info-foreground: 221.2 83.2% 53.3%;
100
+
101
+ --border: 221.2 30% 18%;
102
+ --input: 221.2 30% 18%;
103
+ --ring: 221.2 83.2% 53.3%;
104
+
105
+ --sidebar-background: 221.2 40% 10%;
106
+ --sidebar-foreground: 210 40% 98%;
107
+ --sidebar-primary: 221.2 83.2% 53.3%;
108
+ --sidebar-primary-foreground: 210 40% 98%;
109
+ --sidebar-accent: 221.2 30% 15%;
110
+ --sidebar-accent-foreground: 210 40% 98%;
111
+ --sidebar-border: 221.2 30% 18%;
112
+ --sidebar-ring: 221.2 83.2% 53.3%;
113
+ }
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border;
119
+ }
120
+
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
125
+
126
+ @layer utilities {
127
+ @keyframes accordion-down {
128
+ from {
129
+ height: 0;
130
+ }
131
+
132
+ to {
133
+ height: var(--radix-accordion-content-height);
134
+ }
135
+ }
136
+
137
+ @keyframes accordion-up {
138
+ from {
139
+ height: var(--radix-accordion-content-height);
140
+ }
141
+
142
+ to {
143
+ height: 0;
144
+ }
145
+ }
146
+
147
+ .animate-accordion-down {
148
+ animation: accordion-down 0.2s ease-out;
149
+ }
150
+
151
+ .animate-accordion-up {
152
+ animation: accordion-up 0.2s ease-out;
153
+ }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
158
+ }
@@ -151,4 +151,8 @@
151
151
  .animate-accordion-up {
152
152
  animation: accordion-up 0.2s ease-out;
153
153
  }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
154
158
  }
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @srcroot/ui - Green Theme (Tailwind 3)
3
+ * Nature and success green
4
+ */
5
+
6
+ @tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer base {
11
+ :root {
12
+ --background: 0 0% 100%;
13
+ --foreground: 142.1 76.2% 36.3%;
14
+
15
+ --card: 0 0% 100%;
16
+ --card-foreground: 142.1 76.2% 36.3%;
17
+
18
+ --popover: 0 0% 100%;
19
+ --popover-foreground: 142.1 76.2% 36.3%;
20
+
21
+ --primary: 142.1 76.2% 36.3%;
22
+ --primary-foreground: 355.7 100% 97.3%;
23
+
24
+ --secondary: 142.1 30% 96.1%;
25
+ --secondary-foreground: 142.1 76.2% 36.3%;
26
+
27
+ --muted: 142.1 30% 96.1%;
28
+ --muted-foreground: 142.1 10% 45%;
29
+
30
+ --accent: 142.1 30% 96.1%;
31
+ --accent-foreground: 142.1 76.2% 36.3%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 0 0% 98%;
35
+
36
+ --success: 142.1 76.2% 36.3%;
37
+ --success-foreground: 0 0% 98%;
38
+
39
+ --warning: 45.4 93.4% 47.5%;
40
+ --warning-foreground: 142.1 76.2% 36.3%;
41
+
42
+ --info: 201.3 96.3% 32.2%;
43
+ --info-foreground: 0 0% 98%;
44
+
45
+ --border: 142.1 20% 90%;
46
+ --input: 142.1 20% 90%;
47
+ --ring: 142.1 76.2% 36.3%;
48
+
49
+ --radius: 0.5rem;
50
+
51
+ --sidebar-width: 16rem;
52
+ --sidebar-width-mobile: 18rem;
53
+ --sidebar-width-collapsed: 3rem;
54
+ --sidebar-width-icon: 3rem;
55
+ --header-height: 3.5rem;
56
+
57
+ --sidebar-background: 0 0% 98%;
58
+ --sidebar-foreground: 142.1 76.2% 36.3%;
59
+ --sidebar-primary: 142.1 76.2% 36.3%;
60
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
61
+ --sidebar-accent: 142.1 30% 96.1%;
62
+ --sidebar-accent-foreground: 142.1 76.2% 36.3%;
63
+ --sidebar-border: 142.1 20% 90%;
64
+ --sidebar-ring: 142.1 76.2% 36.3%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 142.1 40% 6%;
69
+ --foreground: 355.7 100% 97.3%;
70
+
71
+ --card: 142.1 40% 8%;
72
+ --card-foreground: 355.7 100% 97.3%;
73
+
74
+ --popover: 142.1 40% 8%;
75
+ --popover-foreground: 355.7 100% 97.3%;
76
+
77
+ --primary: 142.1 76.2% 36.3%;
78
+ --primary-foreground: 355.7 100% 97.3%;
79
+
80
+ --secondary: 142.1 30% 15%;
81
+ --secondary-foreground: 355.7 100% 97.3%;
82
+
83
+ --muted: 142.1 30% 15%;
84
+ --muted-foreground: 142.1 20% 65%;
85
+
86
+ --accent: 142.1 30% 15%;
87
+ --accent-foreground: 355.7 100% 97.3%;
88
+
89
+ --destructive: 0 62.8% 30.6%;
90
+ --destructive-foreground: 0 0% 98%;
91
+
92
+ --success: 142.1 70.6% 45.3%;
93
+ --success-foreground: 142.1 76.2% 36.3%;
94
+
95
+ --warning: 48 96.5% 53.1%;
96
+ --warning-foreground: 142.1 76.2% 36.3%;
97
+
98
+ --info: 199.4 95.5% 53.8%;
99
+ --info-foreground: 142.1 76.2% 36.3%;
100
+
101
+ --border: 142.1 30% 18%;
102
+ --input: 142.1 30% 18%;
103
+ --ring: 142.1 76.2% 36.3%;
104
+
105
+ --sidebar-background: 142.1 40% 10%;
106
+ --sidebar-foreground: 355.7 100% 97.3%;
107
+ --sidebar-primary: 142.1 76.2% 36.3%;
108
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
109
+ --sidebar-accent: 142.1 30% 15%;
110
+ --sidebar-accent-foreground: 355.7 100% 97.3%;
111
+ --sidebar-border: 142.1 30% 18%;
112
+ --sidebar-ring: 142.1 76.2% 36.3%;
113
+ }
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border;
119
+ }
120
+
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
125
+
126
+ @layer utilities {
127
+ @keyframes accordion-down {
128
+ from {
129
+ height: 0;
130
+ }
131
+
132
+ to {
133
+ height: var(--radix-accordion-content-height);
134
+ }
135
+ }
136
+
137
+ @keyframes accordion-up {
138
+ from {
139
+ height: var(--radix-accordion-content-height);
140
+ }
141
+
142
+ to {
143
+ height: 0;
144
+ }
145
+ }
146
+
147
+ .animate-accordion-down {
148
+ animation: accordion-down 0.2s ease-out;
149
+ }
150
+
151
+ .animate-accordion-up {
152
+ animation: accordion-up 0.2s ease-out;
153
+ }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
158
+ }
@@ -151,4 +151,8 @@
151
151
  .animate-accordion-up {
152
152
  animation: accordion-up 0.2s ease-out;
153
153
  }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
154
158
  }
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @srcroot/ui - Orange Theme (Tailwind 3)
3
+ * Energetic and creative orange
4
+ */
5
+
6
+ @tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer base {
11
+ :root {
12
+ --background: 0 0% 100%;
13
+ --foreground: 24.6 95% 53.1%;
14
+
15
+ --card: 0 0% 100%;
16
+ --card-foreground: 24.6 95% 53.1%;
17
+
18
+ --popover: 0 0% 100%;
19
+ --popover-foreground: 24.6 95% 53.1%;
20
+
21
+ --primary: 24.6 95% 53.1%;
22
+ --primary-foreground: 355.7 100% 97.3%;
23
+
24
+ --secondary: 24.6 30% 96.1%;
25
+ --secondary-foreground: 24.6 95% 53.1%;
26
+
27
+ --muted: 24.6 30% 96.1%;
28
+ --muted-foreground: 24.6 10% 45%;
29
+
30
+ --accent: 24.6 30% 96.1%;
31
+ --accent-foreground: 24.6 95% 53.1%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 0 0% 98%;
35
+
36
+ --success: 142.1 76.2% 36.3%;
37
+ --success-foreground: 0 0% 98%;
38
+
39
+ --warning: 45.4 93.4% 47.5%;
40
+ --warning-foreground: 24.6 95% 53.1%;
41
+
42
+ --info: 201.3 96.3% 32.2%;
43
+ --info-foreground: 0 0% 98%;
44
+
45
+ --border: 24.6 20% 90%;
46
+ --input: 24.6 20% 90%;
47
+ --ring: 24.6 95% 53.1%;
48
+
49
+ --radius: 0.5rem;
50
+
51
+ --sidebar-width: 16rem;
52
+ --sidebar-width-mobile: 18rem;
53
+ --sidebar-width-collapsed: 3rem;
54
+ --sidebar-width-icon: 3rem;
55
+ --header-height: 3.5rem;
56
+
57
+ --sidebar-background: 0 0% 98%;
58
+ --sidebar-foreground: 24.6 95% 53.1%;
59
+ --sidebar-primary: 24.6 95% 53.1%;
60
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
61
+ --sidebar-accent: 24.6 30% 96.1%;
62
+ --sidebar-accent-foreground: 24.6 95% 53.1%;
63
+ --sidebar-border: 24.6 20% 90%;
64
+ --sidebar-ring: 24.6 95% 53.1%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 24.6 40% 6%;
69
+ --foreground: 355.7 100% 97.3%;
70
+
71
+ --card: 24.6 40% 8%;
72
+ --card-foreground: 355.7 100% 97.3%;
73
+
74
+ --popover: 24.6 40% 8%;
75
+ --popover-foreground: 355.7 100% 97.3%;
76
+
77
+ --primary: 24.6 95% 53.1%;
78
+ --primary-foreground: 355.7 100% 97.3%;
79
+
80
+ --secondary: 24.6 30% 15%;
81
+ --secondary-foreground: 355.7 100% 97.3%;
82
+
83
+ --muted: 24.6 30% 15%;
84
+ --muted-foreground: 24.6 20% 65%;
85
+
86
+ --accent: 24.6 30% 15%;
87
+ --accent-foreground: 355.7 100% 97.3%;
88
+
89
+ --destructive: 0 62.8% 30.6%;
90
+ --destructive-foreground: 0 0% 98%;
91
+
92
+ --success: 142.1 70.6% 45.3%;
93
+ --success-foreground: 24.6 95% 53.1%;
94
+
95
+ --warning: 48 96.5% 53.1%;
96
+ --warning-foreground: 24.6 95% 53.1%;
97
+
98
+ --info: 199.4 95.5% 53.8%;
99
+ --info-foreground: 24.6 95% 53.1%;
100
+
101
+ --border: 24.6 30% 18%;
102
+ --input: 24.6 30% 18%;
103
+ --ring: 24.6 95% 53.1%;
104
+
105
+ --sidebar-background: 24.6 40% 10%;
106
+ --sidebar-foreground: 355.7 100% 97.3%;
107
+ --sidebar-primary: 24.6 95% 53.1%;
108
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
109
+ --sidebar-accent: 24.6 30% 15%;
110
+ --sidebar-accent-foreground: 355.7 100% 97.3%;
111
+ --sidebar-border: 24.6 30% 18%;
112
+ --sidebar-ring: 24.6 95% 53.1%;
113
+ }
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border;
119
+ }
120
+
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
125
+
126
+ @layer utilities {
127
+ @keyframes accordion-down {
128
+ from {
129
+ height: 0;
130
+ }
131
+
132
+ to {
133
+ height: var(--radix-accordion-content-height);
134
+ }
135
+ }
136
+
137
+ @keyframes accordion-up {
138
+ from {
139
+ height: var(--radix-accordion-content-height);
140
+ }
141
+
142
+ to {
143
+ height: 0;
144
+ }
145
+ }
146
+
147
+ .animate-accordion-down {
148
+ animation: accordion-down 0.2s ease-out;
149
+ }
150
+
151
+ .animate-accordion-up {
152
+ animation: accordion-up 0.2s ease-out;
153
+ }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
158
+ }
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @srcroot/ui - Rose Theme (Tailwind 3)
3
+ * Soft and elegant pinkish-red
4
+ */
5
+
6
+ @tailwind base;
7
+ @tailwind components;
8
+ @tailwind utilities;
9
+
10
+ @layer base {
11
+ :root {
12
+ --background: 0 0% 100%;
13
+ --foreground: 346.8 77.2% 49.8%;
14
+
15
+ --card: 0 0% 100%;
16
+ --card-foreground: 346.8 77.2% 49.8%;
17
+
18
+ --popover: 0 0% 100%;
19
+ --popover-foreground: 346.8 77.2% 49.8%;
20
+
21
+ --primary: 346.8 77.2% 49.8%;
22
+ --primary-foreground: 355.7 100% 97.3%;
23
+
24
+ --secondary: 346.8 30% 96.1%;
25
+ --secondary-foreground: 346.8 77.2% 49.8%;
26
+
27
+ --muted: 346.8 30% 96.1%;
28
+ --muted-foreground: 346.8 10% 45%;
29
+
30
+ --accent: 346.8 30% 96.1%;
31
+ --accent-foreground: 346.8 77.2% 49.8%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 0 0% 98%;
35
+
36
+ --success: 142.1 76.2% 36.3%;
37
+ --success-foreground: 0 0% 98%;
38
+
39
+ --warning: 45.4 93.4% 47.5%;
40
+ --warning-foreground: 346.8 77.2% 49.8%;
41
+
42
+ --info: 201.3 96.3% 32.2%;
43
+ --info-foreground: 0 0% 98%;
44
+
45
+ --border: 346.8 20% 90%;
46
+ --input: 346.8 20% 90%;
47
+ --ring: 346.8 77.2% 49.8%;
48
+
49
+ --radius: 0.5rem;
50
+
51
+ --sidebar-width: 16rem;
52
+ --sidebar-width-mobile: 18rem;
53
+ --sidebar-width-collapsed: 3rem;
54
+ --sidebar-width-icon: 3rem;
55
+ --header-height: 3.5rem;
56
+
57
+ --sidebar-background: 0 0% 98%;
58
+ --sidebar-foreground: 346.8 77.2% 49.8%;
59
+ --sidebar-primary: 346.8 77.2% 49.8%;
60
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
61
+ --sidebar-accent: 346.8 30% 96.1%;
62
+ --sidebar-accent-foreground: 346.8 77.2% 49.8%;
63
+ --sidebar-border: 346.8 20% 90%;
64
+ --sidebar-ring: 346.8 77.2% 49.8%;
65
+ }
66
+
67
+ .dark {
68
+ --background: 346.8 40% 6%;
69
+ --foreground: 355.7 100% 97.3%;
70
+
71
+ --card: 346.8 40% 8%;
72
+ --card-foreground: 355.7 100% 97.3%;
73
+
74
+ --popover: 346.8 40% 8%;
75
+ --popover-foreground: 355.7 100% 97.3%;
76
+
77
+ --primary: 346.8 77.2% 49.8%;
78
+ --primary-foreground: 355.7 100% 97.3%;
79
+
80
+ --secondary: 346.8 30% 15%;
81
+ --secondary-foreground: 355.7 100% 97.3%;
82
+
83
+ --muted: 346.8 30% 15%;
84
+ --muted-foreground: 346.8 20% 65%;
85
+
86
+ --accent: 346.8 30% 15%;
87
+ --accent-foreground: 355.7 100% 97.3%;
88
+
89
+ --destructive: 0 62.8% 30.6%;
90
+ --destructive-foreground: 0 0% 98%;
91
+
92
+ --success: 142.1 70.6% 45.3%;
93
+ --success-foreground: 346.8 77.2% 49.8%;
94
+
95
+ --warning: 48 96.5% 53.1%;
96
+ --warning-foreground: 346.8 77.2% 49.8%;
97
+
98
+ --info: 199.4 95.5% 53.8%;
99
+ --info-foreground: 346.8 77.2% 49.8%;
100
+
101
+ --border: 346.8 30% 18%;
102
+ --input: 346.8 30% 18%;
103
+ --ring: 346.8 77.2% 49.8%;
104
+
105
+ --sidebar-background: 346.8 40% 10%;
106
+ --sidebar-foreground: 355.7 100% 97.3%;
107
+ --sidebar-primary: 346.8 77.2% 49.8%;
108
+ --sidebar-primary-foreground: 355.7 100% 97.3%;
109
+ --sidebar-accent: 346.8 30% 15%;
110
+ --sidebar-accent-foreground: 355.7 100% 97.3%;
111
+ --sidebar-border: 346.8 30% 18%;
112
+ --sidebar-ring: 346.8 77.2% 49.8%;
113
+ }
114
+ }
115
+
116
+ @layer base {
117
+ * {
118
+ @apply border-border;
119
+ }
120
+
121
+ body {
122
+ @apply bg-background text-foreground;
123
+ }
124
+ }
125
+
126
+ @layer utilities {
127
+ @keyframes accordion-down {
128
+ from {
129
+ height: 0;
130
+ }
131
+
132
+ to {
133
+ height: var(--radix-accordion-content-height);
134
+ }
135
+ }
136
+
137
+ @keyframes accordion-up {
138
+ from {
139
+ height: var(--radix-accordion-content-height);
140
+ }
141
+
142
+ to {
143
+ height: 0;
144
+ }
145
+ }
146
+
147
+ .animate-accordion-down {
148
+ animation: accordion-down 0.2s ease-out;
149
+ }
150
+
151
+ .animate-accordion-up {
152
+ animation: accordion-up 0.2s ease-out;
153
+ }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
158
+ }
@@ -151,4 +151,8 @@
151
151
  .animate-accordion-up {
152
152
  animation: accordion-up 0.2s ease-out;
153
153
  }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
154
158
  }
@@ -151,4 +151,8 @@
151
151
  .animate-accordion-up {
152
152
  animation: accordion-up 0.2s ease-out;
153
153
  }
154
+
155
+ .bg-gradient-brand {
156
+ background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
157
+ }
154
158
  }