@tangle-network/charts 2.0.13 → 2.0.14

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.
@@ -0,0 +1,1800 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: "Inter Variable", "Inter", "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
7
+ --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
8
+ --spacing: 0.25rem;
9
+ --text-xs: 0.75rem;
10
+ --text-xs--line-height: calc(1 / 0.75);
11
+ --text-sm: 0.875rem;
12
+ --text-sm--line-height: calc(1.25 / 0.875);
13
+ --font-weight-normal: 400;
14
+ --font-weight-medium: 500;
15
+ --font-weight-semibold: 600;
16
+ --radius-lg: 10px;
17
+ --radius-xl: 12px;
18
+ --radius-2xl: 1rem;
19
+ --default-transition-duration: 150ms;
20
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
21
+ --default-font-family: var(--font-sans);
22
+ --default-mono-font-family: var(--font-mono);
23
+ --radius-full: 999px;
24
+ }
25
+ }
26
+ @layer base {
27
+ @scope (.agent-graph, .ag-root, .ag-latest, [data-agent-metrics]) {
28
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
29
+ box-sizing: border-box;
30
+ margin: 0;
31
+ padding: 0;
32
+ border: 0 solid;
33
+ }
34
+ html, :host {
35
+ line-height: 1.5;
36
+ -webkit-text-size-adjust: 100%;
37
+ tab-size: 4;
38
+ font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
39
+ font-feature-settings: var(--default-font-feature-settings, normal);
40
+ font-variation-settings: var(--default-font-variation-settings, normal);
41
+ -webkit-tap-highlight-color: transparent;
42
+ }
43
+ hr {
44
+ height: 0;
45
+ color: inherit;
46
+ border-top-width: 1px;
47
+ }
48
+ abbr:where([title]) {
49
+ -webkit-text-decoration: underline dotted;
50
+ text-decoration: underline dotted;
51
+ }
52
+ h1, h2, h3, h4, h5, h6 {
53
+ font-size: inherit;
54
+ font-weight: inherit;
55
+ }
56
+ a {
57
+ color: inherit;
58
+ -webkit-text-decoration: inherit;
59
+ text-decoration: inherit;
60
+ }
61
+ b, strong {
62
+ font-weight: bolder;
63
+ }
64
+ code, kbd, samp, pre {
65
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
66
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
67
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
68
+ font-size: 1em;
69
+ }
70
+ small {
71
+ font-size: 80%;
72
+ }
73
+ sub, sup {
74
+ font-size: 75%;
75
+ line-height: 0;
76
+ position: relative;
77
+ vertical-align: baseline;
78
+ }
79
+ sub {
80
+ bottom: -0.25em;
81
+ }
82
+ sup {
83
+ top: -0.5em;
84
+ }
85
+ table {
86
+ text-indent: 0;
87
+ border-color: inherit;
88
+ border-collapse: collapse;
89
+ }
90
+ :-moz-focusring:where(:not(iframe)) {
91
+ outline: auto;
92
+ }
93
+ progress {
94
+ vertical-align: baseline;
95
+ }
96
+ summary {
97
+ display: list-item;
98
+ }
99
+ ol, ul, menu {
100
+ list-style: none;
101
+ }
102
+ img, svg, video, canvas, audio, iframe, embed, object {
103
+ display: block;
104
+ vertical-align: middle;
105
+ }
106
+ img, video {
107
+ max-width: 100%;
108
+ height: auto;
109
+ }
110
+ button, input, select, optgroup, textarea, ::file-selector-button {
111
+ font: inherit;
112
+ font-feature-settings: inherit;
113
+ font-variation-settings: inherit;
114
+ letter-spacing: inherit;
115
+ color: inherit;
116
+ border-radius: 0;
117
+ background-color: transparent;
118
+ opacity: 1;
119
+ }
120
+ :where(select:is([multiple], [size])) optgroup {
121
+ font-weight: bolder;
122
+ }
123
+ :where(select:is([multiple], [size])) optgroup option {
124
+ padding-inline-start: 20px;
125
+ }
126
+ ::file-selector-button {
127
+ margin-inline-end: 4px;
128
+ }
129
+ ::placeholder {
130
+ opacity: 1;
131
+ }
132
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
133
+ ::placeholder {
134
+ color: currentcolor;
135
+ @supports (color: color-mix(in lab, red, red)) {
136
+ color: color-mix(in oklab, currentcolor 50%, transparent);
137
+ }
138
+ }
139
+ }
140
+ textarea {
141
+ resize: vertical;
142
+ }
143
+ ::-webkit-search-decoration {
144
+ -webkit-appearance: none;
145
+ }
146
+ ::-webkit-date-and-time-value {
147
+ min-height: 1lh;
148
+ text-align: inherit;
149
+ }
150
+ ::-webkit-datetime-edit {
151
+ display: inline-flex;
152
+ }
153
+ ::-webkit-datetime-edit-fields-wrapper {
154
+ padding: 0;
155
+ }
156
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
157
+ padding-block: 0;
158
+ }
159
+ ::-webkit-calendar-picker-indicator {
160
+ line-height: 1;
161
+ }
162
+ :-moz-ui-invalid {
163
+ box-shadow: none;
164
+ }
165
+ button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
166
+ appearance: button;
167
+ }
168
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
169
+ height: auto;
170
+ }
171
+ [hidden]:where(:not([hidden="until-found"])) {
172
+ display: none !important;
173
+ }
174
+ }
175
+ }
176
+ @layer utilities {
177
+ @scope (.agent-graph, .ag-root, .ag-latest, [data-agent-metrics]) {
178
+ .pointer-events-auto {
179
+ pointer-events: auto;
180
+ }
181
+ .visible {
182
+ visibility: visible;
183
+ }
184
+ .sr-only {
185
+ position: absolute;
186
+ width: 1px;
187
+ height: 1px;
188
+ padding: 0;
189
+ margin: -1px;
190
+ overflow: hidden;
191
+ clip-path: inset(50%);
192
+ white-space: nowrap;
193
+ border-width: 0;
194
+ }
195
+ .absolute {
196
+ position: absolute;
197
+ }
198
+ .fixed {
199
+ position: fixed;
200
+ }
201
+ .relative {
202
+ position: relative;
203
+ }
204
+ .static {
205
+ position: static;
206
+ }
207
+ .top-2 {
208
+ top: calc(var(--spacing) * 2);
209
+ }
210
+ .right-3 {
211
+ right: calc(var(--spacing) * 3);
212
+ }
213
+ .container {
214
+ width: 100%;
215
+ @media (width >= 40rem) {
216
+ max-width: 40rem;
217
+ }
218
+ @media (width >= 48rem) {
219
+ max-width: 48rem;
220
+ }
221
+ @media (width >= 64rem) {
222
+ max-width: 64rem;
223
+ }
224
+ @media (width >= 80rem) {
225
+ max-width: 80rem;
226
+ }
227
+ @media (width >= 96rem) {
228
+ max-width: 96rem;
229
+ }
230
+ }
231
+ .m-0 {
232
+ margin: 0px;
233
+ }
234
+ .mt-3 {
235
+ margin-top: calc(var(--spacing) * 3);
236
+ }
237
+ .mt-auto {
238
+ margin-top: auto;
239
+ }
240
+ .mb-1 {
241
+ margin-bottom: var(--spacing);
242
+ }
243
+ .mb-2 {
244
+ margin-bottom: calc(var(--spacing) * 2);
245
+ }
246
+ .mb-3 {
247
+ margin-bottom: calc(var(--spacing) * 3);
248
+ }
249
+ .line-clamp-2 {
250
+ overflow: hidden;
251
+ display: -webkit-box;
252
+ -webkit-box-orient: vertical;
253
+ -webkit-line-clamp: 2;
254
+ }
255
+ .\!hidden {
256
+ display: none !important;
257
+ }
258
+ .block {
259
+ display: block;
260
+ }
261
+ .contents {
262
+ display: contents;
263
+ }
264
+ .flex {
265
+ display: flex;
266
+ }
267
+ .grid {
268
+ display: grid;
269
+ }
270
+ .\!h-1 {
271
+ height: var(--spacing) !important;
272
+ }
273
+ .h-16 {
274
+ height: calc(var(--spacing) * 16);
275
+ }
276
+ .h-full {
277
+ height: 100%;
278
+ }
279
+ .min-h-0 {
280
+ min-height: 0px;
281
+ }
282
+ .min-h-4 {
283
+ min-height: calc(var(--spacing) * 4);
284
+ }
285
+ .min-h-10 {
286
+ min-height: calc(var(--spacing) * 10);
287
+ }
288
+ .\!w-1 {
289
+ width: var(--spacing) !important;
290
+ }
291
+ .w-8 {
292
+ width: calc(var(--spacing) * 8);
293
+ }
294
+ .w-full {
295
+ width: 100%;
296
+ }
297
+ .max-w-64 {
298
+ max-width: calc(var(--spacing) * 64);
299
+ }
300
+ .\!min-w-0 {
301
+ min-width: 0px !important;
302
+ }
303
+ .min-w-0 {
304
+ min-width: 0px;
305
+ }
306
+ .flex-1 {
307
+ flex: 1;
308
+ }
309
+ .shrink-0 {
310
+ flex-shrink: 0;
311
+ }
312
+ .-rotate-90 {
313
+ rotate: calc(90deg * -1);
314
+ }
315
+ .transform {
316
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
317
+ }
318
+ .animate-\[tangle-breathe_var\(--motion-ambient\)_infinite\] {
319
+ animation: tangle-breathe var(--motion-ambient) infinite;
320
+ }
321
+ .grid-cols-\[minmax\(0\,1fr\)_auto\] {
322
+ grid-template-columns: minmax(0,1fr) auto;
323
+ }
324
+ .flex-col {
325
+ flex-direction: column;
326
+ }
327
+ .flex-wrap {
328
+ flex-wrap: wrap;
329
+ }
330
+ .items-center {
331
+ align-items: center;
332
+ }
333
+ .justify-between {
334
+ justify-content: space-between;
335
+ }
336
+ .justify-center {
337
+ justify-content: center;
338
+ }
339
+ .gap-0\.5 {
340
+ gap: calc(var(--spacing) * 0.5);
341
+ }
342
+ .gap-1 {
343
+ gap: var(--spacing);
344
+ }
345
+ .gap-2 {
346
+ gap: calc(var(--spacing) * 2);
347
+ }
348
+ .gap-3 {
349
+ gap: calc(var(--spacing) * 3);
350
+ }
351
+ :where(.space-y-0\.5 > :not(:last-child)) {
352
+ --tw-space-y-reverse: 0;
353
+ margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
354
+ margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
355
+ }
356
+ .gap-x-3 {
357
+ column-gap: calc(var(--spacing) * 3);
358
+ }
359
+ .gap-x-5 {
360
+ column-gap: calc(var(--spacing) * 5);
361
+ }
362
+ .gap-y-1 {
363
+ row-gap: var(--spacing);
364
+ }
365
+ .gap-y-1\.5 {
366
+ row-gap: calc(var(--spacing) * 1.5);
367
+ }
368
+ .truncate {
369
+ overflow: hidden;
370
+ text-overflow: ellipsis;
371
+ white-space: nowrap;
372
+ }
373
+ .overflow-auto {
374
+ overflow: auto;
375
+ }
376
+ .rounded {
377
+ border-radius: 0.25rem;
378
+ }
379
+ .rounded-2xl {
380
+ border-radius: var(--radius-2xl);
381
+ }
382
+ .rounded-\[var\(--radius-card\)\] {
383
+ border-radius: var(--radius-card);
384
+ }
385
+ .rounded-full {
386
+ border-radius: var(--radius-full);
387
+ }
388
+ .rounded-lg {
389
+ border-radius: var(--radius-lg);
390
+ }
391
+ .rounded-xl {
392
+ border-radius: var(--radius-xl);
393
+ }
394
+ .\!border-0 {
395
+ border-style: var(--tw-border-style) !important;
396
+ border-width: 0px !important;
397
+ }
398
+ .border {
399
+ border-style: var(--tw-border-style);
400
+ border-width: 1px;
401
+ }
402
+ .border-t {
403
+ border-top-style: var(--tw-border-style);
404
+ border-top-width: 1px;
405
+ }
406
+ .border-dashed {
407
+ --tw-border-style: dashed;
408
+ border-style: dashed;
409
+ }
410
+ .border-border {
411
+ border-color: hsl(var(--border));
412
+ }
413
+ .\!bg-transparent {
414
+ background-color: transparent !important;
415
+ }
416
+ .bg-background {
417
+ background-color: hsl(var(--background));
418
+ }
419
+ .bg-card {
420
+ background-color: hsl(var(--card));
421
+ }
422
+ .p-2 {
423
+ padding: calc(var(--spacing) * 2);
424
+ }
425
+ .p-4 {
426
+ padding: calc(var(--spacing) * 4);
427
+ }
428
+ .px-1\.5 {
429
+ padding-inline: calc(var(--spacing) * 1.5);
430
+ }
431
+ .px-2 {
432
+ padding-inline: calc(var(--spacing) * 2);
433
+ }
434
+ .px-3 {
435
+ padding-inline: calc(var(--spacing) * 3);
436
+ }
437
+ .py-0\.5 {
438
+ padding-block: calc(var(--spacing) * 0.5);
439
+ }
440
+ .py-1 {
441
+ padding-block: var(--spacing);
442
+ }
443
+ .py-2 {
444
+ padding-block: calc(var(--spacing) * 2);
445
+ }
446
+ .pt-3 {
447
+ padding-top: calc(var(--spacing) * 3);
448
+ }
449
+ .text-center {
450
+ text-align: center;
451
+ }
452
+ .text-left {
453
+ text-align: left;
454
+ }
455
+ .text-right {
456
+ text-align: right;
457
+ }
458
+ .text-sm {
459
+ font-size: var(--text-sm);
460
+ line-height: var(--tw-leading, var(--text-sm--line-height));
461
+ }
462
+ .text-xs {
463
+ font-size: var(--text-xs);
464
+ line-height: var(--tw-leading, var(--text-xs--line-height));
465
+ }
466
+ .text-\[10px\] {
467
+ font-size: 10px;
468
+ }
469
+ .leading-4 {
470
+ --tw-leading: calc(var(--spacing) * 4);
471
+ line-height: calc(var(--spacing) * 4);
472
+ }
473
+ .leading-\[18px\] {
474
+ --tw-leading: 18px;
475
+ line-height: 18px;
476
+ }
477
+ .font-medium {
478
+ --tw-font-weight: var(--font-weight-medium);
479
+ font-weight: var(--font-weight-medium);
480
+ }
481
+ .font-normal {
482
+ --tw-font-weight: var(--font-weight-normal);
483
+ font-weight: var(--font-weight-normal);
484
+ }
485
+ .font-semibold {
486
+ --tw-font-weight: var(--font-weight-semibold);
487
+ font-weight: var(--font-weight-semibold);
488
+ }
489
+ .break-words {
490
+ overflow-wrap: break-word;
491
+ }
492
+ .whitespace-normal {
493
+ white-space: normal;
494
+ }
495
+ .whitespace-nowrap {
496
+ white-space: nowrap;
497
+ }
498
+ .whitespace-pre-wrap {
499
+ white-space: pre-wrap;
500
+ }
501
+ .text-\[var\(--surface-danger-text\)\] {
502
+ color: var(--surface-danger-text);
503
+ }
504
+ .text-foreground {
505
+ color: hsl(var(--foreground));
506
+ }
507
+ .text-muted-foreground {
508
+ color: hsl(var(--muted-foreground));
509
+ }
510
+ .tabular-nums {
511
+ --tw-numeric-spacing: tabular-nums;
512
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
513
+ }
514
+ .opacity-0 {
515
+ opacity: 0%;
516
+ }
517
+ .shadow-sm {
518
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
519
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
520
+ }
521
+ .shadow-xl {
522
+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
523
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
524
+ }
525
+ .grayscale {
526
+ --tw-grayscale: grayscale(100%);
527
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
528
+ }
529
+ .transition {
530
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
531
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
532
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
533
+ }
534
+ .\!outline-none {
535
+ --tw-outline-style: none !important;
536
+ outline-style: none !important;
537
+ }
538
+ .\[transition\:color_var\(--motion-control\)\,background-color_var\(--motion-control\)\,border-color_var\(--motion-control\)\,box-shadow_var\(--motion-control\)\,transform_var\(--motion-control\)\,scale_var\(--motion-control\)\,opacity_var\(--motion-control\)\] {
539
+ transition: color var(--motion-control),background-color var(--motion-control),border-color var(--motion-control),box-shadow var(--motion-control),transform var(--motion-control),scale var(--motion-control),opacity var(--motion-control);
540
+ }
541
+ .\[transition\:opacity_var\(--motion-surface\)\,transform_var\(--motion-surface\)\] {
542
+ transition: opacity var(--motion-surface),transform var(--motion-surface);
543
+ }
544
+ @media (hover: hover) {
545
+ .hover\:bg-muted:hover {
546
+ background-color: hsl(var(--muted));
547
+ }
548
+ .hover\:text-foreground:hover {
549
+ color: hsl(var(--foreground));
550
+ }
551
+ .hover\:grayscale-0:hover {
552
+ --tw-grayscale: grayscale(0%);
553
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
554
+ }
555
+ }
556
+ .focus-visible\:outline:focus-visible {
557
+ outline-style: var(--tw-outline-style);
558
+ outline-width: 1px;
559
+ }
560
+ .disabled\:opacity-40:disabled {
561
+ opacity: 40%;
562
+ }
563
+ .aria-pressed\:bg-muted[aria-pressed="true"] {
564
+ background-color: hsl(var(--muted));
565
+ }
566
+ @media (prefers-reduced-motion: reduce) {
567
+ .motion-reduce\:transition-none {
568
+ transition-property: none;
569
+ }
570
+ }
571
+ @media (width >= 40rem) {
572
+ .sm\:\!block {
573
+ display: block !important;
574
+ }
575
+ }
576
+ }
577
+ }
578
+ .react-flow {
579
+ direction: ltr;
580
+ --xy-edge-stroke-default: #b1b1b7;
581
+ --xy-edge-stroke-width-default: 1;
582
+ --xy-edge-stroke-selected-default: #555;
583
+ --xy-connectionline-stroke-default: #b1b1b7;
584
+ --xy-connectionline-stroke-width-default: 1;
585
+ --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);
586
+ --xy-minimap-background-color-default: #fff;
587
+ --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
588
+ --xy-minimap-mask-stroke-color-default: transparent;
589
+ --xy-minimap-mask-stroke-width-default: 1;
590
+ --xy-minimap-node-background-color-default: #e2e2e2;
591
+ --xy-minimap-node-stroke-color-default: transparent;
592
+ --xy-minimap-node-stroke-width-default: 2;
593
+ --xy-background-color-default: transparent;
594
+ --xy-background-pattern-dots-color-default: #91919a;
595
+ --xy-background-pattern-lines-color-default: #eee;
596
+ --xy-background-pattern-cross-color-default: #e2e2e2;
597
+ background-color: var(--xy-background-color, var(--xy-background-color-default));
598
+ --xy-node-color-default: inherit;
599
+ --xy-node-border-default: 1px solid #1a192b;
600
+ --xy-node-background-color-default: #fff;
601
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
602
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
603
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
604
+ --xy-node-border-radius-default: 3px;
605
+ --xy-handle-background-color-default: #1a192b;
606
+ --xy-handle-border-color-default: #fff;
607
+ --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
608
+ --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);
609
+ --xy-controls-button-background-color-default: #fefefe;
610
+ --xy-controls-button-background-color-hover-default: #f4f4f4;
611
+ --xy-controls-button-color-default: inherit;
612
+ --xy-controls-button-color-hover-default: inherit;
613
+ --xy-controls-button-border-color-default: #eee;
614
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
615
+ --xy-edge-label-background-color-default: #ffffff;
616
+ --xy-edge-label-color-default: inherit;
617
+ --xy-resize-background-color-default: #3367d9;
618
+ }
619
+ .react-flow.dark {
620
+ --xy-edge-stroke-default: #3e3e3e;
621
+ --xy-edge-stroke-width-default: 1;
622
+ --xy-edge-stroke-selected-default: #727272;
623
+ --xy-connectionline-stroke-default: #b1b1b7;
624
+ --xy-connectionline-stroke-width-default: 1;
625
+ --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);
626
+ --xy-minimap-background-color-default: #141414;
627
+ --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
628
+ --xy-minimap-mask-stroke-color-default: transparent;
629
+ --xy-minimap-mask-stroke-width-default: 1;
630
+ --xy-minimap-node-background-color-default: #2b2b2b;
631
+ --xy-minimap-node-stroke-color-default: transparent;
632
+ --xy-minimap-node-stroke-width-default: 2;
633
+ --xy-background-color-default: #141414;
634
+ --xy-background-pattern-dots-color-default: #555;
635
+ --xy-background-pattern-lines-color-default: #333;
636
+ --xy-background-pattern-cross-color-default: #333;
637
+ --xy-node-color-default: #f8f8f8;
638
+ --xy-node-border-default: 1px solid #3c3c3c;
639
+ --xy-node-background-color-default: #1e1e1e;
640
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
641
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
642
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;
643
+ --xy-handle-background-color-default: #bebebe;
644
+ --xy-handle-border-color-default: #1e1e1e;
645
+ --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
646
+ --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);
647
+ --xy-controls-button-background-color-default: #2b2b2b;
648
+ --xy-controls-button-background-color-hover-default: #3e3e3e;
649
+ --xy-controls-button-color-default: #f8f8f8;
650
+ --xy-controls-button-color-hover-default: #fff;
651
+ --xy-controls-button-border-color-default: #5b5b5b;
652
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
653
+ --xy-edge-label-background-color-default: #141414;
654
+ --xy-edge-label-color-default: #f8f8f8;
655
+ }
656
+ .react-flow__background {
657
+ background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
658
+ pointer-events: none;
659
+ z-index: -1;
660
+ }
661
+ .react-flow__container {
662
+ position: absolute;
663
+ width: 100%;
664
+ height: 100%;
665
+ top: 0;
666
+ left: 0;
667
+ }
668
+ .react-flow__pane {
669
+ z-index: 1;
670
+ touch-action: none;
671
+ }
672
+ .react-flow__pane.draggable {
673
+ cursor: grab;
674
+ }
675
+ .react-flow__pane.dragging {
676
+ cursor: grabbing;
677
+ }
678
+ .react-flow__pane.selection {
679
+ cursor: pointer;
680
+ }
681
+ .react-flow__viewport {
682
+ transform-origin: 0 0;
683
+ z-index: 2;
684
+ pointer-events: none;
685
+ }
686
+ .react-flow__renderer {
687
+ z-index: 4;
688
+ }
689
+ .react-flow__selection {
690
+ z-index: 6;
691
+ }
692
+ .react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible {
693
+ outline: none;
694
+ }
695
+ .react-flow__edge-path {
696
+ stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
697
+ stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
698
+ fill: none;
699
+ }
700
+ .react-flow__connection-path {
701
+ stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
702
+ stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
703
+ fill: none;
704
+ }
705
+ .react-flow .react-flow__edges {
706
+ position: absolute;
707
+ }
708
+ .react-flow .react-flow__edges svg {
709
+ overflow: visible;
710
+ position: absolute;
711
+ pointer-events: none;
712
+ }
713
+ .react-flow__edge {
714
+ pointer-events: visibleStroke;
715
+ }
716
+ .react-flow__edge.selectable {
717
+ cursor: pointer;
718
+ }
719
+ .react-flow__edge.animated path {
720
+ stroke-dasharray: 5;
721
+ animation: dashdraw 0.5s linear infinite;
722
+ }
723
+ .react-flow__edge.animated path.react-flow__edge-interaction {
724
+ stroke-dasharray: none;
725
+ animation: none;
726
+ }
727
+ .react-flow__edge.inactive {
728
+ pointer-events: none;
729
+ }
730
+ .react-flow__edge.selected, .react-flow__edge:focus, .react-flow__edge:focus-visible {
731
+ outline: none;
732
+ }
733
+ .react-flow__edge.selected .react-flow__edge-path, .react-flow__edge.selectable:focus .react-flow__edge-path, .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
734
+ stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
735
+ }
736
+ .react-flow__edge-textwrapper {
737
+ pointer-events: all;
738
+ }
739
+ .react-flow__edge .react-flow__edge-text {
740
+ pointer-events: none;
741
+ -webkit-user-select: none;
742
+ -moz-user-select: none;
743
+ user-select: none;
744
+ }
745
+ .react-flow__arrowhead polyline {
746
+ stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
747
+ }
748
+ .react-flow__arrowhead polyline.arrowclosed {
749
+ fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
750
+ }
751
+ .react-flow__connection {
752
+ pointer-events: none;
753
+ }
754
+ .react-flow__connection .animated {
755
+ stroke-dasharray: 5;
756
+ animation: dashdraw 0.5s linear infinite;
757
+ }
758
+ svg.react-flow__connectionline {
759
+ z-index: 1001;
760
+ overflow: visible;
761
+ position: absolute;
762
+ }
763
+ .react-flow__nodes {
764
+ pointer-events: none;
765
+ transform-origin: 0 0;
766
+ }
767
+ .react-flow__node {
768
+ position: absolute;
769
+ -webkit-user-select: none;
770
+ -moz-user-select: none;
771
+ user-select: none;
772
+ pointer-events: all;
773
+ transform-origin: 0 0;
774
+ box-sizing: border-box;
775
+ cursor: default;
776
+ }
777
+ .react-flow__node.selectable {
778
+ cursor: pointer;
779
+ }
780
+ .react-flow__node.draggable {
781
+ cursor: grab;
782
+ pointer-events: all;
783
+ }
784
+ .react-flow__node.draggable.dragging {
785
+ cursor: grabbing;
786
+ }
787
+ .react-flow__nodesselection {
788
+ z-index: 3;
789
+ transform-origin: left top;
790
+ pointer-events: none;
791
+ }
792
+ .react-flow__nodesselection-rect {
793
+ position: absolute;
794
+ pointer-events: all;
795
+ cursor: grab;
796
+ }
797
+ .react-flow__handle {
798
+ position: absolute;
799
+ pointer-events: none;
800
+ min-width: 5px;
801
+ min-height: 5px;
802
+ width: 6px;
803
+ height: 6px;
804
+ background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
805
+ border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
806
+ border-radius: 100%;
807
+ }
808
+ .react-flow__handle.connectingfrom {
809
+ pointer-events: all;
810
+ }
811
+ .react-flow__handle.connectionindicator {
812
+ pointer-events: all;
813
+ cursor: crosshair;
814
+ }
815
+ .react-flow__handle-bottom {
816
+ top: auto;
817
+ left: 50%;
818
+ bottom: 0;
819
+ transform: translate(-50%, 50%);
820
+ }
821
+ .react-flow__handle-top {
822
+ top: 0;
823
+ left: 50%;
824
+ transform: translate(-50%, -50%);
825
+ }
826
+ .react-flow__handle-left {
827
+ top: 50%;
828
+ left: 0;
829
+ transform: translate(-50%, -50%);
830
+ }
831
+ .react-flow__handle-right {
832
+ top: 50%;
833
+ right: 0;
834
+ transform: translate(50%, -50%);
835
+ }
836
+ .react-flow__edgeupdater {
837
+ cursor: move;
838
+ pointer-events: all;
839
+ }
840
+ .react-flow__pane.selection .react-flow__panel {
841
+ pointer-events: none;
842
+ }
843
+ .react-flow__panel {
844
+ position: absolute;
845
+ z-index: 5;
846
+ margin: 15px;
847
+ }
848
+ .react-flow__panel.top {
849
+ top: 0;
850
+ }
851
+ .react-flow__panel.bottom {
852
+ bottom: 0;
853
+ }
854
+ .react-flow__panel.top.center, .react-flow__panel.bottom.center {
855
+ left: 50%;
856
+ transform: translateX(-15px) translateX(-50%);
857
+ }
858
+ .react-flow__panel.left {
859
+ left: 0;
860
+ }
861
+ .react-flow__panel.right {
862
+ right: 0;
863
+ }
864
+ .react-flow__panel.left.center, .react-flow__panel.right.center {
865
+ top: 50%;
866
+ transform: translateY(-15px) translateY(-50%);
867
+ }
868
+ .react-flow__attribution {
869
+ font-size: 10px;
870
+ background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
871
+ padding: 2px 3px;
872
+ margin: 0;
873
+ }
874
+ .react-flow__attribution a {
875
+ text-decoration: none;
876
+ color: #999;
877
+ }
878
+ @keyframes dashdraw {
879
+ from {
880
+ stroke-dashoffset: 10;
881
+ }
882
+ }
883
+ .react-flow__edgelabel-renderer {
884
+ position: absolute;
885
+ width: 100%;
886
+ height: 100%;
887
+ pointer-events: none;
888
+ -webkit-user-select: none;
889
+ -moz-user-select: none;
890
+ user-select: none;
891
+ left: 0;
892
+ top: 0;
893
+ }
894
+ .react-flow__viewport-portal {
895
+ position: absolute;
896
+ width: 100%;
897
+ height: 100%;
898
+ left: 0;
899
+ top: 0;
900
+ -webkit-user-select: none;
901
+ -moz-user-select: none;
902
+ user-select: none;
903
+ }
904
+ .react-flow__minimap {
905
+ background: var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) );
906
+ }
907
+ .react-flow__minimap-svg {
908
+ display: block;
909
+ }
910
+ .react-flow__minimap-mask {
911
+ fill: var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );
912
+ stroke: var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );
913
+ stroke-width: var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) );
914
+ }
915
+ .react-flow__minimap-node {
916
+ fill: var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );
917
+ stroke: var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );
918
+ stroke-width: var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) );
919
+ }
920
+ .react-flow__background-pattern.dots {
921
+ fill: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) );
922
+ }
923
+ .react-flow__background-pattern.lines {
924
+ stroke: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) );
925
+ }
926
+ .react-flow__background-pattern.cross {
927
+ stroke: var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) );
928
+ }
929
+ .react-flow__controls {
930
+ display: flex;
931
+ flex-direction: column;
932
+ box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
933
+ }
934
+ .react-flow__controls.horizontal {
935
+ flex-direction: row;
936
+ }
937
+ .react-flow__controls-button {
938
+ display: flex;
939
+ justify-content: center;
940
+ align-items: center;
941
+ height: 26px;
942
+ width: 26px;
943
+ padding: 4px;
944
+ border: none;
945
+ background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
946
+ border-bottom: 1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );
947
+ color: var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );
948
+ cursor: pointer;
949
+ -webkit-user-select: none;
950
+ -moz-user-select: none;
951
+ user-select: none;
952
+ }
953
+ .react-flow__controls-button svg {
954
+ width: 100%;
955
+ max-width: 12px;
956
+ max-height: 12px;
957
+ fill: currentColor;
958
+ }
959
+ .react-flow__edge.updating .react-flow__edge-path {
960
+ stroke: #777;
961
+ }
962
+ .react-flow__edge-text {
963
+ font-size: 10px;
964
+ }
965
+ .react-flow__node.selectable:focus, .react-flow__node.selectable:focus-visible {
966
+ outline: none;
967
+ }
968
+ .react-flow__node-input, .react-flow__node-default, .react-flow__node-output, .react-flow__node-group {
969
+ padding: 10px;
970
+ border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
971
+ width: 150px;
972
+ font-size: 12px;
973
+ color: var(--xy-node-color, var(--xy-node-color-default));
974
+ text-align: center;
975
+ border: var(--xy-node-border, var(--xy-node-border-default));
976
+ background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
977
+ }
978
+ .react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
979
+ box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
980
+ }
981
+ .react-flow__node-input.selectable.selected, .react-flow__node-input.selectable:focus, .react-flow__node-input.selectable:focus-visible, .react-flow__node-default.selectable.selected, .react-flow__node-default.selectable:focus, .react-flow__node-default.selectable:focus-visible, .react-flow__node-output.selectable.selected, .react-flow__node-output.selectable:focus, .react-flow__node-output.selectable:focus-visible, .react-flow__node-group.selectable.selected, .react-flow__node-group.selectable:focus, .react-flow__node-group.selectable:focus-visible {
982
+ box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
983
+ }
984
+ .react-flow__node-group {
985
+ background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
986
+ }
987
+ .react-flow__nodesselection-rect, .react-flow__selection {
988
+ background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
989
+ border: var(--xy-selection-border, var(--xy-selection-border-default));
990
+ }
991
+ .react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible, .react-flow__selection:focus, .react-flow__selection:focus-visible {
992
+ outline: none;
993
+ }
994
+ .react-flow__controls-button:hover {
995
+ background: var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );
996
+ color: var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) );
997
+ }
998
+ .react-flow__controls-button:disabled {
999
+ pointer-events: none;
1000
+ }
1001
+ .react-flow__controls-button:disabled svg {
1002
+ fill-opacity: 0.4;
1003
+ }
1004
+ .react-flow__controls-button:last-child {
1005
+ border-bottom: none;
1006
+ }
1007
+ .react-flow__controls.horizontal .react-flow__controls-button {
1008
+ border-bottom: none;
1009
+ border-right: 1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );
1010
+ }
1011
+ .react-flow__controls.horizontal .react-flow__controls-button:last-child {
1012
+ border-right: none;
1013
+ }
1014
+ .react-flow__resize-control {
1015
+ position: absolute;
1016
+ }
1017
+ .react-flow__resize-control.left, .react-flow__resize-control.right {
1018
+ cursor: ew-resize;
1019
+ }
1020
+ .react-flow__resize-control.top, .react-flow__resize-control.bottom {
1021
+ cursor: ns-resize;
1022
+ }
1023
+ .react-flow__resize-control.top.left, .react-flow__resize-control.bottom.right {
1024
+ cursor: nwse-resize;
1025
+ }
1026
+ .react-flow__resize-control.bottom.left, .react-flow__resize-control.top.right {
1027
+ cursor: nesw-resize;
1028
+ }
1029
+ .react-flow__resize-control.handle {
1030
+ width: 5px;
1031
+ height: 5px;
1032
+ border: 1px solid #fff;
1033
+ border-radius: 1px;
1034
+ background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
1035
+ translate: -50% -50%;
1036
+ }
1037
+ .react-flow__resize-control.handle.left {
1038
+ left: 0;
1039
+ top: 50%;
1040
+ }
1041
+ .react-flow__resize-control.handle.right {
1042
+ left: 100%;
1043
+ top: 50%;
1044
+ }
1045
+ .react-flow__resize-control.handle.top {
1046
+ left: 50%;
1047
+ top: 0;
1048
+ }
1049
+ .react-flow__resize-control.handle.bottom {
1050
+ left: 50%;
1051
+ top: 100%;
1052
+ }
1053
+ .react-flow__resize-control.handle.top.left {
1054
+ left: 0;
1055
+ }
1056
+ .react-flow__resize-control.handle.bottom.left {
1057
+ left: 0;
1058
+ }
1059
+ .react-flow__resize-control.handle.top.right {
1060
+ left: 100%;
1061
+ }
1062
+ .react-flow__resize-control.handle.bottom.right {
1063
+ left: 100%;
1064
+ }
1065
+ .react-flow__resize-control.line {
1066
+ border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
1067
+ border-width: 0;
1068
+ border-style: solid;
1069
+ }
1070
+ .react-flow__resize-control.line.left, .react-flow__resize-control.line.right {
1071
+ width: 1px;
1072
+ transform: translate(-50%, 0);
1073
+ top: 0;
1074
+ height: 100%;
1075
+ }
1076
+ .react-flow__resize-control.line.left {
1077
+ left: 0;
1078
+ border-left-width: 1px;
1079
+ }
1080
+ .react-flow__resize-control.line.right {
1081
+ left: 100%;
1082
+ border-right-width: 1px;
1083
+ }
1084
+ .react-flow__resize-control.line.top, .react-flow__resize-control.line.bottom {
1085
+ height: 1px;
1086
+ transform: translate(0, -50%);
1087
+ left: 0;
1088
+ width: 100%;
1089
+ }
1090
+ .react-flow__resize-control.line.top {
1091
+ top: 0;
1092
+ border-top-width: 1px;
1093
+ }
1094
+ .react-flow__resize-control.line.bottom {
1095
+ border-bottom-width: 1px;
1096
+ top: 100%;
1097
+ }
1098
+ .react-flow__edge-textbg {
1099
+ fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
1100
+ }
1101
+ .react-flow__edge-text {
1102
+ fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
1103
+ }
1104
+ .agent-graph {
1105
+ container-type: inline-size;
1106
+ }
1107
+ .ag-live {
1108
+ --ag-fg: hsl(var(--foreground));
1109
+ --ag-muted: hsl(var(--muted-foreground));
1110
+ --ag-surface: hsl(var(--card));
1111
+ --ag-border: hsl(var(--border));
1112
+ }
1113
+ .ag-live-slot {
1114
+ display: flex;
1115
+ align-items: flex-start;
1116
+ width: 100%;
1117
+ height: 100%;
1118
+ }
1119
+ .ag-live-card {
1120
+ position: relative;
1121
+ display: flex;
1122
+ flex-direction: column;
1123
+ gap: 4px;
1124
+ box-sizing: border-box;
1125
+ width: 100%;
1126
+ height: 100%;
1127
+ padding: 8px;
1128
+ border: 1px solid var(--ag-border);
1129
+ border-radius: var(--radius-card);
1130
+ animation: tangle-intro-enter var(--motion-arrive) both;
1131
+ background: var(--ag-surface);
1132
+ color: var(--ag-fg);
1133
+ overflow: hidden;
1134
+ transition: height var(--motion-surface), border-radius var(--motion-surface), border-color var(--motion-control), box-shadow var(--motion-control);
1135
+ }
1136
+ .ag-live-head {
1137
+ display: grid;
1138
+ grid-template-columns: 18px minmax(0, 1fr) auto;
1139
+ align-items: center;
1140
+ column-gap: 8px;
1141
+ min-width: 0;
1142
+ }
1143
+ .ag-live-head > :first-child {
1144
+ grid-column: 1;
1145
+ grid-row: 1 / 3;
1146
+ }
1147
+ .ag-live-names, .ag-live-stats {
1148
+ display: contents;
1149
+ }
1150
+ .ag-live-name {
1151
+ grid-column: 2;
1152
+ grid-row: 1;
1153
+ font-size: var(--font-size-sm);
1154
+ line-height: 18px;
1155
+ font-weight: 600;
1156
+ overflow: hidden;
1157
+ text-overflow: ellipsis;
1158
+ white-space: nowrap;
1159
+ }
1160
+ .ag-live-meta, .ag-live-stats {
1161
+ font-size: var(--font-size-xs);
1162
+ line-height: 16px;
1163
+ color: var(--ag-muted);
1164
+ }
1165
+ .ag-live-meta {
1166
+ grid-column: 2 / -1;
1167
+ grid-row: 2;
1168
+ overflow: hidden;
1169
+ text-overflow: ellipsis;
1170
+ white-space: nowrap;
1171
+ }
1172
+ .ag-live-accounting {
1173
+ grid-column: 2 / -1;
1174
+ grid-row: 3;
1175
+ font-size: var(--font-size-xs);
1176
+ font-variant-numeric: tabular-nums;
1177
+ overflow: hidden;
1178
+ text-overflow: ellipsis;
1179
+ white-space: nowrap;
1180
+ max-width: 100%;
1181
+ }
1182
+ .ag-live-pill {
1183
+ grid-column: 3;
1184
+ grid-row: 1;
1185
+ justify-self: end;
1186
+ display: inline-flex;
1187
+ align-items: center;
1188
+ gap: 4px;
1189
+ color: var(--ag-status);
1190
+ }
1191
+ .ag-running-dot {
1192
+ display: inline-block;
1193
+ flex: none;
1194
+ width: 6px;
1195
+ height: 6px;
1196
+ border-radius: var(--radius-pill);
1197
+ background: var(--surface-info-text);
1198
+ }
1199
+ [data-activity="quiet"] .ag-running-dot {
1200
+ background: var(--surface-warning-text);
1201
+ animation: none !important;
1202
+ }
1203
+ .ag-live-thinking-row {
1204
+ display: flex;
1205
+ align-items: center;
1206
+ gap: 8px;
1207
+ min-width: 0;
1208
+ }
1209
+ .ag-live-thinking {
1210
+ flex: 1;
1211
+ min-width: 0;
1212
+ margin: 0;
1213
+ font-size: var(--font-size-sm);
1214
+ line-height: 20px;
1215
+ display: -webkit-box;
1216
+ -webkit-line-clamp: 2;
1217
+ -webkit-box-orient: vertical;
1218
+ overflow: hidden;
1219
+ }
1220
+ .ag-live-quiet {
1221
+ color: var(--surface-warning-text);
1222
+ font-size: var(--font-size-xs);
1223
+ line-height: 16px;
1224
+ }
1225
+ .ag-live-inspect {
1226
+ border: 0;
1227
+ padding: 0;
1228
+ background: transparent;
1229
+ font: inherit;
1230
+ cursor: pointer;
1231
+ }
1232
+ .ag-live-inspect > span:last-child {
1233
+ text-decoration: underline;
1234
+ }
1235
+ .ag-live-respond {
1236
+ height: var(--control-height-sm);
1237
+ min-height: var(--control-height-sm);
1238
+ flex: none;
1239
+ border: 1px solid currentColor;
1240
+ border-radius: var(--radius-control);
1241
+ padding: 0 8px;
1242
+ color: var(--surface-warning-text);
1243
+ background: transparent;
1244
+ cursor: pointer;
1245
+ }
1246
+ .ag-live-events-clip {
1247
+ margin-top: auto;
1248
+ height: 48px;
1249
+ min-height: 48px;
1250
+ overflow: hidden;
1251
+ }
1252
+ .ag-live-events {
1253
+ margin: 0;
1254
+ padding: 0;
1255
+ list-style: none;
1256
+ }
1257
+ .ag-live-events li {
1258
+ display: flex;
1259
+ align-items: center;
1260
+ gap: 6px;
1261
+ min-height: 16px;
1262
+ font: var(--font-size-xs)/16px var(--font-mono, monospace);
1263
+ color: var(--ag-muted);
1264
+ transition: color var(--motion-stream);
1265
+ }
1266
+ .ag-live-events li svg {
1267
+ flex: none;
1268
+ width: 12px;
1269
+ height: 12px;
1270
+ }
1271
+ .ag-live-events li:last-child {
1272
+ color: var(--ag-fg);
1273
+ }
1274
+ .ag-live-event-label {
1275
+ flex: 1;
1276
+ min-width: 0;
1277
+ overflow: hidden;
1278
+ text-overflow: ellipsis;
1279
+ white-space: nowrap;
1280
+ }
1281
+ .ag-live-event-at {
1282
+ flex: none;
1283
+ min-width: 3ch;
1284
+ text-align: right;
1285
+ font-variant-numeric: tabular-nums;
1286
+ }
1287
+ .ag-live-chip {
1288
+ height: 80px;
1289
+ display: grid;
1290
+ grid-template-columns: 16px minmax(0, 1fr) auto auto;
1291
+ grid-template-rows: 18px minmax(0, 1fr);
1292
+ gap: 4px 8px;
1293
+ }
1294
+ .ag-live-chip .ag-live-head {
1295
+ display: contents;
1296
+ }
1297
+ .ag-live-chip .ag-live-names {
1298
+ display: contents;
1299
+ }
1300
+ .ag-live-chip .ag-live-name {
1301
+ grid-column: 2;
1302
+ grid-row: 1;
1303
+ }
1304
+ .ag-live-chip .ag-live-stats, .ag-live-chip .ag-live-head > :first-child {
1305
+ display: none;
1306
+ }
1307
+ .ag-live-chip-result {
1308
+ grid-column: 1 / -1;
1309
+ grid-row: 2;
1310
+ min-width: 0;
1311
+ overflow: auto;
1312
+ overflow-wrap: anywhere;
1313
+ font-size: var(--font-size-sm);
1314
+ line-height: 18px;
1315
+ }
1316
+ .ag-phone-list {
1317
+ display: flex;
1318
+ flex-direction: column;
1319
+ gap: 12px;
1320
+ margin: 0;
1321
+ padding: 8px;
1322
+ list-style: none;
1323
+ }
1324
+ .ag-phone-list > li {
1325
+ min-width: 0;
1326
+ padding-left: min(calc(var(--depth) * 16px), 32px);
1327
+ border-left: 1px solid var(--ag-border);
1328
+ }
1329
+ .ag-phone-select {
1330
+ width: 100%;
1331
+ height: 100%;
1332
+ text-align: left;
1333
+ background: transparent;
1334
+ padding: 0;
1335
+ border: 0;
1336
+ color: inherit;
1337
+ cursor: pointer;
1338
+ }
1339
+ .agent-graph .react-flow__node-liveAgent:focus-visible .ag-live-card, .agent-graph .react-flow__node-agent:focus-visible > div, .ag-phone-select:focus-visible {
1340
+ outline: 2px solid hsl(var(--foreground) / .7);
1341
+ outline-offset: 2px;
1342
+ }
1343
+ @media (prefers-reduced-motion: reduce) {
1344
+ .ag-live-card {
1345
+ animation: none;
1346
+ transition: opacity var(--duration-fast);
1347
+ }
1348
+ }
1349
+ .ag-status-button {
1350
+ display: inline-flex;
1351
+ align-items: center;
1352
+ min-width: 0;
1353
+ max-width: max-content;
1354
+ flex: 1 1 0%;
1355
+ gap: 6px;
1356
+ }
1357
+ .ag-caption-target {
1358
+ flex: 1;
1359
+ min-width: 0;
1360
+ overflow: hidden;
1361
+ text-overflow: ellipsis;
1362
+ white-space: nowrap;
1363
+ font-weight: 600;
1364
+ }
1365
+ @container (width < 600px) {
1366
+ .ag-live-card {
1367
+ height: auto;
1368
+ min-height: 164px;
1369
+ }
1370
+ .ag-live-card[data-sparse="true"] {
1371
+ min-height: 88px;
1372
+ }
1373
+ .ag-phone-select .ag-agent-card {
1374
+ height: auto;
1375
+ min-height: 88px;
1376
+ }
1377
+ .ag-caption-target {
1378
+ display: none;
1379
+ }
1380
+ .ag-status-button {
1381
+ flex: 0 0 auto;
1382
+ }
1383
+ .ag-live-card.ag-live-chip {
1384
+ min-height: 80px;
1385
+ height: 80px;
1386
+ }
1387
+ }
1388
+ .ag-live-chip-status {
1389
+ grid-column: 3;
1390
+ grid-row: 1;
1391
+ font-size: var(--font-size-xs);
1392
+ color: var(--ag-status);
1393
+ }
1394
+ .ag-live-chip-cost {
1395
+ grid-column: 4;
1396
+ grid-row: 1;
1397
+ font-size: var(--font-size-xs);
1398
+ color: var(--ag-muted);
1399
+ font-variant-numeric: tabular-nums;
1400
+ }
1401
+ .ag-parent-label {
1402
+ color: var(--ag-muted);
1403
+ font-size: var(--font-size-xs);
1404
+ font-weight: 400;
1405
+ }
1406
+ .ag-agent-card[data-status="needs-you"] p {
1407
+ -webkit-line-clamp: 1;
1408
+ }
1409
+ .ag-latest {
1410
+ container-type: inline-size;
1411
+ flex: none;
1412
+ min-width: 0;
1413
+ border-bottom: 1px solid hsl(var(--border));
1414
+ padding: 4px 12px;
1415
+ color: hsl(var(--foreground));
1416
+ font-size: var(--font-size-xs);
1417
+ line-height: 16px;
1418
+ }
1419
+ .ag-latest header {
1420
+ float: left;
1421
+ width: 128px;
1422
+ height: 64px;
1423
+ display: flex;
1424
+ flex-direction: column;
1425
+ align-items: start;
1426
+ justify-content: center;
1427
+ }
1428
+ .ag-latest header > span {
1429
+ color: hsl(var(--muted-foreground));
1430
+ }
1431
+ .ag-latest header > button {
1432
+ padding: 0;
1433
+ border: 0;
1434
+ background: transparent;
1435
+ text-decoration: underline;
1436
+ font: inherit;
1437
+ color: inherit;
1438
+ cursor: pointer;
1439
+ }
1440
+ .ag-latest ol {
1441
+ display: grid;
1442
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
1443
+ gap: 0 12px;
1444
+ list-style: none;
1445
+ margin: 0 0 0 140px;
1446
+ padding: 0;
1447
+ overflow: auto;
1448
+ height: 64px;
1449
+ }
1450
+ .ag-latest li {
1451
+ min-height: 64px;
1452
+ }
1453
+ .ag-latest li > button {
1454
+ display: grid;
1455
+ grid-template-columns: 8px minmax(0, 1fr) auto;
1456
+ gap: 0 6px;
1457
+ align-content: start;
1458
+ align-items: start;
1459
+ width: 100%;
1460
+ min-height: 64px;
1461
+ padding: 0;
1462
+ border: 0;
1463
+ background: transparent;
1464
+ color: inherit;
1465
+ font: inherit;
1466
+ text-align: left;
1467
+ cursor: pointer;
1468
+ }
1469
+ .ag-latest li > button:disabled {
1470
+ cursor: default;
1471
+ }
1472
+ .ag-latest strong {
1473
+ font-weight: 600;
1474
+ }
1475
+ .ag-latest li strong {
1476
+ grid-column: 2;
1477
+ grid-row: 1;
1478
+ overflow: hidden;
1479
+ text-overflow: ellipsis;
1480
+ white-space: nowrap;
1481
+ }
1482
+ .ag-latest-dot {
1483
+ box-sizing: border-box;
1484
+ width: 8px;
1485
+ height: 8px;
1486
+ border-radius: var(--radius-pill);
1487
+ }
1488
+ .ag-latest-state {
1489
+ grid-column: 3;
1490
+ grid-row: 1;
1491
+ display: inline-flex;
1492
+ align-items: center;
1493
+ gap: 4px;
1494
+ }
1495
+ .ag-latest-label {
1496
+ grid-column: 2 / -1;
1497
+ grid-row: 2;
1498
+ min-width: 0;
1499
+ overflow-wrap: anywhere;
1500
+ font: var(--font-size-xs)/16px var(--font-mono, monospace);
1501
+ }
1502
+ .ag-latest time {
1503
+ grid-column: 2 / -1;
1504
+ grid-row: 3;
1505
+ color: hsl(var(--muted-foreground));
1506
+ font: var(--font-size-xs)/16px var(--font-mono, monospace);
1507
+ font-variant-numeric: tabular-nums;
1508
+ }
1509
+ .ag-latest-empty {
1510
+ grid-column: 1 / -1;
1511
+ display: flex;
1512
+ align-items: center;
1513
+ color: hsl(var(--muted-foreground));
1514
+ }
1515
+ .ag-frame-owner .ag-live-card {
1516
+ height: 100%;
1517
+ display: grid;
1518
+ grid-template-columns: 18px minmax(0, 1fr) auto;
1519
+ grid-template-rows: 18px minmax(0, 1fr);
1520
+ gap: 4px 8px;
1521
+ }
1522
+ .ag-frame-owner .ag-live-chip-result {
1523
+ white-space: nowrap;
1524
+ }
1525
+ .ag-frame-owner .ag-live-head {
1526
+ display: contents;
1527
+ }
1528
+ .ag-frame-owner .ag-live-meta, .ag-frame-owner .ag-live-events-clip {
1529
+ display: none;
1530
+ }
1531
+ .ag-frame-owner .ag-live-thinking-row {
1532
+ grid-column: 2 / -1;
1533
+ grid-row: 2;
1534
+ }
1535
+ .ag-frame-owner .ag-live-thinking {
1536
+ -webkit-line-clamp: 1;
1537
+ }
1538
+ .ag-frame-owner .ag-live-accounting {
1539
+ display: none;
1540
+ }
1541
+ .ag-frame-owner .ag-agent-card {
1542
+ flex-direction: row;
1543
+ align-items: center;
1544
+ gap: 16px;
1545
+ }
1546
+ @container (width < 600px) {
1547
+ .ag-latest header {
1548
+ float: none;
1549
+ width: auto;
1550
+ height: 24px;
1551
+ flex-direction: row;
1552
+ align-items: center;
1553
+ justify-content: start;
1554
+ gap: 8px;
1555
+ }
1556
+ .ag-latest header > button {
1557
+ margin-left: auto;
1558
+ }
1559
+ .ag-latest ol {
1560
+ grid-template-columns: 1fr;
1561
+ margin-left: 0;
1562
+ height: 64px;
1563
+ }
1564
+ }
1565
+ @media (pointer: coarse) {
1566
+ .ag-live-respond {
1567
+ min-height: 44px;
1568
+ min-width: 44px;
1569
+ }
1570
+ }
1571
+ @property --tw-rotate-x {
1572
+ syntax: "*";
1573
+ inherits: false;
1574
+ }
1575
+ @property --tw-rotate-y {
1576
+ syntax: "*";
1577
+ inherits: false;
1578
+ }
1579
+ @property --tw-rotate-z {
1580
+ syntax: "*";
1581
+ inherits: false;
1582
+ }
1583
+ @property --tw-skew-x {
1584
+ syntax: "*";
1585
+ inherits: false;
1586
+ }
1587
+ @property --tw-skew-y {
1588
+ syntax: "*";
1589
+ inherits: false;
1590
+ }
1591
+ @property --tw-space-y-reverse {
1592
+ syntax: "*";
1593
+ inherits: false;
1594
+ initial-value: 0;
1595
+ }
1596
+ @property --tw-border-style {
1597
+ syntax: "*";
1598
+ inherits: false;
1599
+ initial-value: solid;
1600
+ }
1601
+ @property --tw-leading {
1602
+ syntax: "*";
1603
+ inherits: false;
1604
+ }
1605
+ @property --tw-font-weight {
1606
+ syntax: "*";
1607
+ inherits: false;
1608
+ }
1609
+ @property --tw-ordinal {
1610
+ syntax: "*";
1611
+ inherits: false;
1612
+ }
1613
+ @property --tw-slashed-zero {
1614
+ syntax: "*";
1615
+ inherits: false;
1616
+ }
1617
+ @property --tw-numeric-figure {
1618
+ syntax: "*";
1619
+ inherits: false;
1620
+ }
1621
+ @property --tw-numeric-spacing {
1622
+ syntax: "*";
1623
+ inherits: false;
1624
+ }
1625
+ @property --tw-numeric-fraction {
1626
+ syntax: "*";
1627
+ inherits: false;
1628
+ }
1629
+ @property --tw-shadow {
1630
+ syntax: "*";
1631
+ inherits: false;
1632
+ initial-value: 0 0 #0000;
1633
+ }
1634
+ @property --tw-shadow-color {
1635
+ syntax: "*";
1636
+ inherits: false;
1637
+ }
1638
+ @property --tw-shadow-alpha {
1639
+ syntax: "<percentage>";
1640
+ inherits: false;
1641
+ initial-value: 100%;
1642
+ }
1643
+ @property --tw-inset-shadow {
1644
+ syntax: "*";
1645
+ inherits: false;
1646
+ initial-value: 0 0 #0000;
1647
+ }
1648
+ @property --tw-inset-shadow-color {
1649
+ syntax: "*";
1650
+ inherits: false;
1651
+ }
1652
+ @property --tw-inset-shadow-alpha {
1653
+ syntax: "<percentage>";
1654
+ inherits: false;
1655
+ initial-value: 100%;
1656
+ }
1657
+ @property --tw-ring-color {
1658
+ syntax: "*";
1659
+ inherits: false;
1660
+ }
1661
+ @property --tw-ring-shadow {
1662
+ syntax: "*";
1663
+ inherits: false;
1664
+ initial-value: 0 0 #0000;
1665
+ }
1666
+ @property --tw-inset-ring-color {
1667
+ syntax: "*";
1668
+ inherits: false;
1669
+ }
1670
+ @property --tw-inset-ring-shadow {
1671
+ syntax: "*";
1672
+ inherits: false;
1673
+ initial-value: 0 0 #0000;
1674
+ }
1675
+ @property --tw-ring-inset {
1676
+ syntax: "*";
1677
+ inherits: false;
1678
+ }
1679
+ @property --tw-ring-offset-width {
1680
+ syntax: "<length>";
1681
+ inherits: false;
1682
+ initial-value: 0px;
1683
+ }
1684
+ @property --tw-ring-offset-color {
1685
+ syntax: "*";
1686
+ inherits: false;
1687
+ initial-value: #fff;
1688
+ }
1689
+ @property --tw-ring-offset-shadow {
1690
+ syntax: "*";
1691
+ inherits: false;
1692
+ initial-value: 0 0 #0000;
1693
+ }
1694
+ @property --tw-blur {
1695
+ syntax: "*";
1696
+ inherits: false;
1697
+ }
1698
+ @property --tw-brightness {
1699
+ syntax: "*";
1700
+ inherits: false;
1701
+ }
1702
+ @property --tw-contrast {
1703
+ syntax: "*";
1704
+ inherits: false;
1705
+ }
1706
+ @property --tw-grayscale {
1707
+ syntax: "*";
1708
+ inherits: false;
1709
+ }
1710
+ @property --tw-hue-rotate {
1711
+ syntax: "*";
1712
+ inherits: false;
1713
+ }
1714
+ @property --tw-invert {
1715
+ syntax: "*";
1716
+ inherits: false;
1717
+ }
1718
+ @property --tw-opacity {
1719
+ syntax: "*";
1720
+ inherits: false;
1721
+ }
1722
+ @property --tw-saturate {
1723
+ syntax: "*";
1724
+ inherits: false;
1725
+ }
1726
+ @property --tw-sepia {
1727
+ syntax: "*";
1728
+ inherits: false;
1729
+ }
1730
+ @property --tw-drop-shadow {
1731
+ syntax: "*";
1732
+ inherits: false;
1733
+ }
1734
+ @property --tw-drop-shadow-color {
1735
+ syntax: "*";
1736
+ inherits: false;
1737
+ }
1738
+ @property --tw-drop-shadow-alpha {
1739
+ syntax: "<percentage>";
1740
+ inherits: false;
1741
+ initial-value: 100%;
1742
+ }
1743
+ @property --tw-drop-shadow-size {
1744
+ syntax: "*";
1745
+ inherits: false;
1746
+ }
1747
+ @property --tw-outline-style {
1748
+ syntax: "*";
1749
+ inherits: false;
1750
+ initial-value: solid;
1751
+ }
1752
+ @layer properties {
1753
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1754
+ *, ::before, ::after, ::backdrop {
1755
+ --tw-rotate-x: initial;
1756
+ --tw-rotate-y: initial;
1757
+ --tw-rotate-z: initial;
1758
+ --tw-skew-x: initial;
1759
+ --tw-skew-y: initial;
1760
+ --tw-space-y-reverse: 0;
1761
+ --tw-border-style: solid;
1762
+ --tw-leading: initial;
1763
+ --tw-font-weight: initial;
1764
+ --tw-ordinal: initial;
1765
+ --tw-slashed-zero: initial;
1766
+ --tw-numeric-figure: initial;
1767
+ --tw-numeric-spacing: initial;
1768
+ --tw-numeric-fraction: initial;
1769
+ --tw-shadow: 0 0 #0000;
1770
+ --tw-shadow-color: initial;
1771
+ --tw-shadow-alpha: 100%;
1772
+ --tw-inset-shadow: 0 0 #0000;
1773
+ --tw-inset-shadow-color: initial;
1774
+ --tw-inset-shadow-alpha: 100%;
1775
+ --tw-ring-color: initial;
1776
+ --tw-ring-shadow: 0 0 #0000;
1777
+ --tw-inset-ring-color: initial;
1778
+ --tw-inset-ring-shadow: 0 0 #0000;
1779
+ --tw-ring-inset: initial;
1780
+ --tw-ring-offset-width: 0px;
1781
+ --tw-ring-offset-color: #fff;
1782
+ --tw-ring-offset-shadow: 0 0 #0000;
1783
+ --tw-blur: initial;
1784
+ --tw-brightness: initial;
1785
+ --tw-contrast: initial;
1786
+ --tw-grayscale: initial;
1787
+ --tw-hue-rotate: initial;
1788
+ --tw-invert: initial;
1789
+ --tw-opacity: initial;
1790
+ --tw-saturate: initial;
1791
+ --tw-sepia: initial;
1792
+ --tw-drop-shadow: initial;
1793
+ --tw-drop-shadow-color: initial;
1794
+ --tw-drop-shadow-alpha: 100%;
1795
+ --tw-drop-shadow-size: initial;
1796
+ --tw-outline-style: solid;
1797
+ }
1798
+ }
1799
+ }
1800
+ @keyframes tangle-intro-enter { from { opacity: 0; transform: translateY(var(--arrive-distance)); } to { opacity: 1; transform: none; } }