@compose-market/theme 0.0.90 → 0.0.91

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 (45) hide show
  1. package/dist/agents/index.d.ts +2 -2
  2. package/dist/agents/index.d.ts.map +1 -1
  3. package/dist/app/index.d.ts +1 -1
  4. package/dist/app/index.d.ts.map +1 -1
  5. package/dist/app/styles.d.ts +1 -1
  6. package/dist/app/styles.d.ts.map +1 -1
  7. package/dist/app/styles.js +64 -4
  8. package/dist/app/styles.js.map +1 -1
  9. package/dist/css/app.css +64 -4
  10. package/dist/css/dark.css +18 -18
  11. package/dist/css/effects.css +293 -30
  12. package/dist/css/session.css +28 -0
  13. package/dist/css/shell.css +46 -30
  14. package/dist/css/tokens.css +1 -1
  15. package/dist/css/utilities.css +246 -4
  16. package/dist/effects/styles.d.ts +3 -3
  17. package/dist/effects/styles.d.ts.map +1 -1
  18. package/dist/effects/styles.js +295 -32
  19. package/dist/effects/styles.js.map +1 -1
  20. package/dist/session/index.d.ts +16 -4
  21. package/dist/session/index.d.ts.map +1 -1
  22. package/dist/session/index.js +31 -2
  23. package/dist/session/index.js.map +1 -1
  24. package/dist/session/styles.d.ts +1 -1
  25. package/dist/session/styles.d.ts.map +1 -1
  26. package/dist/session/styles.js +28 -0
  27. package/dist/session/styles.js.map +1 -1
  28. package/dist/shell/index.d.ts +19 -19
  29. package/dist/shell/index.d.ts.map +1 -1
  30. package/dist/shell/styles.d.ts +1 -1
  31. package/dist/shell/styles.d.ts.map +1 -1
  32. package/dist/shell/styles.js +46 -30
  33. package/dist/shell/styles.js.map +1 -1
  34. package/dist/themes/dark.js +25 -25
  35. package/dist/themes/dark.js.map +1 -1
  36. package/dist/tokens/typography.d.ts +1 -1
  37. package/dist/tokens/typography.js +2 -2
  38. package/dist/tokens/typography.js.map +1 -1
  39. package/dist/utilities/styles.d.ts +2 -2
  40. package/dist/utilities/styles.d.ts.map +1 -1
  41. package/dist/utilities/styles.js +247 -5
  42. package/dist/utilities/styles.js.map +1 -1
  43. package/dist/workflows/index.d.ts +4 -4
  44. package/dist/workflows/index.d.ts.map +1 -1
  45. package/package.json +10 -10
@@ -4,14 +4,16 @@ export const shellCss = `/**
4
4
  */
5
5
 
6
6
  :root {
7
- --cm-shell-glow-primary: hsl(var(--primary) / 0.24);
8
- --cm-shell-glow-accent: hsl(var(--accent) / 0.14);
7
+ --cm-shell-glow-primary: hsl(var(--primary) / 0.3);
8
+ --cm-shell-glow-accent: hsl(var(--accent) / 0.16);
9
9
  --cm-shell-surface:
10
- linear-gradient(180deg, hsl(var(--card) / 0.96), hsl(var(--card) / 0.82));
11
- --cm-shell-border: hsl(var(--border) / 0.92);
10
+ linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.24)),
11
+ radial-gradient(circle at 18% 0%, hsl(var(--primary) / 0.08), transparent 34%),
12
+ hsl(224 36% 13% / 0.28);
13
+ --cm-shell-border: hsl(var(--primary) / 0.18);
12
14
  --cm-shell-shadow:
13
- 0 16px 48px hsl(240 30% 2% / 0.38),
14
- inset 0 1px 0 hsl(0 0% 100% / 0.04);
15
+ 0 0 40px hsl(var(--primary) / 0.055),
16
+ inset 0 1px 0 hsl(0 0% 100% / 0.06);
15
17
  }
16
18
 
17
19
  .cm-shell-stack {
@@ -34,9 +36,10 @@ export const shellCss = `/**
34
36
  gap: 0.55rem;
35
37
  min-height: 2.3rem;
36
38
  padding: 0 0.95rem;
37
- border-radius: var(--radius, 0.25rem);
38
- border: 1px solid hsl(var(--border) / 0.88);
39
- background: hsl(var(--card) / 0.92);
39
+ border-radius: 999px;
40
+ border: 1px solid hsl(var(--primary) / 0.22);
41
+ background:
42
+ linear-gradient(180deg, hsl(var(--card) / 0.72), hsl(var(--background) / 0.36));
40
43
  color: hsl(var(--foreground));
41
44
  font-family: var(--font-mono), monospace;
42
45
  font-size: 0.76rem;
@@ -51,7 +54,10 @@ export const shellCss = `/**
51
54
  border-color 180ms ease,
52
55
  color 180ms ease,
53
56
  box-shadow 180ms ease;
54
- box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.03);
57
+ box-shadow:
58
+ inset 0 1px 0 hsl(0 0% 100% / 0.04),
59
+ 0 0 16px hsl(var(--primary) / 0.035);
60
+ backdrop-filter: blur(12px) saturate(1.08);
55
61
  }
56
62
 
57
63
  .cm-shell-button:hover:not(:disabled) {
@@ -66,7 +72,7 @@ export const shellCss = `/**
66
72
 
67
73
  .cm-shell-button--primary {
68
74
  background:
69
- linear-gradient(180deg, hsl(var(--primary)), hsl(188 95% 39%));
75
+ linear-gradient(135deg, #8aebff, #22d3ee);
70
76
  color: hsl(var(--primary-foreground));
71
77
  border-color: hsl(var(--primary) / 0.56);
72
78
  box-shadow:
@@ -82,12 +88,14 @@ export const shellCss = `/**
82
88
  }
83
89
 
84
90
  .cm-shell-button--secondary {
85
- background: hsl(var(--muted) / 0.28);
86
- border-color: hsl(var(--border) / 0.88);
91
+ background: hsl(221 50% 9% / 0.36);
92
+ border-color: hsl(var(--primary) / 0.2);
93
+ color: hsl(var(--primary));
87
94
  }
88
95
 
89
96
  .cm-shell-button--secondary:hover:not(:disabled) {
90
- background: hsl(var(--muted) / 0.54);
97
+ background: hsl(var(--primary) / 0.1);
98
+ box-shadow: 0 0 18px hsl(var(--primary) / 0.1);
91
99
  }
92
100
 
93
101
  .cm-shell-button--ghost {
@@ -136,8 +144,9 @@ export const shellCss = `/**
136
144
  min-height: 1.75rem;
137
145
  padding: 0 0.72rem;
138
146
  border-radius: 999px;
139
- border: 1px solid hsl(var(--primary) / 0.18);
140
- background: linear-gradient(180deg, hsl(var(--card) / 0.94), hsl(var(--muted) / 0.3));
147
+ border: 1px solid hsl(var(--primary) / 0.2);
148
+ background:
149
+ linear-gradient(180deg, hsl(var(--card) / 0.76), hsl(var(--muted) / 0.26));
141
150
  color: hsl(var(--muted-foreground));
142
151
  font-family: var(--font-mono), monospace;
143
152
  font-size: 0.68rem;
@@ -152,15 +161,16 @@ export const shellCss = `/**
152
161
 
153
162
  .cm-shell-panel {
154
163
  border: 1px solid var(--cm-shell-border);
155
- border-radius: max(var(--radius, 0.25rem), 0.3rem);
164
+ border-radius: 12px;
156
165
  background: var(--cm-shell-surface);
157
166
  box-shadow: var(--cm-shell-shadow);
158
- backdrop-filter: blur(16px);
167
+ backdrop-filter: blur(16px) saturate(1.12);
159
168
  }
160
169
 
161
170
  .cm-shell-panel--muted {
162
171
  background:
163
- linear-gradient(180deg, hsl(var(--muted) / 0.34), hsl(var(--background) / 0.9));
172
+ linear-gradient(145deg, hsl(224 36% 13% / 0.36), hsl(221 50% 9% / 0.72)),
173
+ radial-gradient(circle at 18% 0%, hsl(var(--primary) / 0.06), transparent 34%);
164
174
  }
165
175
 
166
176
  .cm-shell-panel--ghost {
@@ -247,9 +257,10 @@ export const shellCss = `/**
247
257
  align-items: center;
248
258
  gap: 0.35rem;
249
259
  padding: 0.25rem;
250
- border: 1px solid hsl(var(--border) / 0.75);
251
- border-radius: var(--radius, 0.25rem);
252
- background: hsl(var(--muted) / 0.16);
260
+ border: 1px solid hsl(var(--primary) / 0.16);
261
+ border-radius: 999px;
262
+ background: hsl(var(--muted) / 0.14);
263
+ backdrop-filter: blur(12px);
253
264
  }
254
265
 
255
266
  .cm-shell-tab {
@@ -258,7 +269,7 @@ export const shellCss = `/**
258
269
  gap: 0.5rem;
259
270
  min-height: 2.1rem;
260
271
  padding: 0 0.85rem;
261
- border-radius: calc(var(--radius, 0.25rem) - 1px);
272
+ border-radius: 999px;
262
273
  border: 1px solid transparent;
263
274
  background: transparent;
264
275
  color: hsl(var(--muted-foreground));
@@ -294,8 +305,9 @@ export const shellCss = `/**
294
305
  align-items: center;
295
306
  gap: 0.7rem;
296
307
  padding: 0.8rem 0.95rem;
297
- border-radius: max(var(--radius, 0.25rem), 0.3rem);
308
+ border-radius: 12px;
298
309
  border: 1px solid;
310
+ backdrop-filter: blur(12px);
299
311
  }
300
312
 
301
313
  .cm-shell-notice--info {
@@ -384,7 +396,9 @@ export const shellCss = `/**
384
396
  align-items: center;
385
397
  justify-content: center;
386
398
  padding: 1rem;
387
- background: hsl(240 30% 2% / 0.8);
399
+ background:
400
+ radial-gradient(circle at 50% 24%, hsl(var(--primary) / 0.08), transparent 28rem),
401
+ hsl(240 30% 2% / 0.82);
388
402
  backdrop-filter: blur(12px);
389
403
  z-index: 100;
390
404
  }
@@ -393,7 +407,7 @@ export const shellCss = `/**
393
407
  width: min(100%, 46rem);
394
408
  max-height: min(90vh, 56rem);
395
409
  overflow: auto;
396
- border-radius: max(var(--radius, 0.25rem), 0.3rem);
410
+ border-radius: 12px;
397
411
  }
398
412
 
399
413
  .cm-shell-modal__header {
@@ -460,9 +474,9 @@ export const shellCss = `/**
460
474
  .cm-form-select {
461
475
  width: 100%;
462
476
  padding: 10px 12px;
463
- background: hsl(var(--input) / 0.92);
464
- border: 1px solid hsl(var(--border));
465
- border-radius: var(--radius, 0.25rem);
477
+ background: hsl(222 47% 7% / 0.84);
478
+ border: 1px solid hsl(var(--primary) / 0.16);
479
+ border-radius: 10px;
466
480
  color: hsl(var(--foreground));
467
481
  font-size: 14px;
468
482
  font-family: var(--font-sans), sans-serif;
@@ -474,7 +488,9 @@ export const shellCss = `/**
474
488
  .cm-form-select:focus {
475
489
  outline: none;
476
490
  border-color: hsl(var(--primary));
477
- box-shadow: 0 0 0 1px hsl(var(--primary) / 0.24);
491
+ box-shadow:
492
+ 0 0 0 1px hsl(var(--primary) / 0.24),
493
+ inset 0 0 20px hsl(var(--primary) / 0.06);
478
494
  background: hsl(var(--background) / 0.96);
479
495
  }
480
496
 
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/shell/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuyBvB,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/shell/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuzBvB,CAAC"}
@@ -5,32 +5,32 @@
5
5
  * Based on official branding guidelines.
6
6
  */
7
7
  export const darkTheme = {
8
- background: '222 47% 3%',
9
- foreground: '210 40% 80%',
10
- card: '222 40% 5%',
11
- cardForeground: '210 30% 75%',
12
- popover: '222 40% 4%',
13
- popoverForeground: '210 30% 75%',
8
+ background: '221 50% 9%',
9
+ foreground: '230 78% 92%',
10
+ card: '224 36% 13%',
11
+ cardForeground: '230 78% 92%',
12
+ popover: '224 36% 13%',
13
+ popoverForeground: '230 78% 92%',
14
14
  primary: '188 95% 43%',
15
15
  primaryForeground: '222 47% 3%',
16
- secondary: '270 60% 20%',
17
- secondaryForeground: '270 80% 90%',
18
- muted: '217 33% 15%',
19
- mutedForeground: '215 16% 47%',
16
+ secondary: '226 21% 23%',
17
+ secondaryForeground: '230 78% 92%',
18
+ muted: '224 36% 13%',
19
+ mutedForeground: '229 28% 70%',
20
20
  accent: '292 85% 55%',
21
- accentForeground: '0 0% 100%',
21
+ accentForeground: '230 78% 92%',
22
22
  destructive: '0 90% 50%',
23
23
  destructiveForeground: '0 0% 100%',
24
- border: '217 33% 15%',
25
- input: '217 33% 10%',
24
+ border: '188 95% 43%',
25
+ input: '222 47% 7%',
26
26
  ring: '188 95% 43%',
27
- sidebar: '222 47% 3%',
28
- sidebarForeground: '210 30% 75%',
27
+ sidebar: '221 50% 9%',
28
+ sidebarForeground: '230 78% 92%',
29
29
  sidebarPrimary: '188 95% 43%',
30
30
  sidebarPrimaryForeground: '222 47% 3%',
31
- sidebarAccent: '222 40% 8%',
32
- sidebarAccentForeground: '210 40% 90%',
33
- sidebarBorder: '217 33% 15%',
31
+ sidebarAccent: '226 21% 23%',
32
+ sidebarAccentForeground: '230 78% 92%',
33
+ sidebarBorder: '188 95% 43%',
34
34
  sidebarRing: '188 95% 43%',
35
35
  };
36
36
  export const darkThemeMeta = {
@@ -40,9 +40,9 @@ export const darkThemeMeta = {
40
40
  colors: darkTheme,
41
41
  };
42
42
  export const darkBackgrounds = {
43
- default: 'radial-gradient(circle at 50% 0%, hsl(270 60% 10% / 0.2), transparent 70%), linear-gradient(to bottom, transparent, hsl(222 47% 3%))',
44
- subtle: 'hsl(222 47% 3%)',
45
- elevated: 'hsl(222 40% 5%)',
43
+ default: 'radial-gradient(circle at 50% 0%, hsl(188 95% 43% / 0.12), transparent 70%), linear-gradient(to bottom, transparent, hsl(221 50% 9%))',
44
+ subtle: 'hsl(221 50% 9%)',
45
+ elevated: 'hsl(224 36% 13%)',
46
46
  };
47
47
  export const darkEffects = {
48
48
  neonGlow: {
@@ -50,10 +50,10 @@ export const darkEffects = {
50
50
  fuchsia: '0 0 10px hsl(292 85% 55% / 0.5), 0 0 20px hsl(292 85% 55% / 0.3)',
51
51
  },
52
52
  glassPanel: {
53
- background: 'linear-gradient(145deg, hsl(222 40% 5% / 0.8), hsl(222 40% 5% / 0.4))',
54
- backdropFilter: 'blur(12px)',
55
- border: '1px solid hsl(217 33% 15% / 0.5)',
56
- boxShadow: '0 4px 24px -1px hsl(0 0% 0% / 0.3), inset 0 1px 0 hsl(0 0% 100% / 0.05)',
53
+ background: 'linear-gradient(145deg, hsl(226 21% 23% / 0.38), hsl(221 50% 9% / 0.24))',
54
+ backdropFilter: 'blur(18px)',
55
+ border: '1px solid hsl(188 95% 43% / 0.18)',
56
+ boxShadow: '0 0 40px hsl(188 95% 43% / 0.055), inset 0 1px 0 hsl(0 0% 100% / 0.07)',
57
57
  },
58
58
  };
59
59
  //# sourceMappingURL=dark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,YAAY;IAClB,cAAc,EAAE,aAAa;IAC7B,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,aAAa;IACxB,mBAAmB,EAAE,aAAa;IAClC,KAAK,EAAE,aAAa;IACpB,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,WAAW;IAC7B,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,WAAW;IAClC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,aAAa;IAC7B,wBAAwB,EAAE,YAAY;IACtC,aAAa,EAAE,YAAY;IAC3B,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,kEAAkE;IAC/E,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,sIAAsI;IAC/I,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,kEAAkE;QACxE,OAAO,EAAE,kEAAkE;KAC5E;IACD,UAAU,EAAE;QACV,UAAU,EAAE,uEAAuE;QACnF,cAAc,EAAE,YAAY;QAC5B,MAAM,EAAE,kCAAkC;QAC1C,SAAS,EAAE,yEAAyE;KACrF;CACF,CAAC"}
1
+ {"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,aAAa;IAC7B,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,aAAa;IAChC,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,aAAa;IACxB,mBAAmB,EAAE,aAAa;IAClC,KAAK,EAAE,aAAa;IACpB,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,aAAa;IACrB,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,WAAW;IAClC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,YAAY;IACrB,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,aAAa;IAC7B,wBAAwB,EAAE,YAAY;IACtC,aAAa,EAAE,aAAa;IAC5B,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,kEAAkE;IAC/E,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,uIAAuI;IAChJ,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,kBAAkB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,kEAAkE;QACxE,OAAO,EAAE,kEAAkE;KAC5E;IACD,UAAU,EAAE;QACV,UAAU,EAAE,0EAA0E;QACtF,cAAc,EAAE,YAAY;QAC5B,MAAM,EAAE,mCAAmC;QAC3C,SAAS,EAAE,wEAAwE;KACpF;CACF,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Font families from branding guidelines:
5
5
  * - Display: Orbitron (headers, brand text)
6
- * - Body: Rajdhani (UI, paragraphs)
6
+ * - Body: Manrope (UI, paragraphs)
7
7
  * - Code: Fira Code (monospace, technical)
8
8
  */
9
9
  export type FontFamilyToken = {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Font families from branding guidelines:
5
5
  * - Display: Orbitron (headers, brand text)
6
- * - Body: Rajdhani (UI, paragraphs)
6
+ * - Body: Manrope (UI, paragraphs)
7
7
  * - Code: Fira Code (monospace, technical)
8
8
  */
9
9
  export const fontFamilies = {
@@ -15,7 +15,7 @@ export const fontFamilies = {
15
15
  },
16
16
  sans: {
17
17
  name: 'Sans (Body)',
18
- value: '"Rajdhani"',
18
+ value: '"Manrope"',
19
19
  fallback: 'sans-serif',
20
20
  cssVar: '--font-sans',
21
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,aAAa;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AASX,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa;KACtB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,YAAY;KACrB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;CACrB,CAAC"}
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,aAAa;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AASX,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,aAAa;KACtB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,YAAY;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,YAAY;KACrB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,eAAe;KACxB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,aAAa;KACtB;CACO,CAAC;AAQX,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;CACrB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Shared Utilities Styles
3
3
  *
4
4
  * Cross-app CSS utilities: marquee, safe-area, touch, scrollbar, truncation.
5
- * Extracted from web/src/index.css and desktop/src/styles.css.
5
+ * Extracted from web/src/index.css and mesh/src/styles.css.
6
6
  */
7
- export declare const utilitiesStyles = "\n/* \u2500\u2500 Marquee \u2500\u2500 */\n@keyframes cm-marquee-scroll {\n 0% { transform: translateX(0); }\n 100% { transform: translateX(-50%); }\n}\n\n@keyframes cm-marquee-scroll-reverse {\n 0% { transform: translateX(-50%); }\n 100% { transform: translateX(0); }\n}\n\n.cm-marquee-track {\n animation: cm-marquee-scroll linear infinite;\n will-change: transform;\n}\n\n.cm-marquee-track-reverse {\n animation: cm-marquee-scroll-reverse linear infinite;\n will-change: transform;\n}\n\n/* \u2500\u2500 Safe Area \u2500\u2500 */\n.cm-safe-area-top { padding-top: env(safe-area-inset-top); }\n.cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }\n.cm-safe-area-left { padding-left: env(safe-area-inset-left); }\n.cm-safe-area-right { padding-right: env(safe-area-inset-right); }\n\n.cm-safe-area-x {\n padding-left: env(safe-area-inset-left);\n padding-right: env(safe-area-inset-right);\n}\n\n.cm-safe-area-y {\n padding-top: env(safe-area-inset-top);\n padding-bottom: env(safe-area-inset-bottom);\n}\n\n/* \u2500\u2500 Touch \u2500\u2500 */\n.cm-touch-manipulation {\n touch-action: manipulation;\n}\n\n.cm-no-select {\n -webkit-user-select: none;\n user-select: none;\n}\n\n/* \u2500\u2500 Scrollbar Hide \u2500\u2500 */\n.cm-scrollbar-hide {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n\n.cm-scrollbar-hide::-webkit-scrollbar {\n display: none;\n}\n\n/* \u2500\u2500 Text Truncation \u2500\u2500 */\n.cm-text-truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* \u2500\u2500 Touch Targets (mobile \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-touch-target {\n min-height: 44px;\n min-width: 44px;\n }\n}\n\n/* \u2500\u2500 Mobile Scrollbar (thinner for \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n}\n";
7
+ export declare const utilitiesStyles = "\n/* \u2500\u2500 Marquee \u2500\u2500 */\n@keyframes cm-marquee-scroll {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-50%, 0, 0); }\n}\n\n@keyframes cm-marquee-scroll-reverse {\n 0% { transform: translate3d(-50%, 0, 0); }\n 100% { transform: translate3d(0, 0, 0); }\n}\n\n@keyframes cm-partner-scanline {\n 0% { transform: translate3d(0, -100px, 0); }\n 100% { transform: translate3d(0, calc(100vh + 100px), 0); }\n}\n\n.cm-marquee-track {\n animation: cm-marquee-scroll linear infinite;\n will-change: transform;\n}\n\n.cm-marquee-track-reverse {\n animation: cm-marquee-scroll-reverse linear infinite;\n will-change: transform;\n}\n\n/* \u2500\u2500 Partner Blocks \u2500\u2500 */\n.cm-partners {\n container-type: inline-size;\n display: grid;\n gap: clamp(0.85rem, 3cqi, 1.4rem);\n width: 100%;\n min-width: 0;\n}\n\n.cm-partners__backing {\n display: grid;\n grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);\n align-items: center;\n gap: clamp(0.8rem, 3cqi, 1.4rem);\n min-width: 0;\n}\n\n.cm-partners__copy {\n display: grid;\n gap: 0.32rem;\n min-width: 0;\n}\n\n.cm-partners__label {\n color: hsl(var(--muted-foreground) / 0.86);\n font-family: var(--font-mono), monospace;\n font-size: clamp(0.62rem, 2cqi, 0.78rem);\n font-weight: 800;\n letter-spacing: 0.14em;\n line-height: 1.1;\n text-transform: uppercase;\n}\n\n.cm-partners__title {\n color: transparent;\n background: linear-gradient(90deg, #8aebff, #dce1fb 48%, #fbabff);\n -webkit-background-clip: text;\n background-clip: text;\n font-family: var(--font-display), Orbitron, sans-serif;\n font-size: clamp(0.98rem, 4cqi, 1.45rem);\n font-weight: 850;\n letter-spacing: 0.02em;\n line-height: 0.98;\n overflow-wrap: anywhere;\n text-transform: uppercase;\n}\n\n.cm-partners__badges {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));\n gap: clamp(0.7rem, 2.4cqi, 1rem);\n min-width: 0;\n}\n\n.cm-partner-badge {\n position: relative;\n display: grid;\n min-width: 0;\n min-height: clamp(4.25rem, 13cqi, 5.6rem);\n place-items: center;\n overflow: hidden;\n border: 1px solid hsl(var(--primary) / 0.18);\n border-radius: 12px;\n background:\n linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.24)),\n radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 64%);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(var(--primary) / 0.05);\n padding: clamp(0.72rem, 2.4cqi, 1rem);\n backdrop-filter: blur(16px) saturate(1.12);\n transition:\n transform 180ms ease,\n border-color 220ms ease,\n box-shadow 220ms ease;\n}\n\n.cm-partner-badge::before {\n content: \"\";\n position: absolute;\n inset: -1px;\n pointer-events: none;\n background:\n linear-gradient(135deg, hsl(var(--primary) / 0.14), transparent 48%),\n linear-gradient(315deg, hsl(var(--accent) / 0.14), transparent 52%);\n opacity: 0.55;\n}\n\n.cm-partner-badge::after {\n content: \"\";\n position: absolute;\n inset-inline: 0;\n top: -100px;\n height: 100px;\n pointer-events: none;\n background: linear-gradient(180deg, transparent, hsl(0 0% 100% / 0.055), transparent);\n opacity: 0.75;\n animation: cm-partner-scanline 4s linear infinite;\n will-change: transform;\n}\n\n.cm-partner-badge[data-tone=\"green\"] {\n border-color: hsl(142 71% 45% / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(142 71% 45% / 0.08);\n}\n\n.cm-partner-badge[data-tone=\"blue\"] {\n border-color: hsl(217 91% 60% / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(217 91% 60% / 0.08);\n}\n\n.cm-partner-badge[data-tone=\"purple\"],\n.cm-partner-badge[data-tone=\"violet\"] {\n border-color: hsl(var(--accent) / 0.34);\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.07),\n 0 0 36px hsl(var(--accent) / 0.08);\n}\n\n.cm-partner-badge:hover,\n.cm-partner-badge:focus-visible {\n transform: translateY(-1px);\n border-color: hsl(var(--primary) / 0.5);\n outline: none;\n box-shadow:\n inset 0 1px 0 hsl(0 0% 100% / 0.08),\n 0 0 28px hsl(var(--primary) / 0.14);\n}\n\n.cm-partner-badge img {\n position: relative;\n z-index: 1;\n width: auto;\n max-width: min(100%, 18rem);\n height: clamp(2rem, 7cqi, 3.45rem);\n object-fit: contain;\n}\n\n.cm-partner-marquee {\n position: relative;\n display: grid;\n gap: clamp(0.58rem, 1.8cqi, 0.85rem);\n width: 100%;\n min-width: 0;\n overflow: hidden;\n}\n\n.cm-partner-marquee::before,\n.cm-partner-marquee::after {\n content: \"\";\n position: absolute;\n inset-block: 0;\n z-index: 2;\n width: clamp(2rem, 8cqi, 5rem);\n pointer-events: none;\n}\n\n.cm-partner-marquee::before {\n left: 0;\n background: linear-gradient(90deg, hsl(var(--background) / 0.9), transparent);\n}\n\n.cm-partner-marquee::after {\n right: 0;\n background: linear-gradient(270deg, hsl(var(--background) / 0.9), transparent);\n}\n\n.cm-partner-logo {\n display: grid;\n height: clamp(2.45rem, 7cqi, 3rem);\n min-width: clamp(6.4rem, 18cqi, 8.7rem);\n place-items: center;\n flex: 0 0 auto;\n border: 1px solid hsl(var(--primary) / 0.12);\n border-radius: 10px;\n background: hsl(221 50% 9% / 0.34);\n padding-inline: clamp(0.8rem, 2.6cqi, 1.15rem);\n transition:\n transform 180ms ease,\n border-color 220ms ease,\n background-color 220ms ease,\n box-shadow 220ms ease;\n}\n\n.cm-partner-logo:hover {\n transform: translateY(-1px);\n border-color: hsl(var(--primary) / 0.46);\n background: hsl(221 50% 9% / 0.52);\n box-shadow: 0 0 20px hsl(var(--primary) / 0.1);\n}\n\n.cm-partner-logo img {\n width: auto;\n max-width: 6.25rem;\n height: clamp(0.85rem, 3cqi, 1.25rem);\n object-fit: contain;\n filter: grayscale(1) brightness(0.74);\n opacity: 0.76;\n transition: filter 220ms ease, opacity 220ms ease;\n}\n\n.cm-partner-logo:hover img {\n filter: grayscale(0) brightness(1.1);\n opacity: 1;\n}\n\n@container (max-width: 42rem) {\n .cm-partners__backing {\n grid-template-columns: 1fr;\n }\n}\n\n@container (max-width: 24rem) {\n .cm-partners__badges {\n grid-template-columns: 1fr;\n }\n}\n\n/* \u2500\u2500 Safe Area \u2500\u2500 */\n.cm-safe-area-top { padding-top: env(safe-area-inset-top); }\n.cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }\n.cm-safe-area-left { padding-left: env(safe-area-inset-left); }\n.cm-safe-area-right { padding-right: env(safe-area-inset-right); }\n\n.cm-safe-area-x {\n padding-left: env(safe-area-inset-left);\n padding-right: env(safe-area-inset-right);\n}\n\n.cm-safe-area-y {\n padding-top: env(safe-area-inset-top);\n padding-bottom: env(safe-area-inset-bottom);\n}\n\n/* \u2500\u2500 Touch \u2500\u2500 */\n.cm-touch-manipulation {\n touch-action: manipulation;\n}\n\n.cm-no-select {\n -webkit-user-select: none;\n user-select: none;\n}\n\n/* \u2500\u2500 Scrollbar Hide \u2500\u2500 */\n.cm-scrollbar-hide {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n\n.cm-scrollbar-hide::-webkit-scrollbar {\n display: none;\n}\n\n/* \u2500\u2500 Text Truncation \u2500\u2500 */\n.cm-text-truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* \u2500\u2500 Touch Targets (mobile \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-touch-target {\n min-height: 44px;\n min-width: 44px;\n }\n}\n\n/* \u2500\u2500 Mobile Scrollbar (thinner for \u2264 768px) \u2500\u2500 */\n@media (max-width: 768px) {\n .cm-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .cm-marquee-track,\n .cm-marquee-track-reverse,\n .cm-partner-badge::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n .cm-partner-logo,\n .cm-partner-badge,\n .cm-partner-logo img {\n transition-duration: 0.01ms !important;\n }\n}\n";
8
8
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,q6DAiF3B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,u1PAmU3B,CAAC"}
@@ -2,18 +2,23 @@
2
2
  * Shared Utilities Styles
3
3
  *
4
4
  * Cross-app CSS utilities: marquee, safe-area, touch, scrollbar, truncation.
5
- * Extracted from web/src/index.css and desktop/src/styles.css.
5
+ * Extracted from web/src/index.css and mesh/src/styles.css.
6
6
  */
7
7
  export const utilitiesStyles = /* css */ `
8
8
  /* ── Marquee ── */
9
9
  @keyframes cm-marquee-scroll {
10
- 0% { transform: translateX(0); }
11
- 100% { transform: translateX(-50%); }
10
+ 0% { transform: translate3d(0, 0, 0); }
11
+ 100% { transform: translate3d(-50%, 0, 0); }
12
12
  }
13
13
 
14
14
  @keyframes cm-marquee-scroll-reverse {
15
- 0% { transform: translateX(-50%); }
16
- 100% { transform: translateX(0); }
15
+ 0% { transform: translate3d(-50%, 0, 0); }
16
+ 100% { transform: translate3d(0, 0, 0); }
17
+ }
18
+
19
+ @keyframes cm-partner-scanline {
20
+ 0% { transform: translate3d(0, -100px, 0); }
21
+ 100% { transform: translate3d(0, calc(100vh + 100px), 0); }
17
22
  }
18
23
 
19
24
  .cm-marquee-track {
@@ -26,6 +31,228 @@ export const utilitiesStyles = /* css */ `
26
31
  will-change: transform;
27
32
  }
28
33
 
34
+ /* ── Partner Blocks ── */
35
+ .cm-partners {
36
+ container-type: inline-size;
37
+ display: grid;
38
+ gap: clamp(0.85rem, 3cqi, 1.4rem);
39
+ width: 100%;
40
+ min-width: 0;
41
+ }
42
+
43
+ .cm-partners__backing {
44
+ display: grid;
45
+ grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);
46
+ align-items: center;
47
+ gap: clamp(0.8rem, 3cqi, 1.4rem);
48
+ min-width: 0;
49
+ }
50
+
51
+ .cm-partners__copy {
52
+ display: grid;
53
+ gap: 0.32rem;
54
+ min-width: 0;
55
+ }
56
+
57
+ .cm-partners__label {
58
+ color: hsl(var(--muted-foreground) / 0.86);
59
+ font-family: var(--font-mono), monospace;
60
+ font-size: clamp(0.62rem, 2cqi, 0.78rem);
61
+ font-weight: 800;
62
+ letter-spacing: 0.14em;
63
+ line-height: 1.1;
64
+ text-transform: uppercase;
65
+ }
66
+
67
+ .cm-partners__title {
68
+ color: transparent;
69
+ background: linear-gradient(90deg, #8aebff, #dce1fb 48%, #fbabff);
70
+ -webkit-background-clip: text;
71
+ background-clip: text;
72
+ font-family: var(--font-display), Orbitron, sans-serif;
73
+ font-size: clamp(0.98rem, 4cqi, 1.45rem);
74
+ font-weight: 850;
75
+ letter-spacing: 0.02em;
76
+ line-height: 0.98;
77
+ overflow-wrap: anywhere;
78
+ text-transform: uppercase;
79
+ }
80
+
81
+ .cm-partners__badges {
82
+ display: grid;
83
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
84
+ gap: clamp(0.7rem, 2.4cqi, 1rem);
85
+ min-width: 0;
86
+ }
87
+
88
+ .cm-partner-badge {
89
+ position: relative;
90
+ display: grid;
91
+ min-width: 0;
92
+ min-height: clamp(4.25rem, 13cqi, 5.6rem);
93
+ place-items: center;
94
+ overflow: hidden;
95
+ border: 1px solid hsl(var(--primary) / 0.18);
96
+ border-radius: 12px;
97
+ background:
98
+ linear-gradient(145deg, hsl(226 21% 23% / 0.34), hsl(221 50% 9% / 0.24)),
99
+ radial-gradient(circle at 50% 0%, hsl(var(--primary) / 0.12), transparent 64%);
100
+ box-shadow:
101
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
102
+ 0 0 36px hsl(var(--primary) / 0.05);
103
+ padding: clamp(0.72rem, 2.4cqi, 1rem);
104
+ backdrop-filter: blur(16px) saturate(1.12);
105
+ transition:
106
+ transform 180ms ease,
107
+ border-color 220ms ease,
108
+ box-shadow 220ms ease;
109
+ }
110
+
111
+ .cm-partner-badge::before {
112
+ content: "";
113
+ position: absolute;
114
+ inset: -1px;
115
+ pointer-events: none;
116
+ background:
117
+ linear-gradient(135deg, hsl(var(--primary) / 0.14), transparent 48%),
118
+ linear-gradient(315deg, hsl(var(--accent) / 0.14), transparent 52%);
119
+ opacity: 0.55;
120
+ }
121
+
122
+ .cm-partner-badge::after {
123
+ content: "";
124
+ position: absolute;
125
+ inset-inline: 0;
126
+ top: -100px;
127
+ height: 100px;
128
+ pointer-events: none;
129
+ background: linear-gradient(180deg, transparent, hsl(0 0% 100% / 0.055), transparent);
130
+ opacity: 0.75;
131
+ animation: cm-partner-scanline 4s linear infinite;
132
+ will-change: transform;
133
+ }
134
+
135
+ .cm-partner-badge[data-tone="green"] {
136
+ border-color: hsl(142 71% 45% / 0.34);
137
+ box-shadow:
138
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
139
+ 0 0 36px hsl(142 71% 45% / 0.08);
140
+ }
141
+
142
+ .cm-partner-badge[data-tone="blue"] {
143
+ border-color: hsl(217 91% 60% / 0.34);
144
+ box-shadow:
145
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
146
+ 0 0 36px hsl(217 91% 60% / 0.08);
147
+ }
148
+
149
+ .cm-partner-badge[data-tone="purple"],
150
+ .cm-partner-badge[data-tone="violet"] {
151
+ border-color: hsl(var(--accent) / 0.34);
152
+ box-shadow:
153
+ inset 0 1px 0 hsl(0 0% 100% / 0.07),
154
+ 0 0 36px hsl(var(--accent) / 0.08);
155
+ }
156
+
157
+ .cm-partner-badge:hover,
158
+ .cm-partner-badge:focus-visible {
159
+ transform: translateY(-1px);
160
+ border-color: hsl(var(--primary) / 0.5);
161
+ outline: none;
162
+ box-shadow:
163
+ inset 0 1px 0 hsl(0 0% 100% / 0.08),
164
+ 0 0 28px hsl(var(--primary) / 0.14);
165
+ }
166
+
167
+ .cm-partner-badge img {
168
+ position: relative;
169
+ z-index: 1;
170
+ width: auto;
171
+ max-width: min(100%, 18rem);
172
+ height: clamp(2rem, 7cqi, 3.45rem);
173
+ object-fit: contain;
174
+ }
175
+
176
+ .cm-partner-marquee {
177
+ position: relative;
178
+ display: grid;
179
+ gap: clamp(0.58rem, 1.8cqi, 0.85rem);
180
+ width: 100%;
181
+ min-width: 0;
182
+ overflow: hidden;
183
+ }
184
+
185
+ .cm-partner-marquee::before,
186
+ .cm-partner-marquee::after {
187
+ content: "";
188
+ position: absolute;
189
+ inset-block: 0;
190
+ z-index: 2;
191
+ width: clamp(2rem, 8cqi, 5rem);
192
+ pointer-events: none;
193
+ }
194
+
195
+ .cm-partner-marquee::before {
196
+ left: 0;
197
+ background: linear-gradient(90deg, hsl(var(--background) / 0.9), transparent);
198
+ }
199
+
200
+ .cm-partner-marquee::after {
201
+ right: 0;
202
+ background: linear-gradient(270deg, hsl(var(--background) / 0.9), transparent);
203
+ }
204
+
205
+ .cm-partner-logo {
206
+ display: grid;
207
+ height: clamp(2.45rem, 7cqi, 3rem);
208
+ min-width: clamp(6.4rem, 18cqi, 8.7rem);
209
+ place-items: center;
210
+ flex: 0 0 auto;
211
+ border: 1px solid hsl(var(--primary) / 0.12);
212
+ border-radius: 10px;
213
+ background: hsl(221 50% 9% / 0.34);
214
+ padding-inline: clamp(0.8rem, 2.6cqi, 1.15rem);
215
+ transition:
216
+ transform 180ms ease,
217
+ border-color 220ms ease,
218
+ background-color 220ms ease,
219
+ box-shadow 220ms ease;
220
+ }
221
+
222
+ .cm-partner-logo:hover {
223
+ transform: translateY(-1px);
224
+ border-color: hsl(var(--primary) / 0.46);
225
+ background: hsl(221 50% 9% / 0.52);
226
+ box-shadow: 0 0 20px hsl(var(--primary) / 0.1);
227
+ }
228
+
229
+ .cm-partner-logo img {
230
+ width: auto;
231
+ max-width: 6.25rem;
232
+ height: clamp(0.85rem, 3cqi, 1.25rem);
233
+ object-fit: contain;
234
+ filter: grayscale(1) brightness(0.74);
235
+ opacity: 0.76;
236
+ transition: filter 220ms ease, opacity 220ms ease;
237
+ }
238
+
239
+ .cm-partner-logo:hover img {
240
+ filter: grayscale(0) brightness(1.1);
241
+ opacity: 1;
242
+ }
243
+
244
+ @container (max-width: 42rem) {
245
+ .cm-partners__backing {
246
+ grid-template-columns: 1fr;
247
+ }
248
+ }
249
+
250
+ @container (max-width: 24rem) {
251
+ .cm-partners__badges {
252
+ grid-template-columns: 1fr;
253
+ }
254
+ }
255
+
29
256
  /* ── Safe Area ── */
30
257
  .cm-safe-area-top { padding-top: env(safe-area-inset-top); }
31
258
  .cm-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }
@@ -85,5 +312,20 @@ export const utilitiesStyles = /* css */ `
85
312
  height: 4px;
86
313
  }
87
314
  }
315
+
316
+ @media (prefers-reduced-motion: reduce) {
317
+ .cm-marquee-track,
318
+ .cm-marquee-track-reverse,
319
+ .cm-partner-badge::after {
320
+ animation-duration: 0.01ms !important;
321
+ animation-iteration-count: 1 !important;
322
+ }
323
+
324
+ .cm-partner-logo,
325
+ .cm-partner-badge,
326
+ .cm-partner-logo img {
327
+ transition-duration: 0.01ms !important;
328
+ }
329
+ }
88
330
  `;
89
331
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFxC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/utilities/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmUxC,CAAC"}
@@ -47,19 +47,19 @@ export interface ComposeWorkflowCardProps {
47
47
  /** Additional className */
48
48
  className?: string;
49
49
  }
50
- export declare function ComposeWorkflowCard({ bannerSrc, title, description, titleIcon, headerAction, badges, stats, coordinatorIcon, coordinatorLabel, coordinatorValue, agentsCount, agentsIcon, onAgentsFold, agentsFoldChevron, agentsBadges, leaseSlot, endpointSlot, footer, interactive, className, }: ComposeWorkflowCardProps): import("react/jsx-runtime").JSX.Element;
50
+ export declare function ComposeWorkflowCard({ bannerSrc, title, description, titleIcon, headerAction, badges, stats, coordinatorIcon, coordinatorLabel, coordinatorValue, agentsCount, agentsIcon, onAgentsFold, agentsFoldChevron, agentsBadges, leaseSlot, endpointSlot, footer, interactive, className, }: ComposeWorkflowCardProps): React.JSX.Element;
51
51
  export interface ComposeWorkflowFoldListProps {
52
52
  backSlot: React.ReactNode;
53
53
  titleSlot?: React.ReactNode;
54
54
  children: React.ReactNode;
55
55
  className?: string;
56
56
  }
57
- export declare function ComposeWorkflowFoldList({ backSlot, titleSlot, children, className, }: ComposeWorkflowFoldListProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare function ComposeWorkflowFoldList({ backSlot, titleSlot, children, className, }: ComposeWorkflowFoldListProps): React.JSX.Element;
58
58
  export interface ComposeWorkflowFoldDetailProps {
59
59
  backSlot: React.ReactNode;
60
60
  children: React.ReactNode;
61
61
  className?: string;
62
62
  }
63
- export declare function ComposeWorkflowFoldDetail({ backSlot, children, className, }: ComposeWorkflowFoldDetailProps): import("react/jsx-runtime").JSX.Element;
64
- export declare function ComposeWorkflowCardSkeleton(): import("react/jsx-runtime").JSX.Element;
63
+ export declare function ComposeWorkflowFoldDetail({ backSlot, children, className, }: ComposeWorkflowFoldDetailProps): React.JSX.Element;
64
+ export declare function ComposeWorkflowCardSkeleton(): React.JSX.Element;
65
65
  //# sourceMappingURL=index.d.ts.map