@spear-ai/spectral 1.4.36 → 1.4.37

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 (2) hide show
  1. package/dist/styles/theme.css +557 -18
  2. package/package.json +1 -1
@@ -1,24 +1,563 @@
1
- /* Spectral Theme - Import this file in your Tailwind CSS
2
- *
3
- * This file contains @theme blocks that Tailwind v4 needs to process
4
- * to generate the utility classes used by Spectral components.
5
- *
6
- * Usage in Horizon globals.css:
7
- * @import "tailwindcss";
8
- * @import "@spear-ai/spectral/theme.css";
1
+ /* Spectral Theme - Bundled CSS for Tailwind v4
2
+ * Import this file in your globals.css after @import "tailwindcss";
9
3
  */
10
4
 
11
- /* Base color primitives - these use :root and work as standard CSS */
12
- @import './horizon/base-colors.css';
5
+ /* ============================================
6
+ * Base Color Primitives (:root variables)
7
+ * ============================================ */
8
+ :root {
9
+ --horizon-color-black: oklch(0% 0 0);
10
+ --horizon-color-white: oklch(100% 0 0);
11
+ --horizon-color-transparent: oklch(0 0 0 / 0%);
12
+ --horizon-color-accent: oklch(92.53% 0.1976 123.38);
13
+
14
+ --horizon-color-neutral-50: oklch(97.64% 0.001 286.38);
15
+ --horizon-color-neutral-100: oklch(92.19% 0 0);
16
+ --horizon-color-neutral-200: oklch(86.99% 0 0);
17
+ --horizon-color-neutral-300: oklch(79.03% 0 0);
18
+ --horizon-color-neutral-400: oklch(71.55% 0 0);
19
+ --horizon-color-neutral-500: oklch(55.55% 0 0);
20
+ --horizon-color-neutral-600: oklch(43.86% 0 0);
21
+ --horizon-color-neutral-700: oklch(37.15% 0 0);
22
+ --horizon-color-neutral-800: oklch(32.11% 0 0);
23
+ --horizon-color-neutral-900: oklch(26.86% 0 0);
24
+ --horizon-color-neutral-950: oklch(21.78% 0 0);
25
+
26
+ --horizon-color-primary-50: oklch(86.49% 0.057 257.62);
27
+ --horizon-color-primary-100: oklch(80.86% 0.0808 257.62);
28
+ --horizon-color-primary-200: oklch(75.06% 0.105 257.62);
29
+ --horizon-color-primary-300: oklch(70.52% 0.1303 257.62);
30
+ --horizon-color-primary-400: oklch(63.46% 0.1376 257.62);
31
+ --horizon-color-primary-500: oklch(56.4% 0.1372 257.6);
32
+ --horizon-color-primary-600: oklch(48.67% 0.1372 257.6);
33
+ --horizon-color-primary-700: oklch(42.85% 0.1372 257.6);
34
+ --horizon-color-primary-800: oklch(37.8% 0.1372 257.6);
35
+ --horizon-color-primary-900: oklch(33.76% 0.1213 257.3);
36
+ --horizon-color-primary-950: oklch(27.61% 0.101 257.73);
37
+
38
+ --horizon-color-level-zero: oklch(23.78% 0 0);
39
+ --horizon-color-level-one: oklch(26.94% 0 0);
40
+ --horizon-color-level-two: oklch(29.93% 0 0);
41
+ --horizon-color-level-three: oklch(32.89% 0 0);
42
+ --horizon-color-level-four: oklch(35.71% 0 0);
43
+ --horizon-color-level-five: oklch(38.62% 0 0);
44
+
45
+ --horizon-color-success-50: oklch(99% 0.1049 144);
46
+ --horizon-color-success-100: oklch(94% 0.1649 144);
47
+ --horizon-color-success-200: oklch(92% 0.2424 144);
48
+ --horizon-color-success-300: oklch(82% 0.2424 144);
49
+ --horizon-color-success-400: oklch(76% 0.2424 144);
50
+ --horizon-color-success-500: oklch(66% 0.2424 144);
51
+
52
+ --horizon-color-warning-50: oklch(94% 0.0442 56.91);
53
+ --horizon-color-warning-100: oklch(91% 0.095 52.355);
54
+ --horizon-color-warning-200: oklch(84.9% 0.144 52.438);
55
+ --horizon-color-warning-300: oklch(75% 0.2036 56.91);
56
+ --horizon-color-warning-400: oklch(71.06% 0.19 46.76);
57
+ --horizon-color-warning-500: oklch(70.5% 0.213 47.604);
58
+
59
+ --horizon-color-danger-50: oklch(88.5% 0.0603 18.334);
60
+ --horizon-color-danger-100: oklch(80.53% 0.1109 19.78);
61
+ --horizon-color-danger-200: oklch(63.94% 0.2459 28.47);
62
+ --horizon-color-danger-300: oklch(58.3% 0.2383 28.47);
63
+ --horizon-color-danger-400: oklch(53.39% 0.2181 28.47);
64
+ --horizon-color-danger-500: oklch(48.54% 0.1986 28.47);
65
+ }
66
+
67
+ :root[data-theme='light'] {
68
+ --horizon-color-level-one: oklch(98.51% 0 0);
69
+ }
13
70
 
14
- /* Semantic color tokens - these use @theme for Tailwind utility generation */
15
- @import './horizon/colors.css';
16
71
 
17
- /* Theme variables (fonts, animations) */
18
- @import './horizon/theme.css';
72
+ /* ============================================
73
+ * Semantic Color Tokens (@theme for Tailwind)
74
+ * ============================================ */
75
+ /* dark default */
76
+ @theme {
77
+ --color-background: var(--horizon-color-neutral-950);
19
78
 
20
- /* Component base styles */
21
- @import './horizon/base.css';
79
+ --color-text-primary: var(--horizon-color-neutral-50);
80
+ --color-text-inverted: var(--horizon-color-neutral-950);
81
+ --color-text-secondary: var(--horizon-color-neutral-300);
82
+ --color-text-accent-primary: var(--horizon-color-primary-500);
83
+ --color-text-accent-secondary: var(--horizon-color-primary-300);
84
+
85
+ --color-border-primary: var(--horizon-color-neutral-900);
86
+ --color-border-secondary: var(--horizon-color-neutral-700);
87
+
88
+ --color-accent: var(--horizon-color-accent);
89
+ --color-selected-primary: var(--horizon-color-primary-700);
90
+ --color-divider-primary: var(--horizon-color-level-four);
91
+ --color-overlay: color-mix(in oklab, var(--horizon-color-neutral-950) 40%, transparent);
92
+
93
+ --color-level-zero: var(--horizon-color-level-zero);
94
+ --color-level-one: var(--horizon-color-level-one);
95
+ --color-level-two: var(--horizon-color-level-two);
96
+ --color-level-three: var(--horizon-color-level-three);
97
+ --color-level-four: var(--horizon-color-level-four);
98
+ --color-level-five: var(--horizon-color-level-five);
99
+
100
+ --color-success-50: var(--horizon-color-success-50);
101
+ --color-success-100: var(--horizon-color-success-100);
102
+ --color-success-200: var(--horizon-color-success-200);
103
+ --color-success-300: var(--horizon-color-success-300);
104
+ --color-success-400: var(--horizon-color-success-400);
105
+ --color-success-500: var(--horizon-color-success-500);
106
+
107
+ --color-warning-50: var(--horizon-color-warning-50);
108
+ --color-warning-100: var(--horizon-color-warning-100);
109
+ --color-warning-200: var(--horizon-color-warning-200);
110
+ --color-warning-300: var(--horizon-color-warning-300);
111
+ --color-warning-400: var(--horizon-color-warning-400);
112
+ --color-warning-500: var(--horizon-color-warning-500);
113
+
114
+ --color-danger-50: var(--horizon-color-danger-50);
115
+ --color-danger-100: var(--horizon-color-danger-100);
116
+ --color-danger-200: var(--horizon-color-danger-200);
117
+ --color-danger-300: var(--horizon-color-danger-300);
118
+ --color-danger-400: var(--horizon-color-danger-400);
119
+ --color-danger-500: var(--horizon-color-danger-500);
120
+
121
+ --color-alert-bg: var(--horizon-color-level-two);
122
+ --color-alert-border: var(--horizon-color-level-three);
123
+ --color-alert-text: var(--horizon-color-neutral-50);
124
+ --color-alert-success-bg: var(--horizon-color-success-50);
125
+ --color-alert-success-border: var(--horizon-color-success-500);
126
+ --color-alert-success-text: var(--horizon-color-success-500);
127
+ --color-alert-warning-bg: var(--horizon-color-warning-50);
128
+ --color-alert-warning-border: var(--horizon-color-warning-500);
129
+ --color-alert-warning-text: var(--horizon-color-warning-500);
130
+ --color-alert-danger-bg: var(--horizon-color-danger-50);
131
+ --color-alert-danger-border: var(--horizon-color-danger-500);
132
+ --color-alert-danger-text: var(--horizon-color-danger-500);
133
+ --color-alert-info-bg: var(--horizon-color-primary-100);
134
+ --color-alert-info-border: var(--horizon-color-primary-700);
135
+ --color-alert-info-text: var(--horizon-color-primary-700);
136
+
137
+ --color-badge-primary-bg: var(--horizon-color-level-five);
138
+ --color-badge-primary-bg--hover: var(--horizon-color-level-four);
139
+ --color-badge-primary-bg--active: var(--horizon-color-primary-800);
140
+ --color-badge-primary-border: var(--horizon-color-level-five);
141
+ --color-badge-secondary-bg: var(--horizon-color-accent);
142
+ --color-badge-secondary-border: var(--horizon-color-accent);
143
+ --color-badge-secondary-text: var(--horizon-color-neutral-950);
144
+ --color-badge-outline-bg: var(--horizon-color-transparent);
145
+ --color-badge-outline-border: var(--horizon-color-level-five);
146
+ --color-badge-destructive-bg: var(--horizon-color-danger-400);
147
+ --color-badge-destructive-border: var(--horizon-color-danger-400);
148
+
149
+ --color-button-primary-bg: var(--horizon-color-accent);
150
+ --color-button-primary-bg--hover: var(--horizon-color-level-two);
151
+ --color-button-primary-bg--disabled: var(--horizon-color-neutral-500);
152
+ --color-button-primary-border: var(--horizon-color-accent);
153
+ --color-button-primary-border--hover: var(--horizon-color-level-two);
154
+ --color-button-primary-border--disabled: var(--horizon-color-neutral-500);
155
+ --color-button-primary-text: var(--horizon-color-neutral-900);
156
+ --color-button-primary-text--hover: var(--horizon-color-accent);
157
+ --color-button-primary-text--disabled: var(--horizon-color-neutral-200);
158
+
159
+ --color-button-secondary-bg: var(--horizon-color-level-two);
160
+ --color-button-secondary-bg--hover: var(--horizon-color-accent);
161
+ --color-button-secondary-bg--disabled: var(--horizon-color-neutral-500);
162
+ --color-button-secondary-text: var(--horizon-color-neutral-50);
163
+ --color-button-secondary-text--hover: var(--horizon-color-level-two);
164
+ --color-button-secondary-text--disabled: var(--horizon-color-neutral-200);
165
+ --color-button-secondary-border: var(--horizon-color-neutral-900);
166
+ --color-button-secondary-border--disabled: var(--horizon-color-neutral-500);
167
+
168
+ --color-button-outline-bg: var(--horizon-color-transparent);
169
+ --color-button-outline-bg--hover: var(--horizon-color-level-two);
170
+ --color-button-outline-text: var(--horizon-color-neutral-50);
171
+ --color-button-outline-text--hover: var(--horizon-color-accent);
172
+ --color-button-outline-text--disabled: var(--horizon-color-neutral-400);
173
+ --color-button-outline-border: var(--horizon-color-accent);
174
+ --color-button-outline-border--disabled: var(--horizon-color-neutral-400);
175
+
176
+ --color-button-ghost-bg: var(--horizon-color-transparent);
177
+ --color-button-ghost-bg--hover: var(--horizon-color-level-two);
178
+ --color-button-ghost-text: var(--horizon-color-neutral-50);
179
+ --color-button-ghost-text--hover: var(--horizon-color-accent);
180
+ --color-button-ghost-text--disabled: var(--horizon-color-neutral-400);
181
+
182
+ --color-button-danger: var(--horizon-color-danger-400);
183
+ --color-button-danger--hover: color-mix(in oklab, var(--horizon-color-danger-400) 80%, transparent);
184
+
185
+ --color-checkbox-border: var(--horizon-color-neutral-100);
186
+ --color-checkbox-border--focus: var(--horizon-color-accent);
187
+ --color-checkbox-border--checked: var(--horizon-color-accent);
188
+ --color-checkbox-indicator--checked: var(--horizon-color-accent);
189
+
190
+ --color-data-card-description: var(--horizon-color-neutral-300);
191
+
192
+ --color-dialog-bg: var(--horizon-color-level-one);
193
+
194
+ --color-drawer-bg: var(--horizon-color-level-one);
195
+
196
+ --color-input-border: color-mix(in oklab, var(--horizon-color-white) 10%, transparent);
197
+ --color-input-border--hover: var(--horizon-color-neutral-300);
198
+ --color-input-border--focus: var(--horizon-color-accent);
199
+ --color-input-border--disabled: var(--horizon-color-neutral-500);
200
+ --color-input-bg: var(--horizon-color-level-zero);
201
+ --color-input-bg--hover: var(--horizon-color-level-four);
202
+ --color-input-bg--disabled: var(--horizon-color-neutral-700);
203
+ --color-input-bg--selected: var(--horizon-color-level-four);
204
+ --color-input-text: var(--horizon-color-neutral-50);
205
+ --color-input-text--disabled: var(--horizon-color-neutral-200);
206
+ --color-input-text-placeholder: var(--horizon-color-neutral-500);
207
+
208
+ --color-input-primitive-bg: var(--horizon-color-neutral-950);
209
+ --color-input-primitive-border: var(--horizon-color-neutral-800);
210
+
211
+ --color-input-otp-filled-bg: var(--horizon-color-level-two);
212
+ --color-input-otp-filled-border: var(--horizon-color-level-two);
213
+ --color-input-otp-filled-separator: var(--horizon-color-level-five);
214
+ --color-input-otp-border: var(--horizon-color-neutral-300);
215
+ --color-input-otp-border--focus: var(--horizon-color-accent);
216
+ --color-input-otp-caret: var(--horizon-color-neutral-200);
217
+
218
+ --color-kbd-bg: var(--horizon-color-level-two);
219
+ --color-kbd-text: var(--color-text-secondary);
220
+
221
+ --color-popover-bg: var(--horizon-color-level-one);
222
+ --color-popover-text: var(--horizon-color-neutral-50);
223
+
224
+ --color-radio-bg: var(--horizon-color-neutral-900);
225
+ --color-radio-bg--selected: var(--horizon-color-accent);
226
+ --color-radio-border: var(--horizon-color-neutral-800);
227
+ --color-radio-border--hover: var(--horizon-color-accent);
228
+ --color-radio-border--selected: var(--horizon-color-accent);
229
+
230
+ --color-select-item-bg--hover: var(--horizon-color-level-four);
231
+
232
+ --color-slider-track: var(--horizon-color-neutral-700);
233
+ --color-slider-range: var(--horizon-color-neutral-50);
234
+ --color-slider-thumb-border: var(--horizon-color-neutral-50);
235
+ --color-slider-thumb-bg: var(--horizon-color-neutral-50);
236
+ --color-slider-thumb-ring: var(--horizon-color-neutral-50);
237
+
238
+ --color-switch-bg: var(--horizon-color-neutral-500);
239
+ --color-switch-bg--checked: var(--horizon-color-success-500);
240
+ --color-switch-thumb: var(--horizon-color-neutral-950);
241
+
242
+ --color-tabs-bg: var(--horizon-color-level-one);
243
+ --color-tabs-group-bg: var(--horizon-color-level-one);
244
+ --color-tabs-indicator: var(--horizon-color-accent);
245
+ --color-tabs-enclosed-indicator: var(--horizon-color-level-two);
246
+ --color-tabs-border: var(--horizon-color-level-four);
247
+
248
+ --color-toggle-bg: var(--horizon-color-level-two);
249
+ --color-toggle-bg--active: var(--horizon-color-primary-700);
250
+ --color-toggle-bg--hover: var(--horizon-color-level-four);
251
+ --color-toggle-border: var(--horizon-color-transparent);
252
+ --color-toggle-border--hover: var(--horizon-color-level-four);
253
+ --color-toggle-border--active: var(--horizon-color-primary-700);
254
+ --color-toggle-text: var(--horizon-color-neutral-50);
255
+ --color-toggle-text--hover: var(--horizon-color-neutral-200);
256
+ --color-toggle-text--active: var(--horizon-color-neutral-50);
257
+ --color-toggle-outline-border: var(--horizon-color-transparent);
258
+ --color-toggle-group-bg: var(--horizon-color-level-five);
259
+
260
+ --color-tooltip-bg: var(--horizon-color-level-one);
261
+ --color-tooltip-border: var(--horizon-color-white);
262
+ --color-tooltip-arrow: var(--horizon-color-level-zero);
263
+ }
264
+
265
+ /* light theme variant */
266
+ :root[data-theme='light'] {
267
+ --color-background: var(--horizon-color-neutral-50);
268
+ --color-ring-offset: var(--horizon-color-neutral-50);
269
+ --color-text-primary: var(--horizon-color-neutral-900);
270
+ --color-text-secondary: var(--horizon-color-neutral-600);
271
+
272
+ --color-card-bg: var(--horizon-color-level-one);
273
+ --color-card-text: var(--horizon-color-neutral-900);
274
+
275
+ --color-switch-bg: var(--horizon-color-neutral-300);
276
+ --color-switch-bg--checked: var(--horizon-color-neutral-950);
277
+ --color-switch-thumb: var(--horizon-color-neutral-50);
278
+
279
+ --color-shadow-neumorphic: oklch(92.49% 0 0);
280
+ --color-shadow-neumorphic-large: oklch(88.56% 0.0014 286.37);
281
+ }
282
+
283
+
284
+ /* ============================================
285
+ * Theme Variables (fonts, animations)
286
+ * ============================================ */
287
+ @theme {
288
+ --font-sans: 'Work Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji';
289
+ --font-serif: 'Bitter', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
290
+ --font-mono: 'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Courier New', monospace;
291
+
292
+ --ring: var(--color-accent);
293
+ --ring-offset: var(--color-background);
294
+
295
+ /* animations */
296
+ --animate-animate-in: animate-in;
297
+ --animate-animate-out: animate-out;
298
+ --animate-zoom-in-95: zoom-in-95;
299
+ --animate-zoom-out-95: zoom-out-95;
300
+ --animate-fade-in-0: fade-in-0;
301
+ --animate-fade-out-0: fade-out-0;
302
+ --animate-fade-in-tabs: fade-in-tabs 0.5s ease-in-out;
303
+ --animate-slide-down-from-top: slide-down-from-top 0.3s ease-out;
304
+ --animate-slide-up-to-top: slide-up-to-top 0.3s ease-out;
305
+ --animate-fade-in-tabs-indicator: fade-in-tabs-indicator 0.3s ease-out;
306
+ --animate-caret-blink: caret-blink 1.2s ease-out infinite;
307
+ --animate-spin-around: spin-around 0.8s linear infinite;
308
+
309
+ @keyframes animate-in {
310
+ from {
311
+ opacity: 0;
312
+ transform: scale(0.95);
313
+ }
314
+ to {
315
+ opacity: 1;
316
+ transform: scale(1);
317
+ }
318
+ }
319
+
320
+ @keyframes animate-out {
321
+ from {
322
+ opacity: 1;
323
+ transform: scale(1);
324
+ }
325
+ to {
326
+ opacity: 0;
327
+ transform: scale(0.95);
328
+ }
329
+ }
330
+
331
+ @keyframes caret-blink {
332
+ 0%, 70%, 100% {
333
+ opacity: 1;
334
+ }
335
+ 20%, 50% {
336
+ opacity: 0;
337
+ }
338
+ }
339
+
340
+ @keyframes fade-in-0 {
341
+ from {
342
+ opacity: 0;
343
+ }
344
+ to {
345
+ opacity: 1;
346
+ }
347
+ }
348
+
349
+ @keyframes fade-out-0 {
350
+ from {
351
+ opacity: 1;
352
+ }
353
+ to {
354
+ opacity: 0;
355
+ }
356
+ }
357
+
358
+ @keyframes fade-in-tabs-indicator {
359
+ from {
360
+ opacity: 0;
361
+ transform: translateY(-2rem);
362
+ }
363
+ to {
364
+ opacity: 1;
365
+ transform: translateY(0);
366
+ }
367
+ }
368
+
369
+ @keyframes slide-down-from-top {
370
+ from {
371
+ transform: translateY(-100%);
372
+ opacity: 0;
373
+ scale: 0.95;
374
+ }
375
+ to {
376
+ transform: translateY(0);
377
+ opacity: 1;
378
+ scale: 1;
379
+ }
380
+ }
381
+
382
+ @keyframes slide-up-to-top {
383
+ from {
384
+ transform: translateY(0);
385
+ opacity: 1;
386
+ scale: 1;
387
+ }
388
+ to {
389
+ transform: translateY(-100%);
390
+ opacity: 0;
391
+ scale: 0.95;
392
+ }
393
+ }
394
+
395
+ @keyframes spin-around {
396
+ 0% {
397
+ transform: rotate(-90deg);
398
+ }
399
+ 100% {
400
+ transform: rotate(270deg);
401
+ }
402
+ }
403
+
404
+ @keyframes zoom-in-95 {
405
+ from {
406
+ opacity: 0;
407
+ transform: translateX(-50%) translateY(-50%) scale(0.95);
408
+ }
409
+ to {
410
+ opacity: 1;
411
+ transform: translateX(-50%) translateY(-50%) scale(1);
412
+ }
413
+ }
414
+
415
+ @keyframes zoom-out-95 {
416
+ from {
417
+ opacity: 1;
418
+ transform: translateX(-50%) translateY(-50%) scale(1);
419
+ }
420
+ to {
421
+ opacity: 0;
422
+ transform: translateX(-50%) translateY(-50%) scale(0.95);
423
+ }
424
+ }
425
+ }
426
+
427
+
428
+ /* ============================================
429
+ * Component Base Styles
430
+ * ============================================ */
431
+ /* raw element styles & resets - global typography, normalize, html/body rules */
432
+ /* DO NOT put any styles needed in the bundled version of Spectral as they will not be included */
433
+
434
+ @layer base {
435
+
436
+ html {
437
+ font-family: var(--font-sans);
438
+ }
439
+
440
+ *,
441
+ *::before,
442
+ *::after {
443
+ box-sizing: border-box !important;
444
+ }
445
+
446
+ body {
447
+ box-sizing: border-box;
448
+ color: var(--color-text-primary);
449
+ font-family: var(--font-sans)
450
+ }
451
+
452
+ h3 {
453
+ color: var(--color-text-primary);
454
+ font-size: 1.5rem;
455
+ font-weight: 700;
456
+ margin: 0;
457
+ }
458
+ }
459
+
460
+
461
+ /* ============================================
462
+ * Custom Utilities
463
+ * ============================================ */
464
+ /* new atomic utilities that don’t exist in Tailwind */
465
+
466
+ @layer utilities {
467
+
468
+ [data-vaul-drawer] *,
469
+ [data-vaul-drawer] *::before,
470
+ [data-vaul-drawer] *::after {
471
+ box-sizing: border-box !important;
472
+ }
473
+
474
+ [vaul-drawer] {
475
+ transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
476
+ }
477
+
478
+ [vaul-overlay] {
479
+ transition: opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
480
+ }
481
+
482
+ .shadow-neumorphic-large {
483
+ box-shadow: 12px 12px 24px var(--color-shadow-neumorphic-large), -12px -12px 24px var(--color-white);
484
+ }
485
+
486
+ .shadow-neumorphic-small {
487
+ box-shadow: 4px 4px 8px var(--color-shadow-neumorphic), -4px -4px 8px var(--color-white);
488
+ }
489
+
490
+ .dialog-no-animations {
491
+ animation: none !important;
492
+ transform: translateX(-50%) translateY(-50%) !important;
493
+ }
494
+
495
+ .dialog-no-animations[data-state='open'] {
496
+ animation: none !important;
497
+ transform: translateX(-50%) translateY(-50%) !important;
498
+ }
499
+
500
+ .dialog-no-animations[data-state='closed'] {
501
+ animation: none !important;
502
+ transform: translateX(-50%) translateY(-50%) !important;
503
+ }
504
+
505
+ svg:focus-visible,
506
+ svg:focus {
507
+ outline: none;
508
+ }
509
+
510
+ .card-effects {
511
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.00) 100%), rgba(38, 38, 38, 0.50);
512
+ backdrop-filter: blur(12px);
513
+ border: 0.5px solid rgba(255, 255, 255, 0.05);
514
+ border-radius: 1rem;
515
+ box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.10) inset, 0 20px 40px 0 rgba(0, 0, 0, 0.25), 0 15px 30px 0 rgba(0, 0, 0, 0.15), 0 5px 10px 0 rgba(0, 0, 0, 0.05);
516
+ }
517
+
518
+ .tooltip-effects {
519
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.00) 100%), rgba(38, 38, 38, 0.50);
520
+ backdrop-filter: blur(12px);
521
+ box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.10) inset, 0 20px 40px 0 rgba(0, 0, 0, 0.25), 0 15px 30px 0 rgba(0, 0, 0, 0.15), 0 5px 10px 0 rgba(0, 0, 0, 0.05);
522
+ }
523
+
524
+ .map-card-effects {
525
+ background: var(--color-background);
526
+ backdrop-filter: blur(12px);
527
+ border: 0.5px solid rgba(255, 255, 255, 0.05);
528
+ border-radius: 1rem;
529
+ box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.10) inset, 0 20px 40px 0 rgba(0, 0, 0, 0.25), 0 15px 30px 0 rgba(0, 0, 0, 0.15), 0 5px 10px 0 rgba(0, 0, 0, 0.05);
530
+ }
531
+
532
+ @supports not (backdrop-filter: blur(0)) {
533
+
534
+ .card-effects {
535
+ /* Fallback: slightly opaque fill to hint depth without blur */
536
+ background-color: hsla(240, 4%, 14%, 0.6);
537
+ }
538
+ }
539
+
540
+ body {
541
+
542
+ &::-webkit-scrollbar {
543
+ width: 14px;
544
+ }
545
+
546
+ &::-webkit-scrollbar-track {
547
+ background: var(--color-level-zero);
548
+ border-radius: 0;
549
+ }
550
+
551
+ &::-webkit-scrollbar-thumb {
552
+ background: var(--color-level-three);
553
+ border-radius: 6px;
554
+ }
555
+ }
556
+
557
+ @supports not selector(::-webkit-scrollbar) {
558
+ body {
559
+ scrollbar-color: var(--color-level-three) var(--color-level-zero);
560
+ }
561
+ }
562
+ }
22
563
 
23
- /* Custom utilities */
24
- @import './horizon/utilities.css';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spear-ai/spectral",
3
- "version": "1.4.36",
3
+ "version": "1.4.37",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {