@anlyx/ui 0.1.1 → 0.1.2

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 (100) hide show
  1. package/dist/components/AnlyxAppShell.d.ts +1 -1
  2. package/dist/components/AnlyxAppShell.js +150 -15
  3. package/dist/components/ApiCallList.d.ts +0 -1
  4. package/dist/components/ApiCallList.js +0 -1
  5. package/dist/components/CanvasPlaceholder.d.ts +0 -1
  6. package/dist/components/CanvasPlaceholder.js +0 -1
  7. package/dist/components/CaptureStatusEmptyState.d.ts +0 -1
  8. package/dist/components/CaptureStatusEmptyState.js +5 -4
  9. package/dist/components/EndpointList.d.ts +0 -1
  10. package/dist/components/EndpointList.js +1 -2
  11. package/dist/components/EndpointMapCanvas.d.ts +5 -2
  12. package/dist/components/EndpointMapCanvas.js +93 -13
  13. package/dist/components/FlowLegend.d.ts +4 -2
  14. package/dist/components/FlowLegend.js +4 -2
  15. package/dist/components/FlowNodeCard.d.ts +1 -2
  16. package/dist/components/FlowNodeCard.js +25 -3
  17. package/dist/components/InspectorPanel.d.ts +8 -3
  18. package/dist/components/InspectorPanel.js +17 -3
  19. package/dist/components/PageList.d.ts +0 -1
  20. package/dist/components/PageList.js +1 -2
  21. package/dist/components/PageStoryboardCard.d.ts +0 -1
  22. package/dist/components/PageStoryboardCard.js +4 -2
  23. package/dist/components/PageStoryboardView.d.ts +4 -3
  24. package/dist/components/PageStoryboardView.js +5 -3
  25. package/dist/components/ProcessFlowView.d.ts +21 -0
  26. package/dist/components/ProcessFlowView.js +9 -0
  27. package/dist/components/ProcessTimeline.d.ts +9 -0
  28. package/dist/components/ProcessTimeline.js +46 -0
  29. package/dist/components/ReplayControls.d.ts +5 -2
  30. package/dist/components/ReplayControls.js +4 -3
  31. package/dist/components/ScreenshotSegmentCard.d.ts +0 -1
  32. package/dist/components/ScreenshotSegmentCard.js +0 -1
  33. package/dist/components/Sidebar.d.ts +5 -4
  34. package/dist/components/Sidebar.js +6 -3
  35. package/dist/components/StatusBadge.d.ts +0 -1
  36. package/dist/components/StatusBadge.js +0 -1
  37. package/dist/flow/build-react-flow-model.d.ts +6 -2
  38. package/dist/flow/build-react-flow-model.js +15 -18
  39. package/dist/flow/layout/elk-layout.d.ts +7 -0
  40. package/dist/flow/layout/elk-layout.js +74 -0
  41. package/dist/index.d.ts +0 -1
  42. package/dist/index.js +0 -1
  43. package/dist/mock-data.d.ts +0 -1
  44. package/dist/mock-data.js +0 -1
  45. package/dist/replay/build-replay-steps.d.ts +0 -1
  46. package/dist/replay/build-replay-steps.js +0 -1
  47. package/dist/replay/use-replay-lite.d.ts +2 -2
  48. package/dist/replay/use-replay-lite.js +1 -1
  49. package/dist/styles.css +826 -100
  50. package/dist/viewer/ViewerApp.d.ts +0 -1
  51. package/dist/viewer/ViewerApp.js +0 -1
  52. package/dist/viewer/viewer-entry.d.ts +1 -1
  53. package/dist/viewer/viewer-entry.js +1 -1
  54. package/package.json +6 -2
  55. package/dist/components/AnlyxAppShell.d.ts.map +0 -1
  56. package/dist/components/AnlyxAppShell.js.map +0 -1
  57. package/dist/components/ApiCallList.d.ts.map +0 -1
  58. package/dist/components/ApiCallList.js.map +0 -1
  59. package/dist/components/CanvasPlaceholder.d.ts.map +0 -1
  60. package/dist/components/CanvasPlaceholder.js.map +0 -1
  61. package/dist/components/CaptureStatusEmptyState.d.ts.map +0 -1
  62. package/dist/components/CaptureStatusEmptyState.js.map +0 -1
  63. package/dist/components/EndpointList.d.ts.map +0 -1
  64. package/dist/components/EndpointList.js.map +0 -1
  65. package/dist/components/EndpointMapCanvas.d.ts.map +0 -1
  66. package/dist/components/EndpointMapCanvas.js.map +0 -1
  67. package/dist/components/FlowLegend.d.ts.map +0 -1
  68. package/dist/components/FlowLegend.js.map +0 -1
  69. package/dist/components/FlowNodeCard.d.ts.map +0 -1
  70. package/dist/components/FlowNodeCard.js.map +0 -1
  71. package/dist/components/InspectorPanel.d.ts.map +0 -1
  72. package/dist/components/InspectorPanel.js.map +0 -1
  73. package/dist/components/PageList.d.ts.map +0 -1
  74. package/dist/components/PageList.js.map +0 -1
  75. package/dist/components/PageStoryboardCard.d.ts.map +0 -1
  76. package/dist/components/PageStoryboardCard.js.map +0 -1
  77. package/dist/components/PageStoryboardView.d.ts.map +0 -1
  78. package/dist/components/PageStoryboardView.js.map +0 -1
  79. package/dist/components/ReplayControls.d.ts.map +0 -1
  80. package/dist/components/ReplayControls.js.map +0 -1
  81. package/dist/components/ScreenshotSegmentCard.d.ts.map +0 -1
  82. package/dist/components/ScreenshotSegmentCard.js.map +0 -1
  83. package/dist/components/Sidebar.d.ts.map +0 -1
  84. package/dist/components/Sidebar.js.map +0 -1
  85. package/dist/components/StatusBadge.d.ts.map +0 -1
  86. package/dist/components/StatusBadge.js.map +0 -1
  87. package/dist/flow/build-react-flow-model.d.ts.map +0 -1
  88. package/dist/flow/build-react-flow-model.js.map +0 -1
  89. package/dist/index.d.ts.map +0 -1
  90. package/dist/index.js.map +0 -1
  91. package/dist/mock-data.d.ts.map +0 -1
  92. package/dist/mock-data.js.map +0 -1
  93. package/dist/replay/build-replay-steps.d.ts.map +0 -1
  94. package/dist/replay/build-replay-steps.js.map +0 -1
  95. package/dist/replay/use-replay-lite.d.ts.map +0 -1
  96. package/dist/replay/use-replay-lite.js.map +0 -1
  97. package/dist/viewer/ViewerApp.d.ts.map +0 -1
  98. package/dist/viewer/ViewerApp.js.map +0 -1
  99. package/dist/viewer/viewer-entry.d.ts.map +0 -1
  100. package/dist/viewer/viewer-entry.js.map +0 -1
package/dist/styles.css CHANGED
@@ -1,21 +1,30 @@
1
1
  :root {
2
- --anlyx-color-background: #f7f8fb;
2
+ --anlyx-color-background: #f5f7fb;
3
3
  --anlyx-color-panel: #ffffff;
4
- --anlyx-color-canvas: #fafafa;
5
- --anlyx-color-border: #e5e7eb;
6
- --anlyx-color-text-primary: #111827;
7
- --anlyx-color-text-secondary: #6b7280;
8
- --anlyx-color-grid: #e5e7eb;
4
+ --anlyx-color-canvas: #fbfcff;
5
+ --anlyx-color-border: #dfe6f1;
6
+ --anlyx-color-border-strong: #c9d5e6;
7
+ --anlyx-color-text-primary: #0f172a;
8
+ --anlyx-color-text-secondary: #62708a;
9
+ --anlyx-color-text-muted: #8a97ad;
10
+ --anlyx-color-grid: #e8edf5;
9
11
  --anlyx-color-method-get: #10b981;
10
12
  --anlyx-color-method-post: #3b82f6;
11
13
  --anlyx-color-method-update: #f59e0b;
12
14
  --anlyx-color-method-delete: #ef4444;
15
+ --anlyx-color-request: #2563eb;
16
+ --anlyx-color-response: #8b5cf6;
17
+ --anlyx-color-branch: #f97316;
18
+ --anlyx-color-database: #0f766e;
13
19
  --anlyx-color-confidence-high: #16a34a;
14
20
  --anlyx-color-confidence-medium: #d97706;
15
21
  --anlyx-color-confidence-low: #ea580c;
16
22
  --anlyx-color-confidence-unknown: #6b7280;
17
- --anlyx-radius: 8px;
18
- --anlyx-shadow-panel: 0 1px 2px rgb(17 24 39 / 6%);
23
+ --anlyx-radius: 10px;
24
+ --anlyx-radius-sm: 7px;
25
+ --anlyx-shadow-panel: 0 1px 2px rgb(15 23 42 / 6%);
26
+ --anlyx-shadow-card: 0 10px 28px rgb(15 23 42 / 7%);
27
+ --anlyx-shadow-float: 0 18px 46px rgb(15 23 42 / 12%);
19
28
  color: var(--anlyx-color-text-primary);
20
29
  background: var(--anlyx-color-background);
21
30
  font-family:
@@ -29,12 +38,14 @@
29
38
  }
30
39
 
31
40
  body {
41
+ overflow: hidden;
32
42
  margin: 0;
33
43
  background: var(--anlyx-color-background);
34
44
  }
35
45
 
36
46
  #root {
37
- min-height: 100vh;
47
+ height: 100dvh;
48
+ min-height: 0;
38
49
  }
39
50
 
40
51
  .anlyx-viewer-state {
@@ -49,11 +60,14 @@ body {
49
60
 
50
61
  .anlyx-shell {
51
62
  box-sizing: border-box;
52
- display: grid;
53
- grid-template-columns: minmax(260px, 300px) minmax(420px, 1fr) minmax(280px, 340px);
54
- grid-template-rows: minmax(0, 1fr) auto;
55
- min-height: 100vh;
56
- background: var(--anlyx-color-background);
63
+ display: flex;
64
+ height: 100dvh;
65
+ min-height: 0;
66
+ overflow: hidden;
67
+ background:
68
+ radial-gradient(circle at 12% -10%, rgb(37 99 235 / 7%), transparent 28%),
69
+ radial-gradient(circle at 84% 0%, rgb(20 184 166 / 5%), transparent 30%),
70
+ var(--anlyx-color-background);
57
71
  }
58
72
 
59
73
  .anlyx-shell *,
@@ -74,6 +88,20 @@ body {
74
88
  border: 0;
75
89
  }
76
90
 
91
+ .anlyx-panel-group {
92
+ width: 100%;
93
+ height: 100%;
94
+ min-width: 0;
95
+ min-height: 0;
96
+ }
97
+
98
+ .anlyx-panel {
99
+ display: grid;
100
+ overflow: hidden;
101
+ min-width: 0;
102
+ min-height: 0;
103
+ }
104
+
77
105
  .anlyx-sidebar,
78
106
  .anlyx-inspector,
79
107
  .anlyx-workspace,
@@ -83,13 +111,55 @@ body {
83
111
  }
84
112
 
85
113
  .anlyx-sidebar {
86
- grid-row: 1 / span 2;
87
114
  display: flex;
115
+ overflow: hidden;
88
116
  min-width: 0;
117
+ min-height: 0;
89
118
  flex-direction: column;
90
- gap: 20px;
91
- padding: 20px;
119
+ gap: 18px;
120
+ padding: 18px 16px 12px;
92
121
  border-right: 1px solid var(--anlyx-color-border);
122
+ box-shadow: 12px 0 34px rgb(15 23 42 / 3%);
123
+ }
124
+
125
+ .anlyx-resize-handle {
126
+ position: relative;
127
+ z-index: 6;
128
+ display: grid;
129
+ width: 8px;
130
+ min-width: 8px;
131
+ place-items: center;
132
+ background: transparent;
133
+ cursor: col-resize;
134
+ }
135
+
136
+ .anlyx-resize-handle span {
137
+ width: 3px;
138
+ height: 54px;
139
+ border-radius: 999px;
140
+ background: linear-gradient(#d7e2f0, #b9c8dd);
141
+ box-shadow: 0 1px 8px rgb(37 99 235 / 14%);
142
+ opacity: 0.9;
143
+ }
144
+
145
+ .anlyx-resize-handle:hover span {
146
+ background: var(--anlyx-color-request);
147
+ box-shadow: 0 0 0 4px rgb(37 99 235 / 12%);
148
+ }
149
+
150
+ .anlyx-sidebar--collapsed,
151
+ .anlyx-inspector--collapsed {
152
+ align-items: center;
153
+ padding: 12px 8px;
154
+ }
155
+
156
+ .anlyx-collapsed-label {
157
+ writing-mode: vertical-rl;
158
+ color: var(--anlyx-color-text-secondary);
159
+ font-size: 11px;
160
+ font-weight: 800;
161
+ letter-spacing: 0;
162
+ text-transform: uppercase;
93
163
  }
94
164
 
95
165
  .anlyx-brand {
@@ -103,10 +173,12 @@ body {
103
173
  width: 36px;
104
174
  height: 36px;
105
175
  place-items: center;
106
- border: 1px solid var(--anlyx-color-border);
107
- border-radius: var(--anlyx-radius);
108
- background: var(--anlyx-color-canvas);
176
+ border: 1px solid rgb(59 130 246 / 22%);
177
+ border-radius: 9px;
178
+ background: linear-gradient(145deg, #1261f1, #3b82f6);
179
+ color: #ffffff;
109
180
  font-weight: 700;
181
+ box-shadow: 0 10px 22px rgb(37 99 235 / 25%);
110
182
  }
111
183
 
112
184
  .anlyx-brand__name,
@@ -127,29 +199,47 @@ body {
127
199
  .anlyx-tabs {
128
200
  display: grid;
129
201
  grid-template-columns: repeat(3, minmax(0, 1fr));
130
- gap: 4px;
202
+ gap: 3px;
131
203
  padding: 4px;
132
- border: 1px solid var(--anlyx-color-border);
204
+ border: 1px solid #edf1f7;
133
205
  border-radius: var(--anlyx-radius);
134
- background: var(--anlyx-color-background);
206
+ background: #f7f9fd;
207
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 82%);
135
208
  }
136
209
 
137
210
  .anlyx-tab,
138
- .anlyx-replay button {
211
+ .anlyx-replay button,
212
+ .anlyx-toolbar-button,
213
+ .anlyx-panel-toggle {
139
214
  min-height: 32px;
140
215
  border: 1px solid transparent;
141
- border-radius: 6px;
216
+ border-radius: var(--anlyx-radius-sm);
142
217
  background: transparent;
143
218
  color: var(--anlyx-color-text-secondary);
144
219
  font: inherit;
145
220
  }
146
221
 
147
222
  .anlyx-tab--active,
148
- .anlyx-replay button {
149
- border-color: var(--anlyx-color-border);
223
+ .anlyx-replay button,
224
+ .anlyx-toolbar-button,
225
+ .anlyx-panel-toggle {
226
+ border-color: #dbe6f5;
150
227
  background: var(--anlyx-color-panel);
151
228
  color: var(--anlyx-color-text-primary);
152
- box-shadow: var(--anlyx-shadow-panel);
229
+ box-shadow:
230
+ 0 1px 2px rgb(15 23 42 / 7%),
231
+ 0 8px 20px rgb(15 23 42 / 4%);
232
+ }
233
+
234
+ .anlyx-tab {
235
+ padding: 0 7px;
236
+ font-size: 13px;
237
+ font-weight: 650;
238
+ white-space: normal;
239
+ }
240
+
241
+ .anlyx-tab--active {
242
+ color: var(--anlyx-color-request);
153
243
  }
154
244
 
155
245
  .anlyx-search {
@@ -165,23 +255,46 @@ body {
165
255
  text-transform: uppercase;
166
256
  }
167
257
 
168
- .anlyx-search input {
258
+ .anlyx-search__control {
259
+ display: grid;
260
+ grid-template-columns: auto minmax(0, 1fr);
261
+ align-items: center;
262
+ gap: 8px;
169
263
  width: 100%;
170
- min-height: 36px;
171
- padding: 0 10px;
264
+ min-height: 40px;
265
+ padding: 0 12px;
172
266
  border: 1px solid var(--anlyx-color-border);
173
- border-radius: 6px;
267
+ border-radius: var(--anlyx-radius);
268
+ background: #fbfcff;
269
+ color: var(--anlyx-color-text-muted);
270
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%);
271
+ }
272
+
273
+ .anlyx-search input {
274
+ width: 100%;
275
+ min-width: 0;
276
+ padding: 0;
277
+ border: 0;
278
+ outline: 0;
279
+ background: transparent;
174
280
  color: var(--anlyx-color-text-primary);
281
+ font: inherit;
175
282
  }
176
283
 
177
284
  .anlyx-sidebar-section {
178
285
  display: grid;
179
286
  gap: 8px;
287
+ min-height: 0;
288
+ }
289
+
290
+ .anlyx-sidebar__list-region {
291
+ min-height: 0;
292
+ overflow: auto;
180
293
  }
181
294
 
182
295
  .anlyx-list {
183
296
  display: grid;
184
- gap: 8px;
297
+ gap: 9px;
185
298
  padding: 0;
186
299
  margin: 0;
187
300
  list-style: none;
@@ -189,11 +302,31 @@ body {
189
302
 
190
303
  .anlyx-list-item {
191
304
  display: grid;
192
- gap: 6px;
193
- padding: 10px;
305
+ gap: 7px;
306
+ padding: 12px;
194
307
  border: 1px solid var(--anlyx-color-border);
195
308
  border-radius: var(--anlyx-radius);
196
- background: var(--anlyx-color-panel);
309
+ background: linear-gradient(180deg, #ffffff, #fbfcff);
310
+ box-shadow: 0 1px 2px rgb(15 23 42 / 4%);
311
+ transition:
312
+ border-color 160ms ease,
313
+ box-shadow 160ms ease,
314
+ background 160ms ease,
315
+ transform 160ms ease;
316
+ }
317
+
318
+ .anlyx-list-item:has([aria-current="true"]) {
319
+ border-color: #4f8df8;
320
+ background: linear-gradient(180deg, #ffffff, #f3f7ff);
321
+ box-shadow:
322
+ inset 3px 0 0 #2563eb,
323
+ 0 10px 24px rgb(37 99 235 / 10%);
324
+ }
325
+
326
+ .anlyx-list-item:hover {
327
+ border-color: #b9c8dd;
328
+ box-shadow: 0 10px 24px rgb(15 23 42 / 7%);
329
+ transform: translateY(-1px);
197
330
  }
198
331
 
199
332
  .anlyx-endpoint-button,
@@ -229,17 +362,36 @@ body {
229
362
  overflow-wrap: anywhere;
230
363
  }
231
364
 
365
+ .anlyx-list-item__primary {
366
+ display: -webkit-box;
367
+ overflow: hidden;
368
+ -webkit-box-orient: vertical;
369
+ -webkit-line-clamp: 2;
370
+ line-height: 1.25;
371
+ }
372
+
373
+ .anlyx-list-item__meta {
374
+ color: var(--anlyx-color-text-secondary);
375
+ font-size: 12px;
376
+ line-height: 1.35;
377
+ }
378
+
232
379
  .anlyx-main {
233
380
  display: grid;
234
- grid-template-rows: minmax(0, 1fr) auto;
381
+ overflow: hidden;
235
382
  min-width: 0;
236
383
  min-height: 0;
237
384
  }
238
385
 
386
+ .anlyx-main--process {
387
+ grid-template-rows: minmax(0, 1fr);
388
+ }
389
+
239
390
  .anlyx-workspace {
240
391
  display: grid;
241
392
  min-width: 0;
242
393
  min-height: 0;
394
+ overflow: hidden;
243
395
  grid-template-rows: auto minmax(0, 1fr);
244
396
  }
245
397
 
@@ -249,16 +401,51 @@ body {
249
401
  align-items: flex-start;
250
402
  justify-content: space-between;
251
403
  gap: 16px;
252
- padding: 20px;
404
+ padding: 20px 22px;
253
405
  border-bottom: 1px solid var(--anlyx-color-border);
406
+ background: rgb(255 255 255 / 82%);
407
+ backdrop-filter: blur(14px);
408
+ }
409
+
410
+ .anlyx-workspace-actions,
411
+ .anlyx-toolbar {
412
+ display: flex;
413
+ flex-wrap: wrap;
414
+ align-items: center;
415
+ justify-content: flex-end;
416
+ gap: 8px;
417
+ }
418
+
419
+ .anlyx-toolbar-button {
420
+ min-height: 34px;
421
+ padding: 0 12px;
422
+ cursor: pointer;
423
+ font-weight: 650;
424
+ }
425
+
426
+ .anlyx-toolbar-button:disabled {
427
+ cursor: not-allowed;
428
+ opacity: 0.48;
429
+ }
430
+
431
+ .anlyx-toolbar-select,
432
+ .anlyx-replay select {
433
+ min-height: 30px;
434
+ border: 1px solid var(--anlyx-color-border);
435
+ border-radius: 6px;
436
+ background: var(--anlyx-color-panel);
437
+ color: var(--anlyx-color-text-primary);
438
+ font: inherit;
254
439
  }
255
440
 
256
441
  .anlyx-workspace-header h1,
257
442
  .anlyx-panel-heading h2,
258
443
  .anlyx-canvas-placeholder h2 {
259
444
  margin: 0;
260
- font-size: 20px;
445
+ color: #111827;
446
+ font-size: 22px;
261
447
  line-height: 1.2;
448
+ letter-spacing: 0;
262
449
  }
263
450
 
264
451
  .anlyx-eyebrow {
@@ -289,37 +476,65 @@ body {
289
476
 
290
477
  .anlyx-endpoint-map {
291
478
  position: relative;
479
+ height: calc(100% - 32px);
292
480
  min-width: 0;
293
- min-height: 520px;
294
- margin: 20px;
481
+ min-height: 0;
482
+ margin: 16px;
295
483
  overflow: hidden;
296
484
  border: 1px solid var(--anlyx-color-border);
297
- border-radius: var(--anlyx-radius);
485
+ border-radius: 12px;
298
486
  background:
487
+ radial-gradient(circle at 50% 42%, rgb(37 99 235 / 4%), transparent 33%),
299
488
  linear-gradient(var(--anlyx-color-grid) 1px, transparent 1px),
300
489
  linear-gradient(90deg, var(--anlyx-color-grid) 1px, transparent 1px), var(--anlyx-color-canvas);
301
- background-size: 24px 24px;
490
+ background-size:
491
+ auto,
492
+ 24px 24px,
493
+ 24px 24px;
494
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
495
+ }
496
+
497
+ .anlyx-endpoint-map--process {
498
+ margin-bottom: 12px;
499
+ border-color: #c7d2fe;
500
+ background:
501
+ radial-gradient(circle at 24% 42%, rgb(37 99 235 / 13%), transparent 20%),
502
+ radial-gradient(circle at 52% 42%, rgb(249 115 22 / 8%), transparent 23%),
503
+ radial-gradient(circle at 76% 42%, rgb(20 184 166 / 9%), transparent 24%),
504
+ radial-gradient(circle at 86% 72%, rgb(139 92 246 / 11%), transparent 27%),
505
+ linear-gradient(var(--anlyx-color-grid) 1px, transparent 1px),
506
+ linear-gradient(90deg, var(--anlyx-color-grid) 1px, transparent 1px), #fbfdff;
507
+ background-size:
508
+ auto,
509
+ auto,
510
+ auto,
511
+ auto,
512
+ 24px 24px,
513
+ 24px 24px;
302
514
  }
303
515
 
304
516
  .anlyx-react-flow {
305
- min-height: 520px;
517
+ width: 100%;
518
+ height: 100%;
519
+ min-height: 420px;
306
520
  }
307
521
 
308
522
  .anlyx-flow-legend {
309
523
  position: absolute;
310
524
  z-index: 4;
311
- top: 12px;
312
- left: 12px;
525
+ top: 18px;
526
+ left: 18px;
313
527
  display: flex;
314
528
  flex-wrap: wrap;
315
529
  gap: 8px;
316
- padding: 8px;
530
+ padding: 9px 11px;
317
531
  border: 1px solid var(--anlyx-color-border);
318
- border-radius: 6px;
319
- background: rgb(255 255 255 / 92%);
532
+ border-radius: 9px;
533
+ background: rgb(255 255 255 / 94%);
320
534
  color: var(--anlyx-color-text-secondary);
321
535
  font-size: 12px;
322
- box-shadow: var(--anlyx-shadow-panel);
536
+ box-shadow: var(--anlyx-shadow-card);
537
+ backdrop-filter: blur(12px);
323
538
  }
324
539
 
325
540
  .anlyx-flow-legend span {
@@ -335,7 +550,11 @@ body {
335
550
  }
336
551
 
337
552
  .anlyx-flow-legend__mark--sub {
338
- background: #7c3aed;
553
+ background: var(--anlyx-color-branch);
554
+ }
555
+
556
+ .anlyx-flow-legend__mark--response {
557
+ background: var(--anlyx-color-response);
339
558
  }
340
559
 
341
560
  .anlyx-flow-legend__mark--unknown {
@@ -343,52 +562,185 @@ body {
343
562
  }
344
563
 
345
564
  .anlyx-flow-node {
565
+ position: relative;
346
566
  display: grid;
347
- width: 180px;
348
- min-height: 84px;
349
- gap: 7px;
350
- padding: 10px;
351
- border: 1px solid #cbd5e1;
352
- border-left: 4px solid #2563eb;
353
- border-radius: var(--anlyx-radius);
567
+ width: 206px;
568
+ min-height: 112px;
569
+ gap: 9px;
570
+ padding: 14px;
571
+ border: 1px solid #cfd9e8;
572
+ border-top: 3px solid var(--anlyx-color-request);
573
+ border-left: 1px solid #cfd9e8;
574
+ border-radius: 10px;
354
575
  background: rgb(255 255 255 / 96%);
355
576
  color: var(--anlyx-color-text-primary);
356
577
  font: inherit;
357
578
  text-align: left;
358
- box-shadow: var(--anlyx-shadow-panel);
579
+ box-shadow:
580
+ 0 15px 34px rgb(15 23 42 / 8%),
581
+ var(--anlyx-shadow-panel);
359
582
  cursor: pointer;
583
+ isolation: isolate;
584
+ }
585
+
586
+ .anlyx-flow-node::before {
587
+ position: absolute;
588
+ top: 14px;
589
+ bottom: 14px;
590
+ left: 0;
591
+ width: 4px;
592
+ border-radius: 0 999px 999px 0;
593
+ background: var(--anlyx-color-request);
594
+ content: "";
360
595
  }
361
596
 
362
597
  .anlyx-flow-node--sub {
363
- border-left-color: #7c3aed;
364
- background: #fbfaff;
598
+ width: 182px;
599
+ min-height: 86px;
600
+ border-color: #ead8ff;
601
+ border-top-color: var(--anlyx-color-branch);
602
+ background: linear-gradient(180deg, #ffffff, #fff8f1);
603
+ box-shadow: 0 8px 24px rgb(249 115 22 / 8%);
604
+ }
605
+
606
+ .anlyx-flow-node--service {
607
+ border-top-color: #6366f1;
608
+ background: linear-gradient(180deg, #ffffff, #f7f7ff);
609
+ }
610
+
611
+ .anlyx-flow-node--repository {
612
+ border-top-color: #7c3aed;
613
+ background: linear-gradient(180deg, #ffffff, #fbf7ff);
614
+ }
615
+
616
+ .anlyx-flow-node--sub::before {
617
+ background: var(--anlyx-color-branch);
618
+ }
619
+
620
+ .anlyx-flow-node--service::before {
621
+ background: #6366f1;
622
+ }
623
+
624
+ .anlyx-flow-node--repository::before {
625
+ background: #7c3aed;
626
+ }
627
+
628
+ .anlyx-flow-node--database::before {
629
+ background: var(--anlyx-color-database);
365
630
  }
366
631
 
367
632
  .anlyx-flow-node--secondary {
368
- border-left-color: var(--anlyx-color-text-secondary);
633
+ border-top-color: var(--anlyx-color-text-secondary);
369
634
  }
370
635
 
371
636
  .anlyx-flow-node--database {
372
- border-left-color: #0f766e;
637
+ border-color: #b8e7dc;
638
+ border-top-color: var(--anlyx-color-database);
639
+ background: linear-gradient(180deg, #ffffff, #f3fffb);
640
+ box-shadow: 0 14px 34px rgb(15 118 110 / 11%);
373
641
  }
374
642
 
375
643
  .anlyx-flow-node--selected {
376
- outline: 2px solid #2563eb;
644
+ outline: 2px solid #4f8df8;
377
645
  outline-offset: 2px;
646
+ box-shadow:
647
+ 0 0 0 7px rgb(37 99 235 / 11%),
648
+ 0 18px 44px rgb(37 99 235 / 16%);
378
649
  }
379
650
 
380
651
  .anlyx-flow-node--replay-active {
381
- border-color: #0891b2;
382
- outline: 2px solid #06b6d4;
652
+ border-color: var(--anlyx-color-request);
653
+ outline: 2px solid rgb(37 99 235 / 55%);
383
654
  outline-offset: 3px;
384
655
  box-shadow:
385
- 0 0 0 4px rgb(6 182 212 / 14%),
656
+ 0 0 0 6px rgb(37 99 235 / 14%),
657
+ 0 18px 42px rgb(37 99 235 / 18%),
386
658
  var(--anlyx-shadow-panel);
659
+ animation: anlyx-node-pulse 1.1s ease-in-out infinite;
660
+ }
661
+
662
+ .anlyx-flow-node--replay-active::after {
663
+ position: absolute;
664
+ z-index: -1;
665
+ inset: -14px;
666
+ border-radius: 18px;
667
+ background: radial-gradient(circle, rgb(37 99 235 / 24%), transparent 62%);
668
+ content: "";
669
+ animation: anlyx-ripple 1.35s ease-out infinite;
670
+ }
671
+
672
+ .anlyx-flow-node__pulse {
673
+ position: absolute;
674
+ z-index: -1;
675
+ inset: -8px;
676
+ border: 1px solid rgb(37 99 235 / 24%);
677
+ border-radius: 16px;
678
+ pointer-events: none;
679
+ }
680
+
681
+ .anlyx-flow-node--database.anlyx-flow-node--replay-active::after {
682
+ background: radial-gradient(circle, rgb(20 184 166 / 26%), transparent 62%);
683
+ }
684
+
685
+ .anlyx-flow-handle {
686
+ width: 1px;
687
+ height: 1px;
688
+ border: 0;
689
+ background: transparent;
690
+ opacity: 0;
691
+ pointer-events: none;
692
+ }
693
+
694
+ .anlyx-flow-node__header {
695
+ display: flex;
696
+ align-items: center;
697
+ gap: 8px;
698
+ }
699
+
700
+ .anlyx-flow-node__icon {
701
+ display: inline-grid;
702
+ min-width: 30px;
703
+ height: 28px;
704
+ place-items: center;
705
+ border: 1px solid #dbeafe;
706
+ border-radius: 8px;
707
+ background: #eff6ff;
708
+ color: var(--anlyx-color-request);
709
+ font-size: 10px;
710
+ font-weight: 800;
711
+ }
712
+
713
+ .anlyx-flow-node__icon svg {
714
+ display: block;
715
+ }
716
+
717
+ .anlyx-flow-node--service .anlyx-flow-node__icon {
718
+ border-color: #e0e7ff;
719
+ background: #eef2ff;
720
+ color: #4f46e5;
721
+ }
722
+
723
+ .anlyx-flow-node--repository .anlyx-flow-node__icon {
724
+ border-color: #ede9fe;
725
+ background: #f5f3ff;
726
+ color: #7c3aed;
727
+ }
728
+
729
+ .anlyx-flow-node--database .anlyx-flow-node__icon {
730
+ border-color: #ccfbf1;
731
+ background: #ecfdf5;
732
+ color: var(--anlyx-color-database);
733
+ }
734
+
735
+ .anlyx-flow-node--sub .anlyx-flow-node__icon {
736
+ border-color: #fed7aa;
737
+ background: #fff7ed;
738
+ color: var(--anlyx-color-branch);
387
739
  }
388
740
 
389
741
  .anlyx-flow-node__type {
390
742
  color: var(--anlyx-color-text-secondary);
391
- font-size: 11px;
743
+ font-size: 10px;
392
744
  font-weight: 700;
393
745
  text-transform: uppercase;
394
746
  }
@@ -397,21 +749,56 @@ body {
397
749
  overflow-wrap: anywhere;
398
750
  font-size: 13px;
399
751
  font-weight: 650;
400
- line-height: 1.25;
752
+ line-height: 1.3;
401
753
  }
402
754
 
403
755
  .anlyx-flow-edge--sub .react-flow__edge-path {
404
- stroke-dasharray: 5 4;
756
+ stroke-dasharray: 6 5;
757
+ stroke: var(--anlyx-color-branch);
758
+ stroke-width: 2px;
759
+ }
760
+
761
+ .anlyx-workspace--process .anlyx-flow-edge--sub .react-flow__edge-path {
762
+ stroke: var(--anlyx-color-branch);
763
+ stroke-dasharray: 7 5;
405
764
  }
406
765
 
407
766
  .anlyx-flow-edge--replay-active .react-flow__edge-path {
408
- stroke: #0891b2;
409
- stroke-width: 3px;
767
+ stroke-width: 4.5px;
768
+ stroke-dasharray: 14 9;
769
+ animation: anlyx-flow-travel 0.8s linear infinite;
770
+ }
771
+
772
+ .anlyx-flow-edge--replay-request .react-flow__edge-path {
773
+ stroke: var(--anlyx-color-request);
774
+ filter: drop-shadow(0 0 8px rgb(37 99 235 / 58%));
775
+ }
776
+
777
+ .anlyx-flow-edge--replay-response .react-flow__edge-path {
778
+ stroke: var(--anlyx-color-response);
779
+ filter: drop-shadow(0 0 8px rgb(139 92 246 / 58%));
780
+ }
781
+
782
+ .anlyx-flow-particle {
783
+ fill: var(--anlyx-color-request);
784
+ filter: drop-shadow(0 0 8px rgb(37 99 235 / 75%));
785
+ pointer-events: none;
786
+ }
787
+
788
+ .anlyx-flow-particle--sub {
789
+ fill: var(--anlyx-color-branch);
790
+ filter: drop-shadow(0 0 8px rgb(249 115 22 / 72%));
791
+ }
792
+
793
+ .anlyx-flow-particle--response,
794
+ .anlyx-flow-particle--secondary {
795
+ fill: var(--anlyx-color-response);
796
+ filter: drop-shadow(0 0 8px rgb(139 92 246 / 72%));
410
797
  }
411
798
 
412
799
  .anlyx-endpoint-map-empty {
413
800
  display: grid;
414
- min-height: 520px;
801
+ min-height: 420px;
415
802
  place-items: center;
416
803
  padding: 24px;
417
804
  color: var(--anlyx-color-text-secondary);
@@ -419,9 +806,12 @@ body {
419
806
 
420
807
  .anlyx-page-storyboard {
421
808
  display: grid;
422
- gap: 16px;
809
+ gap: 18px;
810
+ overflow: auto;
423
811
  min-width: 0;
424
- margin: 20px;
812
+ min-height: 0;
813
+ margin: 16px;
814
+ padding-bottom: 24px;
425
815
  }
426
816
 
427
817
  .anlyx-page-summary,
@@ -436,9 +826,12 @@ body {
436
826
 
437
827
  .anlyx-page-summary {
438
828
  display: grid;
439
- grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) auto;
829
+ grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) auto auto;
440
830
  gap: 16px;
441
- padding: 16px;
831
+ padding: 18px;
832
+ background:
833
+ linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(251 253 255 / 96%)),
834
+ radial-gradient(circle at 8% 0%, rgb(37 99 235 / 8%), transparent 28%);
442
835
  }
443
836
 
444
837
  .anlyx-page-summary h2,
@@ -454,16 +847,90 @@ body {
454
847
 
455
848
  .anlyx-storyboard-grid {
456
849
  display: grid;
457
- grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
850
+ grid-template-columns: minmax(0, 1.58fr) minmax(300px, 0.82fr);
851
+ gap: 16px;
852
+ min-width: 0;
853
+ }
854
+
855
+ .anlyx-storyboard-side {
856
+ display: grid;
458
857
  gap: 16px;
459
858
  min-width: 0;
460
859
  }
461
860
 
861
+ .anlyx-relationship-list {
862
+ display: grid;
863
+ gap: 9px;
864
+ padding: 0;
865
+ margin: 0;
866
+ list-style: none;
867
+ }
868
+
869
+ .anlyx-relationship-list li {
870
+ position: relative;
871
+ display: flex;
872
+ min-width: 0;
873
+ align-items: center;
874
+ gap: 8px;
875
+ padding: 9px 10px;
876
+ border: 1px solid var(--anlyx-color-border);
877
+ border-radius: 8px;
878
+ background: #ffffff;
879
+ }
880
+
881
+ .anlyx-relationship-diagram {
882
+ display: grid;
883
+ grid-template-columns: minmax(130px, 0.75fr) minmax(0, 1.3fr);
884
+ gap: 22px;
885
+ align-items: center;
886
+ }
887
+
888
+ .anlyx-relationship-source {
889
+ display: grid;
890
+ gap: 4px;
891
+ padding: 14px;
892
+ border: 1px solid var(--anlyx-color-border);
893
+ border-radius: var(--anlyx-radius);
894
+ background: linear-gradient(180deg, #ffffff, #f8fbff);
895
+ text-align: center;
896
+ box-shadow: var(--anlyx-shadow-panel);
897
+ }
898
+
899
+ .anlyx-relationship-source span {
900
+ color: var(--anlyx-color-text-secondary);
901
+ font-size: 12px;
902
+ }
903
+
904
+ .anlyx-relationship-line {
905
+ width: 22px;
906
+ height: 1px;
907
+ margin-left: -31px;
908
+ border-top: 1px solid #94a3b8;
909
+ }
910
+
911
+ .anlyx-relationship-line::after {
912
+ display: block;
913
+ width: 5px;
914
+ height: 5px;
915
+ margin-top: -3px;
916
+ margin-left: 18px;
917
+ border-top: 1px solid #94a3b8;
918
+ border-right: 1px solid #94a3b8;
919
+ content: "";
920
+ transform: rotate(45deg);
921
+ }
922
+
923
+ .anlyx-relationship-list span:last-child {
924
+ overflow-wrap: anywhere;
925
+ font-weight: 650;
926
+ }
927
+
462
928
  .anlyx-storyboard-panel {
463
929
  display: grid;
464
930
  min-width: 0;
465
931
  gap: 12px;
466
- padding: 16px;
932
+ padding: 18px;
933
+ box-shadow: var(--anlyx-shadow-card);
467
934
  }
468
935
 
469
936
  .anlyx-storyboard-section-heading {
@@ -488,7 +955,7 @@ body {
488
955
 
489
956
  .anlyx-segment-grid {
490
957
  display: grid;
491
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
958
+ grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
492
959
  gap: 12px;
493
960
  }
494
961
 
@@ -499,18 +966,39 @@ body {
499
966
  border-left: 4px solid #3b82f6;
500
967
  border-radius: var(--anlyx-radius);
501
968
  background: var(--anlyx-color-panel);
969
+ box-shadow: 0 10px 24px rgb(15 23 42 / 6%);
970
+ }
971
+
972
+ .anlyx-segment-card--placeholder {
973
+ border-left-color: var(--anlyx-color-method-update);
974
+ background: linear-gradient(180deg, #ffffff, #fffaf2);
502
975
  }
503
976
 
504
977
  .anlyx-segment-card__image {
505
978
  display: grid;
506
- min-height: 120px;
979
+ min-height: 128px;
507
980
  place-items: center;
508
981
  overflow: hidden;
509
982
  border-bottom: 1px solid var(--anlyx-color-border);
510
- background: var(--anlyx-color-background);
983
+ background:
984
+ linear-gradient(135deg, rgb(37 99 235 / 8%) 25%, transparent 25%) 0 0 / 18px 18px,
985
+ linear-gradient(135deg, transparent 75%, rgb(37 99 235 / 8%) 75%) 0 0 / 18px 18px,
986
+ #f8fafc;
511
987
  color: var(--anlyx-color-text-secondary);
512
988
  }
513
989
 
990
+ .anlyx-segment-card--placeholder .anlyx-segment-card__image span {
991
+ display: grid;
992
+ width: 34px;
993
+ height: 34px;
994
+ place-items: center;
995
+ border-radius: 999px;
996
+ background: #fff7ed;
997
+ color: #c2410c;
998
+ font-weight: 800;
999
+ box-shadow: 0 0 0 7px rgb(249 115 22 / 10%);
1000
+ }
1001
+
514
1002
  .anlyx-segment-card__image img {
515
1003
  width: 100%;
516
1004
  min-height: 120px;
@@ -560,9 +1048,10 @@ body {
560
1048
  .anlyx-api-call {
561
1049
  display: grid;
562
1050
  gap: 8px;
563
- padding: 10px;
1051
+ padding: 11px 12px;
564
1052
  border: 1px solid var(--anlyx-color-border);
565
1053
  border-radius: var(--anlyx-radius);
1054
+ background: linear-gradient(180deg, #ffffff, #fbfcff);
566
1055
  }
567
1056
 
568
1057
  .anlyx-api-call__line {
@@ -579,9 +1068,12 @@ body {
579
1068
 
580
1069
  .anlyx-capture-state {
581
1070
  display: grid;
582
- gap: 6px;
583
- padding: 14px 16px;
1071
+ gap: 8px;
1072
+ padding: 16px 18px;
584
1073
  border-left: 4px solid var(--anlyx-color-method-update);
1074
+ background:
1075
+ linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(255 250 242 / 88%)),
1076
+ radial-gradient(circle at 0% 0%, rgb(245 158 11 / 12%), transparent 34%);
585
1077
  }
586
1078
 
587
1079
  .anlyx-capture-state--failed {
@@ -606,26 +1098,34 @@ body {
606
1098
  }
607
1099
 
608
1100
  .anlyx-inspector {
609
- grid-row: 1 / span 2;
1101
+ grid-column: 5;
1102
+ grid-row: 1;
1103
+ overflow: auto;
610
1104
  min-width: 0;
1105
+ min-height: 0;
611
1106
  border-left: 1px solid var(--anlyx-color-border);
1107
+ background: #fbfcff;
1108
+ box-shadow: -12px 0 34px rgb(15 23 42 / 3%);
612
1109
  }
613
1110
 
614
1111
  .anlyx-inspector-stack {
615
1112
  display: grid;
616
- gap: 14px;
617
- padding: 20px;
1113
+ gap: 12px;
1114
+ padding: 14px;
618
1115
  }
619
1116
 
620
1117
  .anlyx-field,
621
1118
  .anlyx-inspector-group {
622
1119
  display: grid;
623
- gap: 6px;
1120
+ gap: 8px;
624
1121
  }
625
1122
 
626
1123
  .anlyx-inspector-group {
627
- padding-top: 12px;
628
- border-top: 1px solid var(--anlyx-color-border);
1124
+ padding: 14px;
1125
+ border: 1px solid var(--anlyx-color-border);
1126
+ border-radius: var(--anlyx-radius);
1127
+ background: #ffffff;
1128
+ box-shadow: var(--anlyx-shadow-panel);
629
1129
  }
630
1130
 
631
1131
  .anlyx-inspector-group h3,
@@ -634,6 +1134,42 @@ body {
634
1134
  margin: 0;
635
1135
  }
636
1136
 
1137
+ .anlyx-inspector-group h3 {
1138
+ color: #334155;
1139
+ font-size: 13px;
1140
+ font-weight: 800;
1141
+ }
1142
+
1143
+ .anlyx-inspector-group__heading {
1144
+ display: flex;
1145
+ align-items: center;
1146
+ justify-content: space-between;
1147
+ gap: 12px;
1148
+ }
1149
+
1150
+ .anlyx-copy-button {
1151
+ min-height: 26px;
1152
+ padding: 0 9px;
1153
+ border: 1px solid var(--anlyx-color-border);
1154
+ border-radius: 999px;
1155
+ background: #f8fafc;
1156
+ color: var(--anlyx-color-text-secondary);
1157
+ font: inherit;
1158
+ font-size: 12px;
1159
+ font-weight: 700;
1160
+ cursor: pointer;
1161
+ }
1162
+
1163
+ .anlyx-inspector-note {
1164
+ color: var(--anlyx-color-text-secondary);
1165
+ font-size: 12px;
1166
+ }
1167
+
1168
+ .anlyx-field__value {
1169
+ overflow: hidden;
1170
+ text-overflow: ellipsis;
1171
+ }
1172
+
637
1173
  .anlyx-inspector-group ul {
638
1174
  padding-left: 18px;
639
1175
  }
@@ -642,10 +1178,10 @@ body {
642
1178
  overflow: auto;
643
1179
  max-width: 100%;
644
1180
  margin: 0;
645
- padding: 10px;
1181
+ padding: 12px;
646
1182
  border: 1px solid var(--anlyx-color-border);
647
- border-radius: 6px;
648
- background: var(--anlyx-color-background);
1183
+ border-radius: 8px;
1184
+ background: #f7f9fd;
649
1185
  color: var(--anlyx-color-text-secondary);
650
1186
  font-size: 12px;
651
1187
  }
@@ -661,7 +1197,17 @@ body {
661
1197
  justify-content: space-between;
662
1198
  gap: 16px;
663
1199
  padding: 12px 20px;
664
- border-top: 1px solid var(--anlyx-color-border);
1200
+ border-bottom: 1px solid var(--anlyx-color-border);
1201
+ background: rgb(255 255 255 / 86%);
1202
+ backdrop-filter: blur(14px);
1203
+ }
1204
+
1205
+ .anlyx-process-view {
1206
+ display: grid;
1207
+ overflow: hidden;
1208
+ min-width: 0;
1209
+ min-height: 0;
1210
+ grid-template-rows: auto minmax(0, 1fr) auto;
665
1211
  }
666
1212
 
667
1213
  .anlyx-replay__buttons {
@@ -671,7 +1217,26 @@ body {
671
1217
  }
672
1218
 
673
1219
  .anlyx-replay button {
674
- padding: 0 12px;
1220
+ display: inline-flex;
1221
+ align-items: center;
1222
+ justify-content: center;
1223
+ gap: 7px;
1224
+ min-height: 38px;
1225
+ padding: 0 14px;
1226
+ font-weight: 700;
1227
+ }
1228
+
1229
+ .anlyx-replay button svg {
1230
+ flex: 0 0 auto;
1231
+ }
1232
+
1233
+ .anlyx-replay .anlyx-replay__button--primary {
1234
+ border-color: #1d4ed8;
1235
+ background: linear-gradient(180deg, #2f7df4, #125de0);
1236
+ color: #ffffff;
1237
+ box-shadow:
1238
+ 0 12px 24px rgb(37 99 235 / 22%),
1239
+ inset 0 1px 0 rgb(255 255 255 / 22%);
675
1240
  }
676
1241
 
677
1242
  .anlyx-replay button[aria-pressed="true"] {
@@ -689,13 +1254,25 @@ body {
689
1254
  justify-content: flex-end;
690
1255
  color: var(--anlyx-color-text-secondary);
691
1256
  font-size: 12px;
1257
+ font-weight: 700;
1258
+ }
1259
+
1260
+ .anlyx-replay__state label {
1261
+ display: inline-flex;
1262
+ align-items: center;
1263
+ gap: 6px;
1264
+ padding: 4px 8px;
1265
+ border: 1px solid var(--anlyx-color-border);
1266
+ border-radius: 999px;
1267
+ background: #f8fbff;
692
1268
  }
693
1269
 
694
1270
  .anlyx-replay__state span {
695
1271
  padding: 4px 8px;
696
1272
  border: 1px solid var(--anlyx-color-border);
697
1273
  border-radius: 999px;
698
- background: var(--anlyx-color-background);
1274
+ background: #eef5ff;
1275
+ color: #1d4ed8;
699
1276
  }
700
1277
 
701
1278
  .anlyx-replay__empty {
@@ -705,9 +1282,114 @@ body {
705
1282
  font-size: 12px;
706
1283
  }
707
1284
 
1285
+ .anlyx-process-timeline {
1286
+ display: grid;
1287
+ gap: 12px;
1288
+ padding: 14px 20px 18px;
1289
+ border-top: 1px solid var(--anlyx-color-border);
1290
+ background: rgb(255 255 255 / 92%);
1291
+ box-shadow: 0 -10px 28px rgb(15 23 42 / 4%);
1292
+ }
1293
+
1294
+ .anlyx-process-timeline__header {
1295
+ display: flex;
1296
+ justify-content: space-between;
1297
+ gap: 16px;
1298
+ color: var(--anlyx-color-text-secondary);
1299
+ font-size: 12px;
1300
+ font-weight: 700;
1301
+ text-transform: uppercase;
1302
+ }
1303
+
1304
+ .anlyx-process-timeline__rail {
1305
+ display: flex;
1306
+ gap: 10px;
1307
+ overflow-x: auto;
1308
+ padding: 0 0 4px;
1309
+ margin: 0;
1310
+ list-style: none;
1311
+ }
1312
+
1313
+ .anlyx-process-step {
1314
+ position: relative;
1315
+ display: grid;
1316
+ min-width: 152px;
1317
+ gap: 4px;
1318
+ padding: 11px 12px;
1319
+ border: 1px solid var(--anlyx-color-border);
1320
+ border-radius: var(--anlyx-radius);
1321
+ background: var(--anlyx-color-panel);
1322
+ color: var(--anlyx-color-text-secondary);
1323
+ }
1324
+
1325
+ .anlyx-process-step--request {
1326
+ border-top: 3px solid var(--anlyx-color-request);
1327
+ }
1328
+
1329
+ .anlyx-process-step--response {
1330
+ border-top: 3px solid var(--anlyx-color-response);
1331
+ }
1332
+
1333
+ .anlyx-process-step--complete-stop {
1334
+ border-top: 3px solid var(--anlyx-color-database);
1335
+ background: linear-gradient(180deg, #ffffff, #f3fffb);
1336
+ }
1337
+
1338
+ .anlyx-process-step--complete {
1339
+ opacity: 0.72;
1340
+ }
1341
+
1342
+ .anlyx-process-step--active {
1343
+ color: var(--anlyx-color-text-primary);
1344
+ border-color: #82aefc;
1345
+ box-shadow:
1346
+ 0 0 0 5px rgb(37 99 235 / 9%),
1347
+ 0 14px 30px rgb(37 99 235 / 14%);
1348
+ transform: translateY(-1px);
1349
+ }
1350
+
1351
+ .anlyx-process-step__dot {
1352
+ position: absolute;
1353
+ top: -8px;
1354
+ left: 12px;
1355
+ display: grid;
1356
+ width: 10px;
1357
+ height: 10px;
1358
+ place-items: center;
1359
+ border-radius: 999px;
1360
+ background: var(--anlyx-color-request);
1361
+ color: #ffffff;
1362
+ box-shadow: 0 0 0 4px rgb(37 99 235 / 14%);
1363
+ }
1364
+
1365
+ .anlyx-process-step--response .anlyx-process-step__dot {
1366
+ background: var(--anlyx-color-response);
1367
+ box-shadow: 0 0 0 4px rgb(139 92 246 / 14%);
1368
+ }
1369
+
1370
+ .anlyx-process-step--active .anlyx-process-step__dot {
1371
+ animation: anlyx-node-pulse 1s ease-in-out infinite;
1372
+ }
1373
+
1374
+ .anlyx-process-step__phase,
1375
+ .anlyx-process-step__label {
1376
+ font-size: 11px;
1377
+ font-weight: 800;
1378
+ text-transform: uppercase;
1379
+ }
1380
+
1381
+ .anlyx-process-step__node {
1382
+ overflow: hidden;
1383
+ color: var(--anlyx-color-text-primary);
1384
+ font-size: 12px;
1385
+ font-weight: 650;
1386
+ text-overflow: ellipsis;
1387
+ white-space: nowrap;
1388
+ }
1389
+
708
1390
  .anlyx-generated-at {
709
1391
  position: fixed;
710
- right: 16px;
1392
+ right: 20px;
711
1393
  bottom: 12px;
712
1394
  font-size: 12px;
713
1395
  pointer-events: none;
@@ -737,10 +1419,14 @@ body {
737
1419
  .anlyx-status-badge--get,
738
1420
  .anlyx-status-badge--success,
739
1421
  .anlyx-status-badge--high {
1422
+ border-color: #b7ead8;
1423
+ background: #eefdf7;
740
1424
  color: var(--anlyx-color-method-get);
741
1425
  }
742
1426
 
743
1427
  .anlyx-status-badge--post {
1428
+ border-color: #bfdbfe;
1429
+ background: #eff6ff;
744
1430
  color: var(--anlyx-color-method-post);
745
1431
  }
746
1432
 
@@ -748,32 +1434,51 @@ body {
748
1434
  .anlyx-status-badge--patch,
749
1435
  .anlyx-status-badge--pending,
750
1436
  .anlyx-status-badge--medium {
1437
+ border-color: #fed7aa;
1438
+ background: #fff7ed;
751
1439
  color: var(--anlyx-color-method-update);
752
1440
  }
753
1441
 
754
1442
  .anlyx-status-badge--delete,
755
1443
  .anlyx-status-badge--failed,
756
1444
  .anlyx-status-badge--low {
1445
+ border-color: #fecaca;
1446
+ background: #fff1f2;
757
1447
  color: var(--anlyx-color-method-delete);
758
1448
  }
759
1449
 
760
1450
  .anlyx-status-badge--unknown {
1451
+ border-color: #d9e1ee;
1452
+ background: #f8fafc;
761
1453
  color: var(--anlyx-color-confidence-unknown);
762
1454
  }
763
1455
 
764
1456
  @media (max-width: 960px) {
765
1457
  .anlyx-shell {
766
- grid-template-columns: 1fr;
767
- grid-template-rows: auto auto auto;
1458
+ grid-template-columns: 1fr !important;
1459
+ grid-template-rows: auto minmax(520px, 1fr) auto;
1460
+ overflow: auto;
768
1461
  }
769
1462
 
770
1463
  .anlyx-sidebar,
771
1464
  .anlyx-inspector {
1465
+ grid-column: auto;
772
1466
  grid-row: auto;
1467
+ overflow: visible;
773
1468
  border-right: 0;
774
1469
  border-left: 0;
775
1470
  }
776
1471
 
1472
+ .anlyx-resize-handle {
1473
+ display: none;
1474
+ }
1475
+
1476
+ .anlyx-sidebar__list-region,
1477
+ .anlyx-page-storyboard,
1478
+ .anlyx-inspector {
1479
+ overflow: visible;
1480
+ }
1481
+
777
1482
  .anlyx-generated-at {
778
1483
  position: static;
779
1484
  padding: 12px 20px;
@@ -784,3 +1489,24 @@ body {
784
1489
  grid-template-columns: 1fr;
785
1490
  }
786
1491
  }
1492
+
1493
+ @keyframes anlyx-flow-travel {
1494
+ from {
1495
+ stroke-dashoffset: 18;
1496
+ }
1497
+
1498
+ to {
1499
+ stroke-dashoffset: 0;
1500
+ }
1501
+ }
1502
+
1503
+ @keyframes anlyx-node-pulse {
1504
+ 0%,
1505
+ 100% {
1506
+ transform: scale(1);
1507
+ }
1508
+
1509
+ 50% {
1510
+ transform: scale(1.015);
1511
+ }
1512
+ }