@yuva-devlab/tokens 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,8 @@
1
1
  /**
2
- * VitalAI Theme Preset — Clinical Porcelain & Bioluminescent Teal Palette
3
- * Modern OKLCH color spaces optimized for high performance, clinical nutrition, and fitness intelligence.
2
+ * VitalAI Theme Preset — High-Performance Athletic & Kinetic Palette
3
+ * Modern OKLCH color spaces optimized for bodybuilding, calisthenics, and AI fitness coaching.
4
4
  * High-specificity scoped tokens for VitalAI applications.
5
5
  */
6
-
7
6
  /* ── VitalAI Theme — Light Mode ─────────────────────────────────────────── */
8
7
  [data-brand="vitalai"],
9
8
  [data-theme="vitalai"],
@@ -12,82 +11,117 @@
12
11
  :root[data-theme="vitalai"],
13
12
  :root[data-theme="vitalai-light"] {
14
13
  --radius: 1rem;
15
-
16
14
  /* Surfaces */
17
- --background: oklch(0.975 0.006 190);
18
- --foreground: oklch(0.2 0.03 220);
19
- --card: oklch(1 0 0 / 72%);
20
- --card-foreground: oklch(0.2 0.03 220);
21
- --popover: oklch(0.995 0.003 190);
22
- --popover-foreground: oklch(0.2 0.03 220);
23
-
24
- /* Brand Action */
25
- --primary: oklch(0.52 0.11 185);
26
- --primary-foreground: oklch(0.99 0.01 185);
27
- --secondary: oklch(0.94 0.015 190);
28
- --secondary-foreground: oklch(0.25 0.04 210);
15
+ --background: oklch(0.98 0.005 265);
16
+ --foreground: oklch(0.14 0.02 265);
17
+ --card: oklch(1 0 0 / 85%);
18
+ --card-foreground: oklch(0.14 0.02 265);
19
+ --popover: oklch(0.99 0.003 265);
20
+ --popover-foreground: oklch(0.14 0.02 265);
21
+
22
+ /* Brand Action — Athletic Volt Accent */
23
+ --primary: oklch(0.72 0.22 128);
24
+ --primary-foreground: oklch(0.12 0.02 128);
25
+ --secondary: oklch(0.93 0.015 265);
26
+ --secondary-foreground: oklch(0.2 0.03 265);
29
27
 
30
28
  /* Muted / Accent */
31
- --muted: oklch(0.945 0.01 200);
32
- --muted-foreground: oklch(0.5 0.025 220);
33
- --accent: oklch(0.93 0.035 180);
34
- --accent-foreground: oklch(0.3 0.07 185);
29
+ --muted: oklch(0.94 0.01 265);
30
+ --muted-foreground: oklch(0.48 0.025 265);
31
+ --accent: oklch(0.92 0.025 265);
32
+ --accent-foreground: oklch(0.2 0.03 265);
35
33
 
36
34
  /* Status & Clinical Feedback */
37
35
  --destructive: oklch(0.58 0.2 25);
38
36
  --destructive-foreground: oklch(0.99 0 0);
39
37
  --warning: oklch(0.72 0.16 70);
40
38
  --warning-foreground: oklch(0.2 0.02 70);
41
- --success: oklch(0.62 0.15 155);
39
+ --success: oklch(0.65 0.2 140);
42
40
  --success-foreground: oklch(0.99 0 0);
43
- --info: oklch(0.62 0.13 235);
41
+ --info: oklch(0.62 0.15 210);
44
42
  --info-foreground: oklch(0.99 0 0);
45
43
 
46
44
  /* Form & Interactive */
47
- --border: oklch(0.2 0.03 220 / 9%);
48
- --input: oklch(0.2 0.03 220 / 12%);
49
- --ring: oklch(0.52 0.11 185);
45
+ --border: oklch(0.14 0.02 265 / 10%);
46
+ --input: oklch(0.14 0.02 265 / 12%);
47
+ --ring: oklch(0.72 0.22 128);
50
48
 
51
49
  /* Glassmorphism & Ambient Glow */
52
- --glass: oklch(1 0 0 / 62%);
53
- --glass-border: oklch(1 0 0 / 80%);
54
- --glow: oklch(0.7 0.14 180 / 25%);
55
- --glow-2: oklch(0.75 0.12 150 / 18%);
50
+ --glass: oklch(1 0 0 / 70%);
51
+ --glass-border: oklch(0.14 0.02 265 / 8%);
52
+ --glow: oklch(0.72 0.22 128 / 25%);
53
+ --glow-2: oklch(0.68 0.16 200 / 18%);
56
54
  --shadow-glass:
57
- 0 1px 0 0 oklch(1 0 0 / 70%) inset,
58
- 0 10px 40px -12px oklch(0.3 0.05 210 / 18%);
59
- --surface: oklch(1 0 0 / 70%);
60
- --surface-2: oklch(0.975 0.005 190);
61
- --overlay: oklch(0.975 0.006 190 / 80%);
55
+ 0 1px 0 0 oklch(1 0 0 / 80%) inset,
56
+ 0 10px 40px -12px oklch(0.14 0.02 265 / 12%);
57
+ --surface: oklch(1 0 0 / 75%);
58
+ --surface-2: oklch(0.96 0.008 265);
59
+ --overlay: oklch(0.98 0.005 265 / 80%);
62
60
 
63
61
  /* Navigation & Sidebar */
64
- --sidebar: oklch(0.99 0.004 190 / 70%);
65
- --sidebar-foreground: oklch(0.25 0.03 220);
66
- --sidebar-primary: oklch(0.52 0.11 185);
67
- --sidebar-primary-foreground: oklch(0.99 0 0);
68
- --sidebar-accent: oklch(0.93 0.035 180);
69
- --sidebar-accent-foreground: oklch(0.3 0.07 185);
70
- --sidebar-border: oklch(0.2 0.03 220 / 8%);
71
- --sidebar-ring: oklch(0.52 0.11 185);
72
-
73
- /* ── VitalAI Clinical Telemetry & Macro Tokens ───────────────────────── */
74
- --vital: oklch(0.62 0.15 160);
75
- --vital-foreground: oklch(0.99 0 0);
76
- --calories: oklch(0.66 0.17 45);
77
- --protein: oklch(0.55 0.13 185);
78
- --carbs: oklch(0.7 0.15 85);
79
- --fats: oklch(0.6 0.16 350);
80
- --water: oklch(0.62 0.13 235);
62
+ --sidebar: oklch(0.99 0.003 265 / 80%);
63
+ --sidebar-foreground: oklch(0.2 0.02 265);
64
+ --sidebar-primary: oklch(0.72 0.22 128);
65
+ --sidebar-primary-foreground: oklch(0.12 0.02 128);
66
+ --sidebar-accent: oklch(0.93 0.02 265);
67
+ --sidebar-accent-foreground: oklch(0.2 0.03 265);
68
+ --sidebar-border: oklch(0.14 0.02 265 / 8%);
69
+ --sidebar-ring: oklch(0.72 0.22 128);
70
+
71
+ /* ── VitalAI Kinetic Athletic Tokens ─────────────────────────────────── */
72
+ --volt: oklch(0.72 0.22 128);
73
+ --cyan: oklch(0.68 0.16 200);
74
+ --ember: oklch(0.65 0.21 40);
75
+ --slate-muscle: oklch(0.3 0.02 265);
81
76
 
82
77
  /* Visual Data Charts */
83
- --chart-1: var(--protein);
84
- --chart-2: var(--carbs);
85
- --chart-3: var(--fats);
86
- --chart-4: var(--calories);
87
- --chart-5: var(--water);
78
+ --chart-1: var(--volt);
79
+ --chart-2: var(--cyan);
80
+ --chart-3: var(--ember);
81
+ --chart-4: oklch(0.65 0.18 290);
82
+ --chart-5: oklch(0.72 0.16 75);
83
+
84
+ /* ── VitalAI Typography Tokens ───────────────────────────────────────── */
85
+ --theme-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
86
+ --theme-font-display: "Barlow Condensed", "Inter", sans-serif;
87
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
88
+ --font-sans: var(--theme-font-sans);
89
+ --font-display: var(--theme-font-display);
90
+ --font-mono: var(--theme-font-mono);
91
+
92
+ /* ── Athletic Density & Scaling ──────────────────────────────────────── */
93
+ --theme-font-size-root: 16px;
94
+ --theme-spacing: 0.25rem;
95
+
96
+ /* ── Sizing, Spacing & Layout Tokens ─────────────────────────────────── */
97
+ --control-height-xs: 2rem;
98
+ --control-height-sm: 2.25rem;
99
+ --control-height-md: 2.625rem;
100
+ --control-height-lg: 3rem;
101
+ --control-height-xl: 3.5rem;
102
+
103
+ --icon-xs: 0.875rem;
104
+ --icon-sm: 1rem;
105
+ --icon-md: 1.25rem;
106
+ --icon-lg: 1.5rem;
107
+ --icon-xl: 2rem;
108
+
109
+ --space-1: 0.25rem;
110
+ --space-2: 0.5rem;
111
+ --space-3: 0.875rem;
112
+ --space-4: 1.125rem;
113
+ --space-5: 1.5rem;
114
+ --space-6: 1.875rem;
115
+ --space-8: 2.5rem;
116
+ --space-10: 3rem;
117
+ --card-padding: var(--space-5);
118
+ --dialog-padding: var(--space-6);
119
+ --form-field-gap: var(--space-4);
120
+ --section-gap: var(--space-6);
121
+ --table-row-padding-x: var(--space-5);
122
+ --table-row-padding-y: var(--space-4);
88
123
  }
89
-
90
- /* ── VitalAI Theme — Dark Mode ────────────────────────────────────────── */
124
+ /* ── VitalAI Theme — Dark Mode (Signature Muscle Monster Aesthetic) ───── */
91
125
  [data-theme="vitalai-dark"],
92
126
  [data-brand="vitalai"][data-theme="dark"],
93
127
  [data-brand="vitalai"][data-theme="vitalai-dark"],
@@ -103,76 +137,112 @@
103
137
  :root.dark[data-brand="vitalai"],
104
138
  :root.dark[data-theme="vitalai"] {
105
139
  --radius: 1rem;
106
-
107
- /* Surfaces */
108
- --background: oklch(0.155 0.018 230);
109
- --foreground: oklch(0.95 0.01 200);
110
- --card: oklch(0.22 0.02 225 / 60%);
111
- --card-foreground: oklch(0.95 0.01 200);
112
- --popover: oklch(0.2 0.02 225);
113
- --popover-foreground: oklch(0.95 0.01 200);
114
-
115
- /* Brand Action */
116
- --primary: oklch(0.8 0.13 180);
117
- --primary-foreground: oklch(0.18 0.03 210);
118
- --secondary: oklch(0.26 0.02 225);
119
- --secondary-foreground: oklch(0.92 0.01 200);
140
+ /* Surfaces — Obsidian Carbon */
141
+ --background: oklch(0.12 0.006 265);
142
+ --foreground: oklch(0.97 0.005 265);
143
+ --card: oklch(0.16 0.01 265 / 75%);
144
+ --card-foreground: oklch(0.97 0.005 265);
145
+ --popover: oklch(0.17 0.01 265);
146
+ --popover-foreground: oklch(0.97 0.005 265);
147
+
148
+ /* Brand Action — High-Voltage Neon Volt Green */
149
+ --primary: oklch(0.93 0.23 125);
150
+ --primary-foreground: oklch(0.14 0.02 125);
151
+ --secondary: oklch(0.22 0.012 265);
152
+ --secondary-foreground: oklch(0.92 0.008 265);
120
153
 
121
154
  /* Muted / Accent */
122
- --muted: oklch(0.25 0.018 225);
123
- --muted-foreground: oklch(0.68 0.02 210);
124
- --accent: oklch(0.3 0.05 190);
125
- --accent-foreground: oklch(0.88 0.1 180);
155
+ --muted: oklch(0.2 0.01 265);
156
+ --muted-foreground: oklch(0.65 0.015 265);
157
+ --accent: oklch(0.24 0.018 265);
158
+ --accent-foreground: oklch(0.93 0.23 125);
126
159
 
127
160
  /* Status & Clinical Feedback */
128
- --destructive: oklch(0.68 0.19 22);
161
+ --destructive: oklch(0.68 0.2 25);
129
162
  --destructive-foreground: oklch(0.99 0 0);
130
- --warning: oklch(0.8 0.15 75);
163
+ --warning: oklch(0.8 0.16 75);
131
164
  --warning-foreground: oklch(0.15 0.02 75);
132
- --success: oklch(0.78 0.16 155);
133
- --success-foreground: oklch(0.15 0.02 230);
134
- --info: oklch(0.74 0.13 235);
165
+ --success: oklch(0.88 0.22 135);
166
+ --success-foreground: oklch(0.14 0.02 125);
167
+ --info: oklch(0.82 0.15 205);
135
168
  --info-foreground: oklch(0.15 0.02 230);
136
169
 
137
170
  /* Form & Interactive */
138
171
  --border: oklch(1 0 0 / 8%);
139
172
  --input: oklch(1 0 0 / 12%);
140
- --ring: oklch(0.8 0.13 180);
173
+ --ring: oklch(0.93 0.23 125);
141
174
 
142
175
  /* Glassmorphism & Ambient Glow */
143
- --glass: oklch(0.24 0.02 225 / 55%);
144
- --glass-border: oklch(1 0 0 / 9%);
145
- --glow: oklch(0.7 0.14 180 / 22%);
146
- --glow-2: oklch(0.6 0.14 260 / 16%);
176
+ --glass: oklch(0.16 0.01 265 / 75%);
177
+ --glass-border: oklch(1 0 0 / 8%);
178
+ --glow: oklch(0.93 0.23 125 / 25%);
179
+ --glow-2: oklch(0.87 0.15 200 / 20%);
147
180
  --shadow-glass:
148
- 0 1px 0 0 oklch(1 0 0 / 5%) inset, 0 20px 50px -20px oklch(0 0 0 / 60%);
149
- --surface: oklch(0.22 0.02 225 / 70%);
150
- --surface-2: oklch(0.25 0.02 225);
151
- --overlay: oklch(0.12 0.018 230 / 80%);
181
+ 0 1px 0 0 oklch(1 0 0 / 8%) inset, 0 20px 50px -20px oklch(0 0 0 / 80%);
182
+ --surface: oklch(0.16 0.01 265);
183
+ --surface-2: oklch(0.2 0.012 265);
184
+ --overlay: oklch(0.1 0.006 265 / 85%);
152
185
 
153
186
  /* Navigation & Sidebar */
154
- --sidebar: oklch(0.18 0.02 228 / 70%);
155
- --sidebar-foreground: oklch(0.9 0.01 200);
156
- --sidebar-primary: oklch(0.8 0.13 180);
157
- --sidebar-primary-foreground: oklch(0.18 0.03 210);
158
- --sidebar-accent: oklch(0.28 0.04 195);
159
- --sidebar-accent-foreground: oklch(0.9 0.1 180);
160
- --sidebar-border: oklch(1 0 0 / 6%);
161
- --sidebar-ring: oklch(0.8 0.13 180);
162
-
163
- /* ── VitalAI Clinical Telemetry & Macro Tokens ───────────────────────── */
164
- --vital: oklch(0.82 0.16 160);
165
- --vital-foreground: oklch(0.18 0.03 210);
166
- --calories: oklch(0.76 0.16 50);
167
- --protein: oklch(0.8 0.13 180);
168
- --carbs: oklch(0.85 0.14 90);
169
- --fats: oklch(0.74 0.16 350);
170
- --water: oklch(0.74 0.13 235);
187
+ --sidebar: oklch(0.14 0.008 265 / 80%);
188
+ --sidebar-foreground: oklch(0.9 0.005 265);
189
+ --sidebar-primary: oklch(0.93 0.23 125);
190
+ --sidebar-primary-foreground: oklch(0.14 0.02 125);
191
+ --sidebar-accent: oklch(0.22 0.015 265);
192
+ --sidebar-accent-foreground: oklch(0.93 0.23 125);
193
+ --sidebar-border: oklch(1 0 0 / 7%);
194
+ --sidebar-ring: oklch(0.93 0.23 125);
195
+
196
+ /* ── VitalAI Kinetic Athletic Tokens ─────────────────────────────────── */
197
+ --volt: oklch(0.93 0.23 125);
198
+ --cyan: oklch(0.87 0.15 200);
199
+ --ember: oklch(0.7 0.21 45);
200
+ --slate-muscle: oklch(0.27 0.015 265);
171
201
 
172
202
  /* Visual Data Charts */
173
- --chart-1: var(--protein);
174
- --chart-2: var(--carbs);
175
- --chart-3: var(--fats);
176
- --chart-4: var(--calories);
177
- --chart-5: var(--water);
203
+ --chart-1: var(--volt);
204
+ --chart-2: var(--cyan);
205
+ --chart-3: var(--ember);
206
+ --chart-4: oklch(0.75 0.18 290);
207
+ --chart-5: oklch(0.85 0.15 85);
208
+
209
+ /* ── VitalAI Typography Tokens ───────────────────────────────────────── */
210
+ --theme-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
211
+ --theme-font-display: "Barlow Condensed", "Inter", sans-serif;
212
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
213
+ --font-sans: var(--theme-font-sans);
214
+ --font-display: var(--theme-font-display);
215
+ --font-mono: var(--theme-font-mono);
216
+
217
+ /* ── Athletic Density & Scaling ──────────────────────────────────────── */
218
+ --theme-font-size-root: 16px;
219
+ --theme-spacing: 0.25rem;
220
+
221
+ /* ── Sizing, Spacing & Layout Tokens ─────────────────────────────────── */
222
+ --control-height-xs: 2rem;
223
+ --control-height-sm: 2.25rem;
224
+ --control-height-md: 2.625rem;
225
+ --control-height-lg: 3rem;
226
+ --control-height-xl: 3.5rem;
227
+
228
+ --icon-xs: 0.875rem;
229
+ --icon-sm: 1rem;
230
+ --icon-md: 1.25rem;
231
+ --icon-lg: 1.5rem;
232
+ --icon-xl: 2rem;
233
+
234
+ --space-1: 0.25rem;
235
+ --space-2: 0.5rem;
236
+ --space-3: 0.875rem;
237
+ --space-4: 1.125rem;
238
+ --space-5: 1.5rem;
239
+ --space-6: 1.875rem;
240
+ --space-8: 2.5rem;
241
+ --space-10: 3rem;
242
+ --card-padding: var(--space-5);
243
+ --dialog-padding: var(--space-6);
244
+ --form-field-gap: var(--space-4);
245
+ --section-gap: var(--space-6);
246
+ --table-row-padding-x: var(--space-5);
247
+ --table-row-padding-y: var(--space-4);
178
248
  }
package/package.json CHANGED
@@ -1,7 +1,26 @@
1
1
  {
2
2
  "name": "@yuva-devlab/tokens",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Design tokens, brand themes, and Tailwind CSS 4 preset bridge for Yuva DevLab",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/yuvadevlab/devlab-shared.git",
8
+ "directory": "packages/tokens"
9
+ },
10
+ "bugs": {
11
+ "url": "https://github.com/yuvadevlab/devlab-shared/issues"
12
+ },
13
+ "keywords": [
14
+ "design-tokens",
15
+ "tokens",
16
+ "tailwindcss",
17
+ "oklch",
18
+ "css-variables",
19
+ "vitalai",
20
+ "orchestrai",
21
+ "finai",
22
+ "devlab"
23
+ ],
5
24
  "type": "module",
6
25
  "main": "./dist/index.cjs",
7
26
  "module": "./dist/index.js",
@@ -36,13 +55,13 @@
36
55
  "license": "MIT",
37
56
  "devDependencies": {
38
57
  "@types/node": "^24.10.1",
58
+ "@yuva-devlab/eslint-config": "0.1.1",
59
+ "@yuva-devlab/prettier-config": "0.1.1",
60
+ "@yuva-devlab/typescript-config": "0.1.1",
39
61
  "eslint": "^9.39.1",
40
62
  "prettier": "^3.9.8",
41
63
  "tsup": "^8.5.1",
42
- "typescript": "^6.0.3",
43
- "@yuva-devlab/eslint-config": "0.1.1",
44
- "@yuva-devlab/prettier-config": "0.1.1",
45
- "@yuva-devlab/typescript-config": "0.1.1"
64
+ "typescript": "^6.0.3"
46
65
  },
47
66
  "publishConfig": {
48
67
  "access": "public"
package/styles/preset.css CHANGED
@@ -96,6 +96,19 @@
96
96
  --section-gap: var(--space-5);
97
97
  --table-row-padding-x: var(--space-4);
98
98
  --table-row-padding-y: var(--space-3);
99
+
100
+ /* ── Typography Fallback Baseline ───────────────────────────────────── */
101
+ --theme-font-sans:
102
+ system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
103
+ --theme-font-display: var(--theme-font-sans);
104
+ --theme-font-mono:
105
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
106
+ --font-sans: var(--theme-font-sans);
107
+ --font-display: var(--theme-font-display);
108
+ --font-mono: var(--theme-font-mono);
109
+
110
+ --theme-font-size-root: 16px;
111
+ --theme-spacing: 0.25rem;
99
112
  }
100
113
 
101
114
  .dark,
@@ -158,9 +171,28 @@
158
171
  --chart-3: oklch(0.75 0.12 70);
159
172
  --chart-4: oklch(0.8 0.14 80);
160
173
  --chart-5: oklch(0.65 0.18 25);
174
+
175
+ /* ── Typography Fallback Baseline ───────────────────────────────────── */
176
+ --theme-font-sans:
177
+ system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
178
+ --theme-font-display: var(--theme-font-sans);
179
+ --theme-font-mono:
180
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
181
+ --font-sans: var(--theme-font-sans);
182
+ --font-display: var(--theme-font-display);
183
+ --font-mono: var(--theme-font-mono);
184
+
185
+ --theme-font-size-root: 16px;
186
+ --theme-spacing: 0.25rem;
161
187
  }
162
188
 
163
189
  @theme inline {
190
+ /* ── Typography & Spacing Tokens ────────────────────────────────── */
191
+ --font-sans: var(--font-sans);
192
+ --font-display: var(--font-display);
193
+ --font-mono: var(--font-mono);
194
+ --spacing: var(--theme-spacing, 0.25rem);
195
+
164
196
  /* ── Radii Mappings ─────────────────────────────────────────────── */
165
197
  --radius-sm: calc(var(--radius, 0.5rem) - 4px);
166
198
  --radius-md: calc(var(--radius, 0.5rem) - 2px);
@@ -221,14 +253,11 @@
221
253
  --color-chart-4: var(--chart-4);
222
254
  --color-chart-5: var(--chart-5);
223
255
 
224
- /* ── VitalAI Clinical & Performance Telemetry Tokens ───────────── */
225
- --color-vital: var(--vital);
226
- --color-vital-foreground: var(--vital-foreground);
227
- --color-calories: var(--calories);
228
- --color-protein: var(--protein);
229
- --color-carbs: var(--carbs);
230
- --color-fats: var(--fats);
231
- --color-water: var(--water);
256
+ /* ── VitalAI High-Performance Athletic & Kinetic Tokens ────────── */
257
+ --color-volt: var(--volt);
258
+ --color-cyan: var(--cyan);
259
+ --color-ember: var(--ember);
260
+ --color-slate-muscle: var(--slate-muscle);
232
261
  --color-glass: var(--glass);
233
262
  --color-glass-border: var(--glass-border);
234
263
 
@@ -106,6 +106,20 @@
106
106
  --section-gap: var(--space-6);
107
107
  --table-row-padding-x: var(--space-6);
108
108
  --table-row-padding-y: var(--space-4);
109
+
110
+ /* ── FinAI Typography Tokens ─────────────────────────────────────────── */
111
+ --theme-font-sans:
112
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
113
+ --theme-font-display:
114
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
115
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
116
+ --font-sans: var(--theme-font-sans);
117
+ --font-display: var(--theme-font-display);
118
+ --font-mono: var(--theme-font-mono);
119
+
120
+ /* ── Financial Wellness Scaling ──────────────────────────────────────── */
121
+ --theme-font-size-root: 16px;
122
+ --theme-spacing: 0.265rem;
109
123
  }
110
124
 
111
125
  /* ── FinAI Theme — Dark Mode ──────────────────────────────────────────── */
@@ -189,4 +203,47 @@
189
203
  --expense-foreground: var(--destructive-foreground);
190
204
  --investment: oklch(0.68 0.19 260);
191
205
  --investment-foreground: oklch(0.97 0.003 260);
206
+
207
+ /* ── Sizing, Spacing & Layout Tokens ───────────────────────────────────── */
208
+ --control-height-xs: 1.75rem;
209
+ --control-height-sm: 2rem;
210
+ --control-height-md: 2.375rem;
211
+ --control-height-lg: 2.75rem;
212
+ --control-height-xl: 3.25rem;
213
+
214
+ --icon-xs: 0.75rem;
215
+ --icon-sm: 0.875rem;
216
+ --icon-md: 1rem;
217
+ --icon-lg: 1.25rem;
218
+ --icon-xl: 1.5rem;
219
+
220
+ --space-1: 0.25rem;
221
+ --space-2: 0.5rem;
222
+ --space-3: 0.75rem;
223
+ --space-4: 1rem;
224
+ --space-5: 1.25rem;
225
+ --space-6: 1.5rem;
226
+ --space-8: 2rem;
227
+ --space-10: 2.5rem;
228
+
229
+ --card-padding: var(--space-5);
230
+ --dialog-padding: var(--space-6);
231
+ --form-field-gap: var(--space-4);
232
+ --section-gap: var(--space-6);
233
+ --table-row-padding-x: var(--space-6);
234
+ --table-row-padding-y: var(--space-4);
235
+
236
+ /* ── FinAI Typography Tokens ─────────────────────────────────────────── */
237
+ --theme-font-sans:
238
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
239
+ --theme-font-display:
240
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
241
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
242
+ --font-sans: var(--theme-font-sans);
243
+ --font-display: var(--theme-font-display);
244
+ --font-mono: var(--theme-font-mono);
245
+
246
+ /* ── Financial Wellness Scaling ──────────────────────────────────────── */
247
+ --theme-font-size-root: 16px;
248
+ --theme-spacing: 0.265rem;
192
249
  }
@@ -64,6 +64,48 @@
64
64
  oklch(0 0 0 / 5%) 1px,
65
65
  transparent 0
66
66
  );
67
+
68
+ /* ── DevLab Logs Typography Tokens ───────────────────────────────────── */
69
+ --theme-font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
70
+ --theme-font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
71
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
72
+ --font-sans: var(--theme-font-sans);
73
+ --font-display: var(--theme-font-display);
74
+ --font-mono: var(--theme-font-mono);
75
+
76
+ /* ── High-Density Observability Scaling ──────────────────────────────── */
77
+ --theme-font-size-root: 14.5px;
78
+ --theme-spacing: 0.2rem;
79
+ --radius: 0.375rem;
80
+
81
+ /* ── Sizing, Spacing & Layout Tokens ─────────────────────────────────── */
82
+ --control-height-xs: 1.5rem;
83
+ --control-height-sm: 1.75rem;
84
+ --control-height-md: 2rem;
85
+ --control-height-lg: 2.25rem;
86
+ --control-height-xl: 2.5rem;
87
+
88
+ --icon-xs: 0.75rem;
89
+ --icon-sm: 0.875rem;
90
+ --icon-md: 1rem;
91
+ --icon-lg: 1.125rem;
92
+ --icon-xl: 1.25rem;
93
+
94
+ --space-1: 0.125rem;
95
+ --space-2: 0.25rem;
96
+ --space-3: 0.5rem;
97
+ --space-4: 0.75rem;
98
+ --space-5: 1rem;
99
+ --space-6: 1.25rem;
100
+ --space-8: 1.5rem;
101
+ --space-10: 2rem;
102
+
103
+ --card-padding: var(--space-3);
104
+ --dialog-padding: var(--space-4);
105
+ --form-field-gap: var(--space-2);
106
+ --section-gap: var(--space-4);
107
+ --table-row-padding-x: var(--space-3);
108
+ --table-row-padding-y: var(--space-2);
67
109
  }
68
110
 
69
111
  /* ── DevLab Logs Theme — Dark Mode ─────────────────────────────────────────── */
@@ -134,4 +176,46 @@
134
176
  oklch(1 0 0 / 4%) 1px,
135
177
  transparent 0
136
178
  );
179
+
180
+ /* ── DevLab Logs Typography Tokens ───────────────────────────────────── */
181
+ --theme-font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
182
+ --theme-font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
183
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
184
+ --font-sans: var(--theme-font-sans);
185
+ --font-display: var(--theme-font-display);
186
+ --font-mono: var(--theme-font-mono);
187
+
188
+ /* ── High-Density Observability Scaling ──────────────────────────────── */
189
+ --theme-font-size-root: 14.5px;
190
+ --theme-spacing: 0.2rem;
191
+ --radius: 0.375rem;
192
+
193
+ /* ── Sizing, Spacing & Layout Tokens ─────────────────────────────────── */
194
+ --control-height-xs: 1.5rem;
195
+ --control-height-sm: 1.75rem;
196
+ --control-height-md: 2rem;
197
+ --control-height-lg: 2.25rem;
198
+ --control-height-xl: 2.5rem;
199
+
200
+ --icon-xs: 0.75rem;
201
+ --icon-sm: 0.875rem;
202
+ --icon-md: 1rem;
203
+ --icon-lg: 1.125rem;
204
+ --icon-xl: 1.25rem;
205
+
206
+ --space-1: 0.125rem;
207
+ --space-2: 0.25rem;
208
+ --space-3: 0.5rem;
209
+ --space-4: 0.75rem;
210
+ --space-5: 1rem;
211
+ --space-6: 1.25rem;
212
+ --space-8: 1.5rem;
213
+ --space-10: 2rem;
214
+
215
+ --card-padding: var(--space-3);
216
+ --dialog-padding: var(--space-4);
217
+ --form-field-gap: var(--space-2);
218
+ --section-gap: var(--space-4);
219
+ --table-row-padding-x: var(--space-3);
220
+ --table-row-padding-y: var(--space-2);
137
221
  }
@@ -98,6 +98,19 @@
98
98
  --section-gap: var(--space-5);
99
99
  --table-row-padding-x: var(--space-4);
100
100
  --table-row-padding-y: var(--space-3);
101
+
102
+ /* ── OrchestrAI Typography Tokens ─────────────────────────────────────── */
103
+ --theme-font-sans:
104
+ "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;
105
+ --theme-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
106
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
107
+ --font-sans: var(--theme-font-sans);
108
+ --font-display: var(--theme-font-display);
109
+ --font-mono: var(--theme-font-mono);
110
+
111
+ /* ── Balanced Cybernetic Scaling ─────────────────────────────────────── */
112
+ --theme-font-size-root: 16px;
113
+ --theme-spacing: 0.25rem;
101
114
  }
102
115
 
103
116
  /* ── OrchestrAI Theme — Dark Mode ──────────────────────────────────────── */
@@ -202,4 +215,17 @@
202
215
  --section-gap: var(--space-5);
203
216
  --table-row-padding-x: var(--space-4);
204
217
  --table-row-padding-y: var(--space-3);
218
+
219
+ /* ── OrchestrAI Typography Tokens ─────────────────────────────────────── */
220
+ --theme-font-sans:
221
+ "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;
222
+ --theme-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
223
+ --theme-font-mono: "JetBrains Mono", ui-monospace, monospace;
224
+ --font-sans: var(--theme-font-sans);
225
+ --font-display: var(--theme-font-display);
226
+ --font-mono: var(--theme-font-mono);
227
+
228
+ /* ── Balanced Cybernetic Scaling ─────────────────────────────────────── */
229
+ --theme-font-size-root: 16px;
230
+ --theme-spacing: 0.25rem;
205
231
  }