@almadar/ui 6.28.0 → 6.30.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 (54) hide show
  1. package/dist/{EntityBindingContext-C6FgxdfG.d.cts → EntityBindingContext-ChCONv2W.d.cts} +3 -39
  2. package/dist/{EntityBindingContext-C6FgxdfG.d.ts → EntityBindingContext-ChCONv2W.d.ts} +3 -39
  3. package/dist/avl/index.cjs +74 -48
  4. package/dist/avl/index.js +74 -48
  5. package/dist/components/index.cjs +54 -45
  6. package/dist/components/index.d.cts +1 -1
  7. package/dist/components/index.d.ts +1 -1
  8. package/dist/components/index.js +54 -45
  9. package/dist/context/index.cjs +135 -105
  10. package/dist/context/index.d.cts +2 -60
  11. package/dist/context/index.d.ts +2 -60
  12. package/dist/context/index.js +135 -105
  13. package/dist/lib/index.cjs +455 -0
  14. package/dist/lib/index.d.cts +42 -1
  15. package/dist/lib/index.d.ts +42 -1
  16. package/dist/lib/index.js +438 -1
  17. package/dist/marketing/index.cjs +4 -5
  18. package/dist/marketing/index.js +4 -5
  19. package/dist/providers/index.cjs +194 -156
  20. package/dist/providers/index.d.cts +1 -1
  21. package/dist/providers/index.d.ts +1 -1
  22. package/dist/providers/index.js +194 -156
  23. package/dist/runtime/index.cjs +74 -48
  24. package/dist/runtime/index.d.cts +16 -2
  25. package/dist/runtime/index.d.ts +16 -2
  26. package/dist/runtime/index.js +74 -48
  27. package/dist/themeTokens-DVRwufw8.d.cts +112 -0
  28. package/dist/themeTokens-DVRwufw8.d.ts +112 -0
  29. package/package.json +7 -6
  30. package/scripts/audit-tailwind-safelist.ts +4 -0
  31. package/tailwind-preset.cjs +155 -28
  32. package/themes/almadar-website.css +37 -107
  33. package/themes/almadar.css +37 -108
  34. package/themes/atelier.css +145 -240
  35. package/themes/bloomberg-dense.css +145 -252
  36. package/themes/clay.css +39 -137
  37. package/themes/comic.css +39 -145
  38. package/themes/corporate.css +39 -131
  39. package/themes/game-adventure.css +22 -87
  40. package/themes/game-rpg.css +22 -84
  41. package/themes/game-sci-fi.css +22 -88
  42. package/themes/game-ui-pack.css +22 -85
  43. package/themes/gazette.css +43 -135
  44. package/themes/glass.css +39 -148
  45. package/themes/kiosk.css +51 -146
  46. package/themes/linear-clean.css +145 -215
  47. package/themes/minimalist.css +39 -125
  48. package/themes/neon.css +39 -132
  49. package/themes/notion-editorial.css +145 -215
  50. package/themes/prism.css +37 -100
  51. package/themes/retro.css +39 -130
  52. package/themes/terminal.css +61 -152
  53. package/themes/trait-wars.css +121 -285
  54. package/themes/wireframe.css +41 -128
@@ -1,52 +1,20 @@
1
1
  /**
2
- * Almadar Website Theme
3
- *
4
- * Brand-accurate theme for almadar.io based on Almadar Brand Guidelines.
5
- * Teal primary, Cyan accent, Sand Gold highlights, Plus Jakarta Sans typography.
6
- * Dark hero sections with light content sections (mixed mode).
2
+ * GENERATED do not edit by hand.
3
+ * Source: packages/almadar-core/themes/almadar-website.json
4
+ * Regenerate: node tools/almadar-pattern-sync/dist/index.js themes (or `almadar-sync themes`)
7
5
  */
8
6
 
9
- /* ==========================================================================
10
- * LIGHT MODE (content sections)
11
- * ========================================================================== */
12
7
  [data-theme="almadar-website-light"] {
13
- /* Shadows - neutral midnight-based (per brand) */
14
- --shadow-main: 0 4px 14px rgba(15, 23, 42, 0.1), 0 1px 3px rgba(15, 23, 42, 0.06);
15
- --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
16
- --shadow-lg: 0 10px 15px rgba(15, 23, 42, 0.15);
17
- --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.05);
18
- --shadow-none: none;
19
- --shadow-hover: 0 12px 40px rgba(15, 23, 42, 0.15);
20
- --shadow-active: 0 2px 8px rgba(15, 23, 42, 0.1);
21
-
22
- /* Border radius - per brand (4/8/12/16) */
23
- --radius-none: 0px;
24
- --radius-sm: 4px;
25
- --radius-md: 8px;
26
- --radius-lg: 12px;
27
- --radius-xl: 16px;
28
- --radius-full: 9999px;
29
-
30
- /* Border width */
31
- --border-width: 1px;
32
- --border-width-thin: 1px;
33
- --border-width-thick: 2px;
34
-
35
- /* Colors - Teal on parchment */
36
8
  --color-primary: #0f766e;
37
9
  --color-primary-hover: #115e59;
38
10
  --color-primary-foreground: #ffffff;
39
-
40
11
  --color-secondary: #f1f5f9;
41
12
  --color-secondary-hover: #e2e8f0;
42
13
  --color-secondary-foreground: #0f172a;
43
-
44
14
  --color-accent: #c9a227;
45
15
  --color-accent-foreground: #0f172a;
46
-
47
16
  --color-muted: #f1f5f9;
48
17
  --color-muted-foreground: #5c6b80;
49
-
50
18
  --color-background: #ffffff;
51
19
  --color-foreground: #0f172a;
52
20
  --color-card: #ffffff;
@@ -55,10 +23,6 @@
55
23
  --color-border: #e2e8f0;
56
24
  --color-input: #e2e8f0;
57
25
  --color-ring: #14b8a6;
58
-
59
- /* Accent is gold in Almadar brand */
60
-
61
- /* Semantic colors */
62
26
  --color-error: #dc2626;
63
27
  --color-error-foreground: #ffffff;
64
28
  --color-success: #15803d;
@@ -67,100 +31,70 @@
67
31
  --color-warning-foreground: #000000;
68
32
  --color-info: #1d4ed8;
69
33
  --color-info-foreground: #ffffff;
70
-
71
- /* Icon styling */
72
- --icon-stroke-width: 1.75;
34
+ --radius-none: 0px;
35
+ --radius-sm: 4px;
36
+ --radius-md: 8px;
37
+ --radius-lg: 12px;
38
+ --radius-xl: 16px;
39
+ --radius-full: 9999px;
40
+ --border-width: 1px;
41
+ --border-width-thin: 1px;
42
+ --border-width-thick: 2px;
73
43
  --icon-color: #14b8a6;
74
-
75
- /* Transitions */
76
44
  --transition-fast: 150ms;
77
45
  --transition-normal: 250ms;
78
46
  --transition-slow: 400ms;
79
47
  --transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
80
-
81
- /* Hover/Active */
82
48
  --hover-scale: 1.02;
83
49
  --hover-translate-y: -2px;
84
50
  --hover-translate-x: 0;
85
51
  --active-scale: 0.98;
86
52
  --active-translate-y: 0;
87
-
88
- /* Focus ring */
89
53
  --focus-ring-width: 2px;
90
54
  --focus-ring-offset: 2px;
91
55
  --focus-ring-color: #14b8a6;
92
-
93
- /* Layer 1 backfill (preserves current visual output, see themes/_contract.md) */
94
- /* Motion axis duration palette (aliases existing --transition-* for backward compat) */
56
+ --shadow-main: 0 4px 14px rgba(15, 23, 42, 0.1), 0 1px 3px rgba(15, 23, 42, 0.06);
57
+ --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
58
+ --shadow-lg: 0 10px 15px rgba(15, 23, 42, 0.15);
59
+ --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.05);
60
+ --shadow-none: none;
61
+ --shadow-hover: 0 12px 40px rgba(15, 23, 42, 0.15);
62
+ --shadow-active: 0 2px 8px rgba(15, 23, 42, 0.1);
95
63
  --duration-instant: 0ms;
96
64
  --duration-fast: var(--transition-fast);
97
65
  --duration-normal: var(--transition-normal);
98
66
  --duration-slow: var(--transition-slow);
99
67
  --duration-dramatic: 600ms;
100
- /* Motion axis — easing palette (aliases existing --transition-timing for backward compat) */
101
68
  --easing-linear: linear;
102
69
  --easing-standard: var(--transition-timing);
103
70
  --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
104
71
  --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
105
- /* Iconography axis */
106
72
  --icon-family: lucide;
73
+ --icon-stroke-width: 1.75;
107
74
  --icon-default-size: 16px;
108
- /* Elevation axis — per-layer mapping */
109
75
  --elevation-card: var(--shadow-sm);
110
76
  --elevation-popover: var(--shadow-main);
111
77
  --elevation-dialog: var(--shadow-lg);
112
78
  --elevation-toast: var(--shadow-main);
113
- /* Geometry axis — radius rhythm with intent */
114
79
  --radius-container: var(--radius-md);
115
80
  --radius-interactive: var(--radius-md);
116
81
  --radius-pill: var(--radius-full);
117
- /* Geometry axis — border-width rhythm */
118
82
  --border-hairline: 1px;
119
83
  --border-standard: var(--border-width);
120
84
  --border-heavy: var(--border-width-thick);
121
85
  }
122
86
 
123
- /* ==========================================================================
124
- * DARK MODE (hero sections, dark backgrounds)
125
- * ========================================================================== */
126
87
  [data-theme="almadar-website-dark"] {
127
- /* Shadows - dark mode, deeper (per brand) */
128
- --shadow-main: 0 4px 14px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
129
- --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
130
- --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
131
- --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.1);
132
- --shadow-none: none;
133
- --shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.5);
134
- --shadow-active: 0 2px 8px rgba(0, 0, 0, 0.3);
135
-
136
- /* Border radius - per brand (4/8/12/16) */
137
- --radius-none: 0px;
138
- --radius-sm: 4px;
139
- --radius-md: 8px;
140
- --radius-lg: 12px;
141
- --radius-xl: 16px;
142
- --radius-full: 9999px;
143
-
144
- /* Border width */
145
- --border-width: 1px;
146
- --border-width-thin: 1px;
147
- --border-width-thick: 2px;
148
-
149
- /* Colors - Teal/Cyan on Midnight Blue */
150
88
  --color-primary: #14b8a6;
151
89
  --color-primary-hover: #2dd4bf;
152
90
  --color-primary-foreground: #042f2e;
153
-
154
91
  --color-secondary: #1e293b;
155
92
  --color-secondary-hover: #334155;
156
93
  --color-secondary-foreground: #f1f5f9;
157
-
158
94
  --color-accent: #d4b44a;
159
95
  --color-accent-foreground: #0f172a;
160
-
161
96
  --color-muted: #1e293b;
162
97
  --color-muted-foreground: #94a3b8;
163
-
164
98
  --color-background: #0f172a;
165
99
  --color-foreground: #f8fafc;
166
100
  --color-card: #1e293b;
@@ -169,14 +103,10 @@
169
103
  --color-border: #334155;
170
104
  --color-input: #334155;
171
105
  --color-ring: #14b8a6;
172
-
173
- /* Tertiary color (Gold in Almadar brand) */
174
106
  --color-tertiary: #c9a227;
175
107
  --color-tertiary-hover: #d4b44a;
176
108
  --color-tertiary-foreground: #0f172a;
177
109
  --color-tertiary-muted: rgba(201, 162, 39, 0.15);
178
-
179
- /* Semantic colors */
180
110
  --color-error: #f87171;
181
111
  --color-error-foreground: #000000;
182
112
  --color-success: #4ade80;
@@ -185,54 +115,54 @@
185
115
  --color-warning-foreground: #000000;
186
116
  --color-info: #38bdf8;
187
117
  --color-info-foreground: #000000;
188
-
189
- /* Icon styling */
190
- --icon-stroke-width: 1.75;
118
+ --radius-none: 0px;
119
+ --radius-sm: 4px;
120
+ --radius-md: 8px;
121
+ --radius-lg: 12px;
122
+ --radius-xl: 16px;
123
+ --radius-full: 9999px;
124
+ --border-width: 1px;
125
+ --border-width-thin: 1px;
126
+ --border-width-thick: 2px;
191
127
  --icon-color: #14b8a6;
192
-
193
- /* Transitions */
194
128
  --transition-fast: 150ms;
195
129
  --transition-normal: 250ms;
196
130
  --transition-slow: 400ms;
197
131
  --transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
198
-
199
- /* Hover/Active */
200
132
  --hover-scale: 1.02;
201
133
  --hover-translate-y: -2px;
202
134
  --hover-translate-x: 0;
203
135
  --active-scale: 0.98;
204
136
  --active-translate-y: 0;
205
-
206
- /* Focus ring */
207
137
  --focus-ring-width: 2px;
208
138
  --focus-ring-offset: 2px;
209
139
  --focus-ring-color: #14b8a6;
210
-
211
- /* Layer 1 backfill (preserves current visual output, see themes/_contract.md) */
212
- /* Motion axis duration palette (aliases existing --transition-* for backward compat) */
140
+ --shadow-main: 0 4px 14px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
141
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
142
+ --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
143
+ --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.1);
144
+ --shadow-none: none;
145
+ --shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.5);
146
+ --shadow-active: 0 2px 8px rgba(0, 0, 0, 0.3);
213
147
  --duration-instant: 0ms;
214
148
  --duration-fast: var(--transition-fast);
215
149
  --duration-normal: var(--transition-normal);
216
150
  --duration-slow: var(--transition-slow);
217
151
  --duration-dramatic: 600ms;
218
- /* Motion axis — easing palette (aliases existing --transition-timing for backward compat) */
219
152
  --easing-linear: linear;
220
153
  --easing-standard: var(--transition-timing);
221
154
  --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
222
155
  --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
223
- /* Iconography axis */
224
156
  --icon-family: lucide;
157
+ --icon-stroke-width: 1.75;
225
158
  --icon-default-size: 16px;
226
- /* Elevation axis — per-layer mapping */
227
159
  --elevation-card: var(--shadow-sm);
228
160
  --elevation-popover: var(--shadow-main);
229
161
  --elevation-dialog: var(--shadow-lg);
230
162
  --elevation-toast: var(--shadow-main);
231
- /* Geometry axis — radius rhythm with intent */
232
163
  --radius-container: var(--radius-md);
233
164
  --radius-interactive: var(--radius-md);
234
165
  --radius-pill: var(--radius-full);
235
- /* Geometry axis — border-width rhythm */
236
166
  --border-hairline: 1px;
237
167
  --border-standard: var(--border-width);
238
168
  --border-heavy: var(--border-width-thick);
@@ -1,54 +1,20 @@
1
1
  /**
2
- * Almadar Theme
3
- *
4
- * Inspired by the Almadar/KFlow branding. Features teal-to-cyan
5
- * gradients, dark slate backgrounds, and glowing accent effects.
6
- * Premium, futuristic aesthetic with glowing interactions.
2
+ * GENERATED — do not edit by hand.
3
+ * Source: packages/almadar-core/themes/almadar.json
4
+ * Regenerate: node tools/almadar-pattern-sync/dist/index.js themes (or `almadar-sync themes`)
7
5
  */
8
6
 
9
- /* ==========================================================================
10
- * LIGHT MODE
11
- * ========================================================================== */
12
7
  [data-theme="almadar-light"] {
13
- /* Shadows - Soft teal glow */
14
- --shadow-main:
15
- 0 4px 14px rgba(20, 184, 166, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
16
- --shadow-sm: 0 2px 4px rgba(20, 184, 166, 0.08);
17
- --shadow-lg:
18
- 0 8px 30px rgba(20, 184, 166, 0.18), 0 4px 10px rgba(0, 0, 0, 0.06);
19
- --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.05);
20
- --shadow-none: none;
21
- --shadow-hover: 0 12px 40px rgba(20, 184, 166, 0.2);
22
- --shadow-active: 0 2px 8px rgba(20, 184, 166, 0.15);
23
-
24
- /* Border radius - Modern rounded */
25
- --radius-none: 0px;
26
- --radius-sm: 6px;
27
- --radius-md: 10px;
28
- --radius-lg: 14px;
29
- --radius-xl: 20px;
30
- --radius-full: 9999px;
31
-
32
- /* Border width - Clean */
33
- --border-width: 1px;
34
- --border-width-thin: 1px;
35
- --border-width-thick: 2px;
36
-
37
- /* Colors - Teal on light background */
38
8
  --color-primary: #0f766e;
39
9
  --color-primary-hover: #115e59;
40
10
  --color-primary-foreground: #ffffff;
41
-
42
11
  --color-secondary: #f1f5f9;
43
12
  --color-secondary-hover: #e2e8f0;
44
13
  --color-secondary-foreground: #0f172a;
45
-
46
14
  --color-accent: #0e7490;
47
15
  --color-accent-foreground: #ffffff;
48
-
49
16
  --color-muted: #f1f5f9;
50
17
  --color-muted-foreground: #607080;
51
-
52
18
  --color-background: #f8fafc;
53
19
  --color-foreground: #0f172a;
54
20
  --color-card: #ffffff;
@@ -57,8 +23,6 @@
57
23
  --color-border: rgba(20, 184, 166, 0.3);
58
24
  --color-input: rgba(20, 184, 166, 0.2);
59
25
  --color-ring: #14b8a6;
60
-
61
- /* Semantic colors */
62
26
  --color-error: #dc2626;
63
27
  --color-error-foreground: #ffffff;
64
28
  --color-success: #15803d;
@@ -67,103 +31,70 @@
67
31
  --color-warning-foreground: #000000;
68
32
  --color-info: #0369a1;
69
33
  --color-info-foreground: #ffffff;
70
-
71
- /* Icon styling */
72
- --icon-stroke-width: 1.75;
34
+ --radius-none: 0px;
35
+ --radius-sm: 6px;
36
+ --radius-md: 10px;
37
+ --radius-lg: 14px;
38
+ --radius-xl: 20px;
39
+ --radius-full: 9999px;
40
+ --border-width: 1px;
41
+ --border-width-thin: 1px;
42
+ --border-width-thick: 2px;
73
43
  --icon-color: #0d9488;
74
-
75
- /* Transitions - Smooth */
76
44
  --transition-fast: 150ms;
77
45
  --transition-normal: 250ms;
78
46
  --transition-slow: 400ms;
79
47
  --transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
80
-
81
- /* Hover/Active transforms */
82
48
  --hover-scale: 1.02;
83
49
  --hover-translate-y: -2px;
84
50
  --hover-translate-x: 0;
85
51
  --active-scale: 0.98;
86
52
  --active-translate-y: 0;
87
-
88
- /* Focus ring - Teal */
89
53
  --focus-ring-width: 2px;
90
54
  --focus-ring-offset: 2px;
91
55
  --focus-ring-color: #14b8a6;
92
-
93
- /* Layer 1 backfill (preserves current visual output, see themes/_contract.md) */
94
- /* Motion axis duration palette (aliases existing --transition-* for backward compat) */
56
+ --shadow-main: 0 4px 14px rgba(20, 184, 166, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
57
+ --shadow-sm: 0 2px 4px rgba(20, 184, 166, 0.08);
58
+ --shadow-lg: 0 8px 30px rgba(20, 184, 166, 0.18), 0 4px 10px rgba(0, 0, 0, 0.06);
59
+ --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.05);
60
+ --shadow-none: none;
61
+ --shadow-hover: 0 12px 40px rgba(20, 184, 166, 0.2);
62
+ --shadow-active: 0 2px 8px rgba(20, 184, 166, 0.15);
95
63
  --duration-instant: 0ms;
96
64
  --duration-fast: var(--transition-fast);
97
65
  --duration-normal: var(--transition-normal);
98
66
  --duration-slow: var(--transition-slow);
99
67
  --duration-dramatic: 600ms;
100
- /* Motion axis — easing palette (aliases existing --transition-timing for backward compat) */
101
68
  --easing-linear: linear;
102
69
  --easing-standard: var(--transition-timing);
103
70
  --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
104
71
  --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
105
- /* Iconography axis */
106
72
  --icon-family: lucide;
73
+ --icon-stroke-width: 1.75;
107
74
  --icon-default-size: 16px;
108
- /* Elevation axis — per-layer mapping */
109
75
  --elevation-card: var(--shadow-sm);
110
76
  --elevation-popover: var(--shadow-main);
111
77
  --elevation-dialog: var(--shadow-lg);
112
78
  --elevation-toast: var(--shadow-main);
113
- /* Geometry axis — radius rhythm with intent */
114
79
  --radius-container: var(--radius-md);
115
80
  --radius-interactive: var(--radius-md);
116
81
  --radius-pill: var(--radius-full);
117
- /* Geometry axis — border-width rhythm */
118
82
  --border-hairline: 1px;
119
83
  --border-standard: var(--border-width);
120
84
  --border-heavy: var(--border-width-thick);
121
85
  }
122
86
 
123
- /* ==========================================================================
124
- * DARK MODE
125
- * ========================================================================== */
126
87
  [data-theme="almadar-dark"] {
127
- /* Shadows - Glowing teal accents */
128
- --shadow-main:
129
- 0 4px 14px rgba(20, 184, 166, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
130
- --shadow-sm: 0 2px 4px rgba(20, 184, 166, 0.1);
131
- --shadow-lg:
132
- 0 8px 30px rgba(20, 184, 166, 0.25), 0 4px 10px rgba(0, 0, 0, 0.1);
133
- --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.1);
134
- --shadow-none: none;
135
- --shadow-hover:
136
- 0 12px 40px rgba(20, 184, 166, 0.35), 0 4px 12px rgba(6, 182, 212, 0.2);
137
- --shadow-active: 0 2px 8px rgba(20, 184, 166, 0.2);
138
-
139
- /* Border radius - Modern rounded */
140
- --radius-none: 0px;
141
- --radius-sm: 6px;
142
- --radius-md: 10px;
143
- --radius-lg: 14px;
144
- --radius-xl: 20px;
145
- --radius-full: 9999px;
146
-
147
- /* Border width - Clean */
148
- --border-width: 1px;
149
- --border-width-thin: 1px;
150
- --border-width-thick: 2px;
151
-
152
- /* Colors - Teal/Cyan with dark slate */
153
88
  --color-primary: #14b8a6;
154
89
  --color-primary-hover: #2dd4bf;
155
90
  --color-primary-foreground: #042f2e;
156
-
157
91
  --color-secondary: #1e293b;
158
92
  --color-secondary-hover: #334155;
159
93
  --color-secondary-foreground: #f1f5f9;
160
-
161
94
  --color-accent: #06b6d4;
162
95
  --color-accent-foreground: #083344;
163
-
164
96
  --color-muted: #1e293b;
165
97
  --color-muted-foreground: #94a3b8;
166
-
167
98
  --color-background: #0f172a;
168
99
  --color-foreground: #f1f5f9;
169
100
  --color-card: #1e293b;
@@ -172,8 +103,6 @@
172
103
  --color-border: rgba(20, 184, 166, 0.25);
173
104
  --color-input: rgba(20, 184, 166, 0.3);
174
105
  --color-ring: #14b8a6;
175
-
176
- /* Semantic colors - Brighter for dark mode */
177
106
  --color-error: #f87171;
178
107
  --color-error-foreground: #000000;
179
108
  --color-success: #4ade80;
@@ -182,54 +111,54 @@
182
111
  --color-warning-foreground: #000000;
183
112
  --color-info: #38bdf8;
184
113
  --color-info-foreground: #000000;
185
-
186
- /* Icon styling - Medium with teal color */
187
- --icon-stroke-width: 1.75;
114
+ --radius-none: 0px;
115
+ --radius-sm: 6px;
116
+ --radius-md: 10px;
117
+ --radius-lg: 14px;
118
+ --radius-xl: 20px;
119
+ --radius-full: 9999px;
120
+ --border-width: 1px;
121
+ --border-width-thin: 1px;
122
+ --border-width-thick: 2px;
188
123
  --icon-color: #14b8a6;
189
-
190
- /* Transitions - Smooth with glow */
191
124
  --transition-fast: 150ms;
192
125
  --transition-normal: 250ms;
193
126
  --transition-slow: 400ms;
194
127
  --transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
195
-
196
- /* Hover/Active transforms - Glowing lift */
197
128
  --hover-scale: 1.02;
198
129
  --hover-translate-y: -2px;
199
130
  --hover-translate-x: 0;
200
131
  --active-scale: 0.98;
201
132
  --active-translate-y: 0;
202
-
203
- /* Focus ring - Teal glow */
204
133
  --focus-ring-width: 2px;
205
134
  --focus-ring-offset: 2px;
206
135
  --focus-ring-color: #14b8a6;
207
-
208
- /* Layer 1 backfill (preserves current visual output, see themes/_contract.md) */
209
- /* Motion axis duration palette (aliases existing --transition-* for backward compat) */
136
+ --shadow-main: 0 4px 14px rgba(20, 184, 166, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
137
+ --shadow-sm: 0 2px 4px rgba(20, 184, 166, 0.1);
138
+ --shadow-lg: 0 8px 30px rgba(20, 184, 166, 0.25), 0 4px 10px rgba(0, 0, 0, 0.1);
139
+ --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.1);
140
+ --shadow-none: none;
141
+ --shadow-hover: 0 12px 40px rgba(20, 184, 166, 0.35), 0 4px 12px rgba(6, 182, 212, 0.2);
142
+ --shadow-active: 0 2px 8px rgba(20, 184, 166, 0.2);
210
143
  --duration-instant: 0ms;
211
144
  --duration-fast: var(--transition-fast);
212
145
  --duration-normal: var(--transition-normal);
213
146
  --duration-slow: var(--transition-slow);
214
147
  --duration-dramatic: 600ms;
215
- /* Motion axis — easing palette (aliases existing --transition-timing for backward compat) */
216
148
  --easing-linear: linear;
217
149
  --easing-standard: var(--transition-timing);
218
150
  --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
219
151
  --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
220
- /* Iconography axis */
221
152
  --icon-family: lucide;
153
+ --icon-stroke-width: 1.75;
222
154
  --icon-default-size: 16px;
223
- /* Elevation axis — per-layer mapping */
224
155
  --elevation-card: var(--shadow-sm);
225
156
  --elevation-popover: var(--shadow-main);
226
157
  --elevation-dialog: var(--shadow-lg);
227
158
  --elevation-toast: var(--shadow-main);
228
- /* Geometry axis — radius rhythm with intent */
229
159
  --radius-container: var(--radius-md);
230
160
  --radius-interactive: var(--radius-md);
231
161
  --radius-pill: var(--radius-full);
232
- /* Geometry axis — border-width rhythm */
233
162
  --border-hairline: 1px;
234
163
  --border-standard: var(--border-width);
235
164
  --border-heavy: var(--border-width-thick);