@walkeros/explorer 4.7.2 → 4.8.0-next-1791441510508

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.
package/dist/styles.css CHANGED
@@ -1,306 +1,11 @@
1
+ @charset "UTF-8";
2
+
1
3
  /* src/styles/index.scss */
2
4
  .elb-explorer {
3
- --color-text: #111827;
4
- --color-text-label: #4b5563;
5
- --color-text-button: #6b7280;
6
- --color-text-button-hover: #374151;
7
- --color-text-button-active: #1f2937;
8
- --color-text-muted: #6b7280;
9
- --color-text-toggle: #6b7280;
10
- --color-text-input: #111827;
11
- --color-text-placeholder: #9ca3af;
12
- --bg-box: #ffffff;
13
- --bg-header: #f5f5f5;
14
- --bg-footer: #f5f5f5;
15
- --bg-button-hover: #e8e8e8;
16
- --bg-button-active: #ffffff;
17
- --bg-button-group: #f3f4f6;
18
- --bg-input: #ffffff;
19
- --bg-input-hover: #f9f9f9;
20
- --bg-code-inline: #f9f9f9;
21
- --bg-dropdown: #ffffff;
22
- --bg-dropdown-option-hover: #f0f0f0;
23
- --bg-dropdown-option-highlighted: #e3f2fd;
24
- --border-box: #e0e0e0;
25
- --border-header: #e0e0e0;
26
- --border-footer: #e0e0e0;
27
- --border-button-group: #d1d5db;
28
- --border-input: #d1d5db;
29
- --border-input-focus: #01b5e2;
30
- --shadow-button-active: 0 1px 2px rgba(0, 0, 0, 0.1);
31
- --shadow-dropdown: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
32
- --color-button-primary: #01b5e2;
33
- --color-button-primary-hover: #015372;
34
- --color-button-primary-text: #ffffff;
35
- --color-button-danger: #ef4444;
36
- --color-button-danger-hover: #dc2626;
37
- --color-button-danger-text: #ffffff;
38
- --color-status-enabled: #22c55e;
39
- --color-status-disabled: #9ca3af;
40
- --color-status-warning: #f59e0b;
41
- --color-alert-info-bg: #eff6ff;
42
- --color-alert-info-border: #bfdbfe;
43
- --color-alert-info-text: #1e40af;
44
- --color-alert-success-bg: #f0fdf4;
45
- --color-alert-success-border: #bbf7d0;
46
- --color-alert-success-text: #166534;
47
- --color-alert-warning-bg: #fefce8;
48
- --color-alert-warning-border: #fde68a;
49
- --color-alert-warning-text: #854d0e;
50
- --color-alert-error-bg: #fef2f2;
51
- --color-alert-error-border: #fecaca;
52
- --color-alert-error-text: #991b1b;
53
- --color-focus-ring: rgba(1, 181, 226, 0.2);
54
- --color-error-ring: rgba(239, 68, 68, 0.2);
55
- --spacing-xs: 4px;
56
- --spacing-sm: 8px;
57
- --spacing-md: 12px;
58
- --spacing-lg: 16px;
59
- --spacing-xl: 24px;
60
- --font-size-xs: 11px;
61
- --font-size-sm: 12px;
62
- --line-height-relaxed: 1.6;
63
- --font-weight-medium: 500;
64
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
65
- --z-dropdown: 50;
66
- --color-highlight-primary: #01b5e2;
67
- --radius-box: 4px;
68
- --radius-button: 3px;
69
- --radius-button-group: 4px;
70
- --radius-highlight-button: 6px;
71
- --spacing-header: 6px 10px;
72
- --spacing-footer: 6px 10px;
73
- --spacing-button: 4px 8px;
74
- --spacing-button-group: 1px;
75
- --spacing-grid-gap: 12px;
76
- --grid-min-box-width: 350px;
77
- --grid-row-min-height: 250px;
78
- --grid-row-max-height: 450px;
79
- --grid-box-max-height-mobile: 500px;
80
- --height-code-view-max: 600px;
81
- --step-example-min-box-width: 220px;
82
- --step-example-max-height: 360px;
83
- --monaco-font-size: 13px;
84
- --monaco-line-height: 1.5;
85
- --monaco-font-size-snippet: 16px;
86
- --font-family-base:
87
- system-ui,
88
- -apple-system,
89
- BlinkMacSystemFont,
90
- "Segoe UI",
91
- "Roboto",
92
- "Helvetica Neue",
93
- sans-serif;
94
- --font-mono:
95
- "SF Mono",
96
- "Monaco",
97
- "Inconsolata",
98
- "Roboto Mono",
99
- "Source Code Pro",
100
- monospace;
101
- --font-size-base: 14px;
102
- --font-size-label: 13px;
103
- --font-size-toggle: 12px;
104
- --font-size-highlight-button: 0.75rem;
105
- --font-size-xl: 16px;
106
- --line-height-base: 1.5;
107
- --font-weight-normal: 400;
108
- --font-weight-semibold: 600;
109
- --highlight-globals: #4fc3f7cc;
110
- --highlight-context: #ffbd44cc;
111
- --highlight-entity: #00ca4ecc;
112
- --highlight-property: #ff605ccc;
113
- --highlight-action: #9900ffcc;
114
- --highlight-background: #1f2937;
115
- --highlight-text: #9ca3af;
116
- --highlight-hover: rgba(255, 255, 255, 0.05);
117
- --highlight-separator: rgba(255, 255, 255, 0.05);
118
- --flow-source-fill: transparent;
119
- --flow-source-stroke: #6ee7b7;
120
- --flow-transformer-fill: transparent;
121
- --flow-transformer-stroke: #fcd34d;
122
- --flow-collector-fill: transparent;
123
- --flow-collector-stroke: #7dd3fc;
124
- --flow-destination-fill: transparent;
125
- --flow-destination-stroke: #c4b5fd;
126
- --flow-edge-stroke: #9ca3af;
127
- }
128
- [data-theme=light] .elb-explorer {
129
- --color-text: #000;
130
- --color-text-label: #424242;
131
- --color-text-button: #616161;
132
- --color-text-button-hover: #424242;
133
- --color-text-button-active: #1f2937;
134
- --color-text-muted: #666;
135
- --color-text-toggle: #666;
136
- --color-text-input: #000;
137
- --color-text-placeholder: #9ca3af;
138
- --bg-box: #ffffff;
139
- --bg-header: #f5f5f5;
140
- --bg-footer: #f5f5f5;
141
- --bg-button-hover: #e8e8e8;
142
- --bg-button-active: #ffffff;
143
- --bg-button-group: #f3f4f6;
144
- --bg-input: #ffffff;
145
- --bg-input-hover: #f9f9f9;
146
- --bg-code-inline: #f9f9f9;
147
- --bg-dropdown: #ffffff;
148
- --bg-dropdown-option-hover: #f0f0f0;
149
- --bg-dropdown-option-highlighted: #e3f2fd;
150
- --border-box: #e0e0e0;
151
- --border-header: #e0e0e0;
152
- --border-footer: #e0e0e0;
153
- --border-button-group: #d1d5db;
154
- --border-input: #d1d5db;
155
- --border-input-focus: #01b5e2;
156
- --shadow-button-active: 0 1px 2px rgba(0, 0, 0, 0.1);
157
- --shadow-dropdown: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
158
- --color-button-primary: #01b5e2;
159
- --color-button-primary-hover: #015372;
160
- --color-button-primary-text: #ffffff;
161
- --color-button-danger: #ef4444;
162
- --color-button-danger-hover: #dc2626;
163
- --color-button-danger-text: #ffffff;
164
- --color-status-enabled: #22c55e;
165
- --color-status-disabled: #9ca3af;
166
- --color-status-warning: #f59e0b;
167
- --radius-box: 4px;
168
- --radius-button: 3px;
169
- --radius-button-group: 4px;
170
- --radius-highlight-button: 6px;
171
- --spacing-header: 6px 10px;
172
- --spacing-footer: 6px 10px;
173
- --spacing-button: 4px 8px;
174
- --spacing-button-group: 1px;
175
- --spacing-grid-gap: 12px;
176
- --grid-min-box-width: 350px;
177
- --grid-row-min-height: 250px;
178
- --grid-row-max-height: 450px;
179
- --grid-box-max-height-mobile: 500px;
180
- --height-code-view-max: 600px;
181
- --step-example-min-box-width: 220px;
182
- --step-example-max-height: 360px;
183
- --monaco-font-size: 13px;
184
- --monaco-line-height: 1.5;
185
- --monaco-font-size-snippet: 16px;
186
- --font-family-base:
187
- system-ui,
188
- -apple-system,
189
- BlinkMacSystemFont,
190
- "Segoe UI",
191
- "Roboto",
192
- "Helvetica Neue",
193
- sans-serif;
194
- --font-mono:
195
- "SF Mono",
196
- "Monaco",
197
- "Inconsolata",
198
- "Roboto Mono",
199
- "Source Code Pro",
200
- monospace;
201
- --font-size-base: 14px;
202
- --font-size-label: 13px;
203
- --font-size-toggle: 12px;
204
- --font-size-highlight-button: 0.75rem;
205
- --font-size-xl: 16px;
206
- --line-height-base: 1.5;
207
- --font-weight-normal: 400;
208
- --font-weight-semibold: 600;
209
- --highlight-globals: #4fc3f7cc;
210
- --highlight-context: #ffbd44cc;
211
- --highlight-entity: #00ca4ecc;
212
- --highlight-property: #ff605ccc;
213
- --highlight-action: #9900ffcc;
214
- --highlight-background: #1f2937;
215
- --highlight-text: #9ca3af;
216
- --highlight-hover: rgba(255, 255, 255, 0.05);
217
- --highlight-separator: rgba(255, 255, 255, 0.05);
218
- --flow-source-fill: transparent;
219
- --flow-source-stroke: #6ee7b7;
220
- --flow-transformer-fill: transparent;
221
- --flow-transformer-stroke: #fcd34d;
222
- --flow-collector-fill: transparent;
223
- --flow-collector-stroke: #7dd3fc;
224
- --flow-destination-fill: transparent;
225
- --flow-destination-stroke: #c4b5fd;
226
- --flow-edge-stroke: #9ca3af;
227
- }
228
- [data-theme=dark] .elb-explorer {
229
- --color-text: #f3f4f6;
230
- --color-text-label: #d1d5db;
231
- --color-text-button: #d1d5db;
232
- --color-text-button-hover: #ffffff;
233
- --color-text-button-active: #ffffff;
234
- --color-text-muted: #9ca3af;
235
- --color-text-toggle: #9ca3af;
236
- --color-text-input: #f3f4f6;
237
- --color-text-placeholder: #6b7280;
238
- --bg-box: #292d3e;
239
- --bg-header: #1f2937;
240
- --bg-footer: #1f2937;
241
- --bg-button-hover: #374151;
242
- --bg-button-active: #111827;
243
- --bg-button-group: #374151;
244
- --bg-input: #1f2937;
245
- --bg-input-hover: #374151;
246
- --bg-code-inline: rgba(255, 255, 255, 0.05);
247
- --bg-dropdown: #1f2937;
248
- --bg-dropdown-option-hover: #374151;
249
- --bg-dropdown-option-highlighted: #1e3a5f;
250
- --border-box: #4b5563;
251
- --border-header: #4b5563;
252
- --border-footer: #4b5563;
253
- --border-button-group: #4b5563;
254
- --border-input: #4b5563;
255
- --border-input-focus: #01b5e2;
256
- --shadow-button-active: 0 1px 2px rgba(0, 0, 0, 0.3);
257
- --shadow-dropdown: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
258
- --color-button-primary: #01b5e2;
259
- --color-button-primary-hover: #015372;
260
- --color-button-danger: #ef4444;
261
- --color-button-danger-hover: #dc2626;
262
- --flow-source-fill: transparent;
263
- --flow-source-stroke: #6ee7b7;
264
- --flow-transformer-fill: transparent;
265
- --flow-transformer-stroke: #fcd34d;
266
- --flow-collector-fill: transparent;
267
- --flow-collector-stroke: #7dd3fc;
268
- --flow-destination-fill: transparent;
269
- --flow-destination-stroke: #c4b5fd;
270
- --flow-edge-stroke: #9ca3af;
271
- --flow-before-fill: transparent;
272
- --flow-before-stroke: #9ca3af;
273
- --flow-after-fill: transparent;
274
- --flow-after-stroke: #9ca3af;
275
- --color-alert-info-bg: rgba(59, 130, 246, 0.15);
276
- --color-alert-info-border: rgba(59, 130, 246, 0.3);
277
- --color-alert-info-text: #93c5fd;
278
- --color-alert-success-bg: rgba(34, 197, 94, 0.15);
279
- --color-alert-success-border: rgba(34, 197, 94, 0.3);
280
- --color-alert-success-text: #86efac;
281
- --color-alert-warning-bg: rgba(245, 158, 11, 0.15);
282
- --color-alert-warning-border: rgba(245, 158, 11, 0.3);
283
- --color-alert-warning-text: #fcd34d;
284
- --color-alert-error-bg: rgba(239, 68, 68, 0.15);
285
- --color-alert-error-border: rgba(239, 68, 68, 0.3);
286
- --color-alert-error-text: #fca5a5;
287
- --color-focus-ring: rgba(1, 181, 226, 0.3);
288
- --color-error-ring: rgba(239, 68, 68, 0.3);
289
- }
290
- .elb-explorer {
291
- font-family:
292
- -apple-system,
293
- BlinkMacSystemFont,
294
- "Segoe UI",
295
- Roboto,
296
- Oxygen,
297
- Ubuntu,
298
- Cantarell,
299
- "Helvetica Neue",
300
- sans-serif;
301
- font-size: 14px;
302
- line-height: 1.5;
303
- color: var(--color-text);
5
+ font-family: var(--font-sans);
6
+ font-size: var(--type-product-body-size);
7
+ line-height: var(--type-product-body-line-height);
8
+ color: var(--fg);
304
9
  }
305
10
  .elb-explorer * {
306
11
  box-sizing: border-box;
@@ -309,6 +14,10 @@
309
14
  font-family: inherit;
310
15
  }
311
16
  .elb-explorer-grid-wrapper {
17
+ --grid-min-box-width: 350px;
18
+ --grid-row-min-height: 250px;
19
+ --grid-row-max-height: 450px;
20
+ --grid-box-max-height-mobile: 500px;
312
21
  position: relative;
313
22
  width: 100%;
314
23
  container-type: inline-size;
@@ -316,7 +25,7 @@
316
25
  }
317
26
  .elb-explorer-grid {
318
27
  display: grid;
319
- gap: var(--spacing-grid-gap);
28
+ gap: 12px;
320
29
  width: 100%;
321
30
  grid-auto-flow: row;
322
31
  grid-template-columns: 1fr;
@@ -366,21 +75,20 @@
366
75
  position: absolute;
367
76
  top: 50%;
368
77
  transform: translateY(-50%);
369
- z-index: 10;
78
+ z-index: var(--z-raised);
370
79
  width: 40px;
371
80
  height: 40px;
372
81
  padding: 0;
373
- border: none;
374
- border-radius: 50%;
375
- background: var(--bg-box);
376
- color: var(--color-text);
82
+ border: 1px solid var(--border-strong);
83
+ border-radius: var(--radius-full);
84
+ background: var(--surface);
85
+ color: var(--fg);
377
86
  font-size: 24px;
378
87
  line-height: 0;
379
88
  cursor: pointer;
380
89
  display: flex;
381
90
  align-items: center;
382
91
  justify-content: center;
383
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
384
92
  transition: all 0.2s ease;
385
93
  user-select: none;
386
94
  }
@@ -390,8 +98,7 @@
390
98
  }
391
99
  }
392
100
  .elb-explorer-grid-scroll-button:hover {
393
- background: var(--bg-button-hover);
394
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
101
+ background: var(--surface-2);
395
102
  transform: translateY(-50%) scale(1.1);
396
103
  }
397
104
  .elb-explorer-grid-scroll-button:active {
@@ -403,64 +110,50 @@
403
110
  .elb-explorer-grid-scroll-button--right {
404
111
  right: 8px;
405
112
  }
406
- .elb-explorer ::-webkit-scrollbar {
407
- width: 8px;
408
- height: 8px;
409
- }
410
- .elb-explorer ::-webkit-scrollbar-track {
411
- background: transparent;
412
- }
413
- .elb-explorer ::-webkit-scrollbar-thumb {
414
- background: rgba(0, 0, 0, 0.2);
415
- border-radius: 4px;
416
- }
417
- .elb-explorer ::-webkit-scrollbar-thumb:hover {
418
- background: rgba(0, 0, 0, 0.2);
419
- }
420
- [data-theme=dark] .elb-explorer ::-webkit-scrollbar-thumb {
421
- background: rgba(255, 255, 255, 0.2);
422
- }
423
- [data-theme=dark] .elb-explorer ::-webkit-scrollbar-thumb:hover {
424
- background: rgba(255, 255, 255, 0.2);
425
- }
426
113
  .elb-explorer {
427
114
  width: 100%;
428
115
  max-width: 100%;
429
116
  background: transparent;
430
117
  padding: 0;
431
- font-family: var(--font-family-base);
432
- font-size: var(--font-size-base);
433
- line-height: var(--line-height-base);
434
- color: var(--color-text);
118
+ }
119
+ .elb-explorer-sr-only {
120
+ position: absolute;
121
+ width: 1px;
122
+ height: 1px;
123
+ padding: 0;
124
+ margin: -1px;
125
+ overflow: hidden;
126
+ clip: rect(0, 0, 0, 0);
127
+ white-space: nowrap;
128
+ border: 0;
435
129
  }
436
130
  .elb-explorer-btn {
437
- padding: var(--spacing-button);
131
+ padding: 4px 8px;
438
132
  background: transparent;
439
133
  border: none;
440
- border-radius: var(--radius-button);
134
+ border-radius: var(--radius-xs);
441
135
  cursor: pointer;
442
136
  display: flex;
443
137
  align-items: center;
444
138
  justify-content: center;
445
- color: var(--color-text-button);
139
+ color: var(--fg-2);
446
140
  transition: all 0.15s;
447
141
  }
448
142
  .elb-explorer-btn:hover {
449
- background: var(--bg-button-hover);
450
- color: var(--color-text-button-hover);
143
+ background: var(--surface-2);
144
+ color: var(--fg);
451
145
  }
452
146
  .elb-explorer-btn.active {
453
- background: var(--bg-button-active);
454
- color: var(--color-text-button-active);
455
- box-shadow: var(--shadow-button-active);
456
- font-weight: var(--font-weight-semibold);
147
+ background: var(--surface);
148
+ color: var(--fg);
149
+ font-weight: 600;
457
150
  }
458
151
  .elb-explorer-button-group {
459
152
  display: flex;
460
- background: var(--bg-button-group);
461
- border-radius: var(--radius-button-group);
462
- padding: var(--spacing-button-group);
463
- border: 1px solid var(--border-button-group);
153
+ background: var(--bg-2);
154
+ border-radius: var(--radius-xs);
155
+ padding: 1px;
156
+ border: 1px solid var(--border-strong);
464
157
  }
465
158
  .elb-explorer-button-group.elb-explorer-button-group--tabs {
466
159
  background: transparent;
@@ -471,90 +164,19 @@
471
164
  }
472
165
  .elb-explorer-button-group.elb-explorer-button-group--tabs .elb-explorer-btn {
473
166
  padding: 3px 10px;
474
- font-size: var(--font-size-label);
475
- font-weight: var(--font-weight-medium);
476
- color: var(--color-text-button);
167
+ font-size: var(--type-product-small-size);
168
+ font-weight: 500;
169
+ color: var(--fg-2);
477
170
  background: transparent;
478
- border-radius: var(--radius-button) var(--radius-button) 0 0;
171
+ border-radius: var(--radius-xs) var(--radius-xs) 0 0;
479
172
  }
480
173
  .elb-explorer-button-group.elb-explorer-button-group--tabs .elb-explorer-btn:hover {
481
174
  background: transparent;
482
- color: var(--color-text-button-hover);
175
+ color: var(--fg);
483
176
  }
484
177
  .elb-explorer-button-group.elb-explorer-button-group--tabs .elb-explorer-btn.active {
485
- background: var(--bg-button-active);
486
- color: var(--color-text-button-active);
487
- box-shadow: none;
488
- }
489
- .elb-button-link {
490
- display: inline-flex;
491
- align-items: center;
492
- justify-content: center;
493
- padding: 12px 32px;
494
- font-family: var(--font-family-base);
495
- font-size: var(--font-size-base);
496
- font-weight: var(--font-weight-semibold);
497
- border-radius: var(--radius-button);
498
- border: none;
499
- text-decoration: none;
500
- transition: all 0.15s;
501
- cursor: pointer;
502
- }
503
- .elb-button-link:disabled {
504
- opacity: 0.4;
505
- cursor: not-allowed;
506
- }
507
- .elb-button-link-default {
508
- background: transparent;
509
- color: var(--color-text-button);
510
- border: 1px solid var(--border-input);
511
- }
512
- .elb-button-link-default:hover:not(:disabled) {
513
- background: var(--bg-button-hover);
514
- color: var(--color-text-button-hover);
515
- }
516
- .elb-button-link-primary {
517
- background: var(--color-button-primary);
518
- color: var(--color-button-primary-text);
519
- border: 1px solid var(--color-button-primary);
520
- }
521
- .elb-button-link-primary:hover:not(:disabled) {
522
- background: var(--color-button-primary-hover);
523
- border-color: var(--color-button-primary-hover);
524
- }
525
- .elb-button-link-secondary {
526
- background: var(--bg-box);
527
- color: var(--color-button-primary);
528
- border: 1px solid var(--border-input);
529
- }
530
- .elb-button-link-secondary:hover:not(:disabled) {
531
- background: var(--bg-button-hover);
532
- }
533
- .elb-button-link-md {
534
- padding: 12px 32px;
535
- font-size: var(--font-size-base);
536
- }
537
- .elb-button-link-lg {
538
- padding: 16px 40px;
539
- font-size: var(--font-size-xl);
540
- }
541
- .elb-button-group {
542
- display: flex;
543
- flex-direction: column;
544
- gap: 12px;
545
- }
546
- @media (max-width: 799px) {
547
- .elb-button-group {
548
- width: 100%;
549
- }
550
- .elb-button-group .elb-button-link {
551
- width: 100%;
552
- }
553
- }
554
- @media (min-width: 1200px) {
555
- .elb-button-group {
556
- flex-direction: row;
557
- }
178
+ background: var(--surface);
179
+ color: var(--fg);
558
180
  }
559
181
  .elb-code {
560
182
  flex: 1;
@@ -564,6 +186,7 @@
564
186
  flex-direction: column;
565
187
  position: relative;
566
188
  overflow: hidden;
189
+ background: var(--code-bg);
567
190
  }
568
191
  .elb-code > div {
569
192
  flex: 1;
@@ -588,7 +211,7 @@
588
211
  background: transparent !important;
589
212
  }
590
213
  .elb-code .monaco-editor .sticky-widget {
591
- background: var(--bg-content) !important;
214
+ background: var(--code-bg) !important;
592
215
  border: none !important;
593
216
  outline: none !important;
594
217
  box-shadow: none !important;
@@ -597,6 +220,7 @@
597
220
  transition: none !important;
598
221
  }
599
222
  .elb-code-static {
223
+ --monaco-font-size: 13px;
600
224
  flex: 1;
601
225
  min-height: 0;
602
226
  width: 100%;
@@ -604,15 +228,17 @@
604
228
  flex-direction: column;
605
229
  position: relative;
606
230
  overflow: hidden;
607
- font-size: var(--monaco-font-size, 13px);
231
+ background: var(--code-bg);
232
+ color: var(--code-fg);
233
+ font-size: var(--monaco-font-size);
608
234
  line-height: 1.5;
609
- font-family: var(--font-mono, "SF Mono", "Monaco", "Menlo", "Consolas", monospace);
235
+ font-family: var(--font-mono);
610
236
  }
611
237
  .elb-code-static pre.shiki,
612
238
  .elb-code-static pre {
613
239
  flex: 1;
614
240
  margin: 0 !important;
615
- padding: var(--spacing-sm, 8px) var(--spacing-md, 12px) !important;
241
+ padding: 8px 12px !important;
616
242
  background: transparent !important;
617
243
  font-family: inherit !important;
618
244
  font-size: inherit !important;
@@ -628,37 +254,19 @@
628
254
  background: transparent !important;
629
255
  display: block;
630
256
  }
631
- html[data-theme=dark] .shiki,
632
- html[data-theme=dark] .shiki span {
633
- color: var(--shiki-dark) !important;
634
- background-color: var(--shiki-dark-bg) !important;
635
- font-style: var(--shiki-dark-font-style) !important;
636
- font-weight: var(--shiki-dark-font-weight) !important;
637
- text-decoration: var(--shiki-dark-text-decoration) !important;
638
- }
639
- .elb-code-inline {
640
- font-family: var(--font-mono);
641
- font-size: 0.9em;
642
- padding: 0.125rem 0.375rem;
643
- border-radius: var(--radius-button);
644
- background-color: var(--bg-code-inline);
645
- border: 1px solid var(--border-input);
646
- color: var(--color-text);
647
- white-space: nowrap;
648
- }
649
257
  .elb-preview-footer {
650
258
  display: grid;
651
259
  grid-auto-flow: column;
652
260
  grid-auto-columns: 1fr;
653
261
  flex: 1;
654
262
  align-self: stretch;
655
- background: var(--bg-footer);
263
+ background: var(--bg-2);
656
264
  }
657
265
  .elb-preview-btn {
658
266
  padding: 6px 6px;
659
- font-size: var(--font-size-toggle);
267
+ font-size: var(--type-product-caption-size);
660
268
  font-weight: 600;
661
- color: var(--color-text-button);
269
+ color: var(--fg-2);
662
270
  border: 0;
663
271
  background: transparent;
664
272
  transition: color 0.2s ease, background 0.2s ease;
@@ -674,11 +282,11 @@ html[data-theme=dark] .shiki span {
674
282
  justify-content: center;
675
283
  }
676
284
  .elb-preview-btn:hover {
677
- color: var(--color-text-button-hover);
678
- background: var(--bg-button-hover);
285
+ color: var(--fg);
286
+ background: var(--surface-2);
679
287
  }
680
288
  .elb-preview-btn:active {
681
- background: var(--bg-button-active);
289
+ background: var(--surface);
682
290
  }
683
291
  .elb-preview-btn:not(:last-child)::after {
684
292
  content: "";
@@ -687,161 +295,23 @@ html[data-theme=dark] .shiki span {
687
295
  top: 20%;
688
296
  height: 60%;
689
297
  width: 1px;
690
- background: var(--border-footer);
298
+ background: var(--border);
691
299
  opacity: 0.3;
692
300
  }
693
301
  .elb-preview-btn.highlight-globals {
694
- color: var(--highlight-globals);
302
+ color: var(--event-globals);
695
303
  }
696
304
  .elb-preview-btn.highlight-context {
697
- color: var(--highlight-context);
305
+ color: var(--event-context);
698
306
  }
699
307
  .elb-preview-btn.highlight-entity {
700
- color: var(--highlight-entity);
308
+ color: var(--event-entity);
701
309
  }
702
310
  .elb-preview-btn.highlight-property {
703
- color: var(--highlight-property);
311
+ color: var(--event-property);
704
312
  }
705
313
  .elb-preview-btn.highlight-action {
706
- color: var(--highlight-action);
707
- }
708
- .elb-toggle-container {
709
- display: flex;
710
- align-items: center;
711
- gap: 12px;
712
- }
713
- .elb-toggle {
714
- position: relative;
715
- width: 48px;
716
- height: 24px;
717
- background: var(--color-primary, #3b82f6);
718
- border: none;
719
- border-radius: 12px;
720
- cursor: pointer;
721
- transition: background-color 0.2s ease;
722
- padding: 0;
723
- outline: none;
724
- }
725
- .elb-toggle:focus-visible {
726
- box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2);
727
- }
728
- .elb-toggle-checked {
729
- background: var(--border-input);
730
- }
731
- .elb-toggle-disabled {
732
- opacity: 0.5;
733
- cursor: not-allowed;
734
- }
735
- .elb-toggle-slider {
736
- position: absolute;
737
- top: 2px;
738
- left: 2px;
739
- width: 20px;
740
- height: 20px;
741
- background: white;
742
- border-radius: 50%;
743
- transition: transform 0.2s ease;
744
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
745
- }
746
- .elb-toggle-checked .elb-toggle-slider {
747
- transform: translateX(24px);
748
- }
749
- .elb-toggle-label {
750
- font-family: var(--font-family-base);
751
- font-size: var(--font-size-base);
752
- color: var(--color-text);
753
- user-select: none;
754
- cursor: pointer;
755
- }
756
- .elb-spinner {
757
- display: inline-block;
758
- border: 2px solid var(--border-input);
759
- border-top-color: var(--color-button-primary);
760
- border-radius: 50%;
761
- animation: elb-spin 0.6s linear infinite;
762
- }
763
- .elb-spinner--sm {
764
- width: 1rem;
765
- height: 1rem;
766
- }
767
- .elb-spinner--md {
768
- width: 1.5rem;
769
- height: 1.5rem;
770
- }
771
- .elb-spinner--lg {
772
- width: 2rem;
773
- height: 2rem;
774
- }
775
- @keyframes elb-spin {
776
- to {
777
- transform: rotate(360deg);
778
- }
779
- }
780
- .elb-dropdown {
781
- position: relative;
782
- display: inline-block;
783
- }
784
- .elb-dropdown__trigger {
785
- cursor: pointer;
786
- user-select: none;
787
- }
788
- .elb-dropdown__trigger:focus {
789
- outline: 2px solid var(--border-input-focus);
790
- outline-offset: 2px;
791
- border-radius: var(--radius-button);
792
- }
793
- .elb-dropdown__panel {
794
- position: absolute;
795
- top: 100%;
796
- margin-top: var(--spacing-xs);
797
- min-width: 12rem;
798
- background-color: var(--bg-dropdown);
799
- border: 1px solid var(--border-box);
800
- border-radius: var(--radius-box);
801
- box-shadow: var(--shadow-lg);
802
- z-index: var(--z-dropdown);
803
- padding: var(--spacing-xs) 0;
804
- }
805
- .elb-dropdown__panel--left {
806
- left: 0;
807
- }
808
- .elb-dropdown__panel--right {
809
- right: 0;
810
- }
811
- .elb-dropdown__item {
812
- display: block;
813
- width: 100%;
814
- padding: var(--spacing-sm) var(--spacing-md);
815
- font-size: var(--font-size-sm);
816
- font-family: inherit;
817
- text-align: left;
818
- color: var(--color-text);
819
- background: none;
820
- border: none;
821
- cursor: pointer;
822
- transition: background-color 0.1s ease;
823
- }
824
- .elb-dropdown__item:hover:not(:disabled) {
825
- background-color: var(--bg-dropdown-option-hover);
826
- }
827
- .elb-dropdown__item:focus {
828
- outline: none;
829
- background-color: var(--bg-dropdown-option-hover);
830
- }
831
- .elb-dropdown__item--danger {
832
- color: var(--color-button-danger);
833
- }
834
- .elb-dropdown__item--danger:hover:not(:disabled) {
835
- background-color: var(--color-alert-error-bg);
836
- }
837
- .elb-dropdown__item--disabled {
838
- opacity: 0.5;
839
- cursor: not-allowed;
840
- }
841
- .elb-dropdown__divider {
842
- height: 1px;
843
- margin: var(--spacing-xs) 0;
844
- background-color: var(--border-box);
314
+ color: var(--event-action);
845
315
  }
846
316
  .elb-code-box {
847
317
  display: flex;
@@ -854,13 +324,12 @@ html[data-theme=dark] .shiki span {
854
324
  position: absolute;
855
325
  top: 100%;
856
326
  right: 0;
857
- z-index: 10;
327
+ z-index: var(--z-dropdown);
858
328
  margin-top: 4px;
859
329
  padding: 8px 0;
860
- background: var(--bg-dropdown);
861
- border: 1px solid var(--border-box);
862
- border-radius: var(--radius-button);
863
- box-shadow: var(--shadow-dropdown);
330
+ background: var(--surface);
331
+ border: 1px solid var(--border-strong);
332
+ border-radius: var(--radius-xs);
864
333
  min-width: 140px;
865
334
  }
866
335
  .elb-codebox-settings-option {
@@ -868,14 +337,14 @@ html[data-theme=dark] .shiki span {
868
337
  align-items: center;
869
338
  gap: 8px;
870
339
  padding: 6px 12px;
871
- font-size: var(--font-size-label);
872
- color: var(--color-text);
340
+ font-size: var(--type-product-small-size);
341
+ color: var(--fg);
873
342
  cursor: pointer;
874
343
  user-select: none;
875
344
  white-space: nowrap;
876
345
  }
877
346
  .elb-codebox-settings-option:hover {
878
- background: var(--bg-dropdown-option-hover);
347
+ background: var(--surface-2);
879
348
  }
880
349
  .elb-codebox-settings-option input[type=checkbox] {
881
350
  margin: 0;
@@ -887,10 +356,10 @@ html[data-theme=dark] .shiki span {
887
356
  gap: 3px;
888
357
  padding: 2px 6px;
889
358
  border: none;
890
- border-radius: var(--radius-button);
359
+ border-radius: var(--radius-xs);
891
360
  cursor: pointer;
892
- font-size: calc(var(--font-size-base) - 2px);
893
- font-weight: var(--font-weight-semibold);
361
+ font-size: var(--type-product-caption-size);
362
+ font-weight: 600;
894
363
  font-family: var(--font-mono);
895
364
  line-height: 1;
896
365
  transition: all 0.15s;
@@ -899,30 +368,29 @@ html[data-theme=dark] .shiki span {
899
368
  flex-shrink: 0;
900
369
  }
901
370
  .elb-codebox-marker-badge--error {
902
- color: var(--color-alert-error-text);
371
+ color: var(--danger);
903
372
  background: transparent;
904
373
  }
905
374
  .elb-codebox-marker-badge--error:hover {
906
- background: var(--color-alert-error-bg);
375
+ background: var(--danger-bg);
907
376
  }
908
377
  .elb-codebox-marker-badge--warning {
909
- color: var(--color-alert-warning-text);
378
+ color: var(--warning);
910
379
  background: transparent;
911
380
  }
912
381
  .elb-codebox-marker-badge--warning:hover {
913
- background: var(--color-alert-warning-bg);
382
+ background: var(--warning-bg);
914
383
  }
915
384
  .elb-codebox-marker-menu {
916
385
  position: absolute;
917
386
  top: 100%;
918
387
  right: 0;
919
- z-index: 10;
388
+ z-index: var(--z-dropdown);
920
389
  margin-top: 4px;
921
390
  padding: 4px 0;
922
- background: var(--bg-dropdown);
923
- border: 1px solid var(--border-box);
924
- border-radius: var(--radius-button);
925
- box-shadow: var(--shadow-dropdown);
391
+ background: var(--surface);
392
+ border: 1px solid var(--border-strong);
393
+ border-radius: var(--radius-xs);
926
394
  min-width: 200px;
927
395
  max-width: 340px;
928
396
  max-height: 200px;
@@ -937,17 +405,17 @@ html[data-theme=dark] .shiki span {
937
405
  border: none;
938
406
  background: none;
939
407
  cursor: pointer;
940
- font-size: calc(var(--font-size-base) - 2px);
941
- color: var(--color-text);
408
+ font-size: var(--type-product-caption-size);
409
+ color: var(--fg);
942
410
  text-align: left;
943
411
  }
944
412
  .elb-codebox-marker-menu-item:hover {
945
- background: var(--bg-dropdown-option-hover);
413
+ background: var(--surface-2);
946
414
  }
947
415
  .elb-codebox-marker-menu-line {
948
416
  flex-shrink: 0;
949
417
  font-family: var(--font-mono);
950
- font-weight: var(--font-weight-semibold);
418
+ font-weight: 600;
951
419
  opacity: 0.6;
952
420
  }
953
421
  .elb-codebox-marker-menu-msg {
@@ -955,9 +423,40 @@ html[data-theme=dark] .shiki span {
955
423
  text-overflow: ellipsis;
956
424
  white-space: nowrap;
957
425
  }
426
+ .elb-code-diff-box__actions {
427
+ display: flex;
428
+ align-items: center;
429
+ gap: 8px;
430
+ }
431
+ .elb-code-diff-box__summary {
432
+ display: flex;
433
+ align-items: center;
434
+ gap: 6px;
435
+ font-size: var(--type-product-caption-size);
436
+ font-weight: 500;
437
+ font-variant-numeric: tabular-nums;
438
+ }
439
+ .elb-code-diff-box__added {
440
+ color: var(--success);
441
+ }
442
+ .elb-code-diff-box__deleted {
443
+ color: var(--danger);
444
+ }
445
+ .elb-code-diff-box__modified {
446
+ color: var(--fg-2);
447
+ }
448
+ .elb-code-diff-box__toggle .elb-explorer-btn {
449
+ padding: 2px 8px;
450
+ font-size: var(--type-product-caption-size);
451
+ font-weight: 500;
452
+ user-select: none;
453
+ }
958
454
  .elb-code-snippet .elb-code-static {
959
455
  font-size: 15px;
960
456
  }
457
+ .elb-code-view--fit {
458
+ --height-code-view-max: 600px;
459
+ }
961
460
  .elb-code-view--fit.elb-explorer-box {
962
461
  height: auto;
963
462
  min-height: 0;
@@ -973,10 +472,10 @@ html[data-theme=dark] .shiki span {
973
472
  position: absolute;
974
473
  top: 6px;
975
474
  right: 6px;
976
- z-index: 1;
475
+ z-index: var(--z-raised);
977
476
  display: flex;
978
- background: var(--bg-box);
979
- border-radius: var(--radius-button);
477
+ background: var(--code-bar);
478
+ border-radius: var(--radius-xs);
980
479
  opacity: 0;
981
480
  transition: opacity 0.15s;
982
481
  }
@@ -989,11 +488,15 @@ html[data-theme=dark] .shiki span {
989
488
  opacity: 1;
990
489
  }
991
490
  }
491
+ .elb-step-example {
492
+ --step-example-min-box-width: 220px;
493
+ --step-example-max-height: 360px;
494
+ }
992
495
  .elb-step-example-boxes {
993
496
  display: flex;
994
497
  flex-wrap: wrap;
995
498
  align-items: stretch;
996
- gap: var(--spacing-grid-gap);
499
+ gap: 12px;
997
500
  }
998
501
  .elb-step-example .elb-step-example-boxes > .elb-explorer-box {
999
502
  flex: 1 1 var(--step-example-min-box-width);
@@ -1014,68 +517,11 @@ html[data-theme=dark] .shiki span {
1014
517
  border: none;
1015
518
  display: block;
1016
519
  }
1017
- .token.attr-name {
1018
- color: white !important;
1019
- }
1020
- .token.attr-name[data-elb],
1021
- .token.attr-name[data-elbaction],
1022
- .token.attr-name[data-elbglobals],
1023
- .token.attr-name[data-elbcontext],
1024
- .token.attr-name[data-elbproperty] {
1025
- color: var(--highlight-property) !important;
1026
- }
1027
520
  @container grid-container (max-width: 799px) {
1028
521
  .elb-preview-content {
1029
522
  min-height: 300px;
1030
523
  }
1031
524
  }
1032
- .elb-explorer-btn {
1033
- padding: var(--spacing-button);
1034
- background: transparent;
1035
- border: none;
1036
- border-radius: var(--radius-button);
1037
- cursor: pointer;
1038
- display: flex;
1039
- align-items: center;
1040
- justify-content: center;
1041
- color: var(--color-text-button);
1042
- transition: all 0.15s;
1043
- }
1044
- .elb-explorer-btn:hover {
1045
- background: var(--bg-button-hover);
1046
- color: var(--color-text-button-hover);
1047
- }
1048
- .elb-explorer-btn.active {
1049
- background: var(--bg-button-active);
1050
- color: var(--color-text-button-active);
1051
- box-shadow: var(--shadow-button-active);
1052
- font-weight: var(--font-weight-semibold);
1053
- }
1054
- .elb-explorer-button-group {
1055
- display: flex;
1056
- background: var(--bg-button-group);
1057
- border-radius: var(--radius-button-group);
1058
- padding: var(--spacing-button-group);
1059
- border: 1px solid var(--border-button-group);
1060
- }
1061
- .elb-explorer-controls {
1062
- padding: 8px 0 12px 0;
1063
- display: flex;
1064
- justify-content: flex-end;
1065
- }
1066
- .elb-explorer-toggle {
1067
- display: flex;
1068
- align-items: center;
1069
- gap: 6px;
1070
- font-size: var(--font-size-toggle);
1071
- color: var(--color-text-toggle);
1072
- cursor: pointer;
1073
- user-select: none;
1074
- }
1075
- .elb-explorer-toggle input[type=checkbox] {
1076
- margin: 0;
1077
- cursor: pointer;
1078
- }
1079
525
  .elb-architecture-flow {
1080
526
  container-type: inline-size;
1081
527
  width: 100%;
@@ -1095,12 +541,12 @@ html[data-theme=dark] .shiki span {
1095
541
  }
1096
542
  }
1097
543
  .elb-architecture-flow__title {
1098
- font-size: var(--font-size-base, 16px);
1099
- font-weight: var(--font-weight-semibold, 600);
544
+ font-size: var(--type-product-body-size);
545
+ font-weight: 600;
1100
546
  text-transform: uppercase;
1101
547
  letter-spacing: 0.05em;
1102
548
  text-align: center;
1103
- color: var(--color-text-muted, #6b7280);
549
+ color: var(--fg-2);
1104
550
  }
1105
551
  .elb-architecture-flow__title--desktop {
1106
552
  display: none;
@@ -1141,15 +587,15 @@ html[data-theme=dark] .shiki span {
1141
587
  }
1142
588
  .elb-architecture-flow__section {
1143
589
  padding: 16px;
1144
- border-radius: 12px;
1145
- border: 1px solid var(--border-box, rgba(128, 128, 128, 0.3));
1146
- background-color: var(--bg-box, transparent);
590
+ border-radius: var(--radius-lg);
591
+ border: 1px solid var(--border);
592
+ background-color: var(--surface);
1147
593
  }
1148
594
  .elb-architecture-flow__section-title {
1149
595
  display: block;
1150
- font-size: calc(var(--font-size-base, 16px) - 2px);
596
+ font-size: var(--type-product-caption-size);
1151
597
  font-weight: 500;
1152
- color: var(--color-text-muted, #6b7280);
598
+ color: var(--fg-2);
1153
599
  margin-bottom: 12px;
1154
600
  }
1155
601
  .elb-architecture-flow__items {
@@ -1161,7 +607,7 @@ html[data-theme=dark] .shiki span {
1161
607
  display: flex;
1162
608
  align-items: center;
1163
609
  gap: 12px;
1164
- color: var(--color-text, currentColor);
610
+ color: var(--fg);
1165
611
  }
1166
612
  .elb-architecture-flow__item-icon {
1167
613
  width: 20px;
@@ -1176,18 +622,18 @@ html[data-theme=dark] .shiki span {
1176
622
  height: 20px;
1177
623
  }
1178
624
  .elb-architecture-flow__item-label {
1179
- font-size: var(--font-size-base, 16px);
625
+ font-size: var(--type-product-body-size);
1180
626
  white-space: nowrap;
1181
627
  }
1182
628
  .elb-architecture-flow__more {
1183
- font-size: calc(var(--font-size-base, 16px) - 2px);
629
+ font-size: var(--type-product-caption-size);
1184
630
  font-style: italic;
1185
- color: var(--color-text-muted, #6b7280);
631
+ color: var(--fg-2);
1186
632
  opacity: 0.7;
1187
633
  text-align: center;
1188
634
  }
1189
635
  .elb-architecture-flow__arrow {
1190
- color: var(--color-button-primary, #01b5e2);
636
+ color: var(--link);
1191
637
  }
1192
638
  .elb-architecture-flow__arrow > svg {
1193
639
  width: 32px;
@@ -1233,8 +679,8 @@ html[data-theme=dark] .shiki span {
1233
679
  }
1234
680
  .elb-property-table__container {
1235
681
  overflow: visible;
1236
- border-radius: var(--radius-box);
1237
- border: 1px solid var(--border-box);
682
+ border-radius: var(--radius-xs);
683
+ border: 1px solid var(--border);
1238
684
  width: 100%;
1239
685
  box-sizing: border-box;
1240
686
  container-type: inline-size;
@@ -1247,27 +693,27 @@ html[data-theme=dark] .shiki span {
1247
693
  width: 100%;
1248
694
  table-layout: auto;
1249
695
  border-collapse: collapse;
1250
- font-size: calc(var(--font-size-base) - 1px);
1251
- background: var(--bg-box);
696
+ font-size: var(--type-product-small-size);
697
+ background: var(--surface);
1252
698
  display: table;
1253
699
  }
1254
700
  .elb-property-table thead {
1255
- background: var(--bg-header);
701
+ background: var(--bg-2);
1256
702
  }
1257
703
  .elb-property-table th {
1258
704
  padding: 12px 16px;
1259
705
  text-align: left;
1260
- font-weight: var(--font-weight-semibold);
1261
- color: var(--color-text-label);
1262
- border-bottom: 2px solid var(--border-box);
1263
- font-size: calc(var(--font-size-base) - 2px);
706
+ font-weight: 600;
707
+ color: var(--fg-2);
708
+ border-bottom: 2px solid var(--border);
709
+ font-size: var(--type-product-caption-size);
1264
710
  text-transform: uppercase;
1265
711
  letter-spacing: 0.5px;
1266
712
  white-space: nowrap;
1267
713
  }
1268
714
  .elb-property-table td {
1269
715
  padding: 12px 16px;
1270
- border-bottom: 1px solid var(--border-box);
716
+ border-bottom: 1px solid var(--border);
1271
717
  vertical-align: top;
1272
718
  }
1273
719
  .elb-property-table tbody tr:last-child td {
@@ -1275,16 +721,16 @@ html[data-theme=dark] .shiki span {
1275
721
  padding-bottom: 12px;
1276
722
  }
1277
723
  .elb-property-table__property-name {
1278
- font-weight: var(--font-weight-semibold);
1279
- color: var(--color-button-primary);
724
+ font-weight: 600;
725
+ color: var(--link);
1280
726
  font-family: var(--font-mono);
1281
- font-size: calc(var(--font-size-base) - 2px);
727
+ font-size: var(--type-product-caption-size);
1282
728
  }
1283
729
  .elb-property-table__row--nested {
1284
- background: var(--bg-header);
730
+ background: var(--bg-2);
1285
731
  }
1286
732
  .elb-property-table__row--nested .elb-property-table__property-cell {
1287
- border-left: 2px solid var(--border-box);
733
+ border-left: 2px solid var(--border);
1288
734
  }
1289
735
  .elb-property-table__group-toggle {
1290
736
  display: inline-flex;
@@ -1295,16 +741,16 @@ html[data-theme=dark] .shiki span {
1295
741
  background: none;
1296
742
  border: none;
1297
743
  cursor: pointer;
1298
- color: var(--color-text-label);
744
+ color: var(--fg-2);
1299
745
  vertical-align: baseline;
1300
746
  }
1301
747
  .elb-property-table__group-toggle:hover {
1302
- color: var(--color-button-primary);
748
+ color: var(--link);
1303
749
  }
1304
750
  .elb-property-table__property-type {
1305
- color: var(--color-text);
751
+ color: var(--fg);
1306
752
  font-family: var(--font-mono);
1307
- font-size: calc(var(--font-size-base) - 3px);
753
+ font-size: var(--type-product-caption-size);
1308
754
  white-space: nowrap;
1309
755
  }
1310
756
  .elb-property-table__property-type--truncated {
@@ -1323,7 +769,7 @@ html[data-theme=dark] .shiki span {
1323
769
  linear-gradient(
1324
770
  to right,
1325
771
  transparent,
1326
- var(--bg-box));
772
+ var(--surface));
1327
773
  pointer-events: none;
1328
774
  }
1329
775
  .elb-property-table__type-button {
@@ -1345,10 +791,10 @@ html[data-theme=dark] .shiki span {
1345
791
  linear-gradient(
1346
792
  to right,
1347
793
  transparent,
1348
- var(--bg-input-hover));
794
+ var(--surface-2));
1349
795
  }
1350
796
  .elb-property-table__required-icon {
1351
- color: var(--color-button-danger);
797
+ color: var(--danger);
1352
798
  font-weight: bold;
1353
799
  margin-left: 4px;
1354
800
  font-size: 1.1em;
@@ -1367,7 +813,7 @@ html[data-theme=dark] .shiki span {
1367
813
  }
1368
814
  .elb-property-table__description {
1369
815
  line-height: 1.4;
1370
- color: var(--color-text);
816
+ color: var(--fg);
1371
817
  word-break: break-word;
1372
818
  overflow-wrap: anywhere;
1373
819
  min-width: 0;
@@ -1376,21 +822,21 @@ html[data-theme=dark] .shiki span {
1376
822
  background: none;
1377
823
  border: none;
1378
824
  padding: 6px;
1379
- border-radius: var(--radius-button);
825
+ border-radius: var(--radius-xs);
1380
826
  cursor: pointer;
1381
- color: var(--color-button-primary);
827
+ color: var(--link);
1382
828
  display: inline-flex;
1383
829
  align-items: center;
1384
830
  justify-content: center;
1385
831
  transition: background-color 0.2s ease;
1386
832
  }
1387
833
  .elb-property-table__more-button:hover {
1388
- background: var(--bg-button-hover);
834
+ background: var(--surface-2);
1389
835
  }
1390
836
  .elb-property-table__required-notice {
1391
837
  margin-top: 0;
1392
- font-size: calc(var(--font-size-base) - 2px);
1393
- color: var(--color-text-muted);
838
+ font-size: var(--type-product-caption-size);
839
+ color: var(--fg-2);
1394
840
  font-style: italic;
1395
841
  }
1396
842
  .elb-property-table__modal-backdrop {
@@ -1399,58 +845,57 @@ html[data-theme=dark] .shiki span {
1399
845
  left: 0;
1400
846
  right: 0;
1401
847
  bottom: 0;
1402
- background: rgba(0, 0, 0, 0.5);
848
+ background: var(--backdrop);
1403
849
  display: flex;
1404
850
  align-items: center;
1405
851
  justify-content: center;
1406
- z-index: 1000;
852
+ z-index: var(--z-modal);
1407
853
  padding: 20px;
1408
854
  }
1409
855
  .elb-property-table__modal-content {
1410
- background: var(--bg-box);
1411
- border-radius: var(--radius-box);
1412
- box-shadow: var(--shadow-dropdown);
856
+ background: var(--surface);
857
+ border-radius: var(--radius-xs);
1413
858
  max-width: 600px;
1414
859
  width: 100%;
1415
860
  max-height: 80vh;
1416
861
  overflow-y: auto;
1417
- border: 1px solid var(--border-box);
862
+ border: 1px solid var(--border-strong);
1418
863
  }
1419
864
  .elb-property-table__modal-header {
1420
865
  display: flex;
1421
866
  align-items: center;
1422
867
  justify-content: space-between;
1423
868
  padding: 20px 24px 16px;
1424
- border-bottom: 1px solid var(--border-box);
869
+ border-bottom: 1px solid var(--border);
1425
870
  }
1426
871
  .elb-property-table__modal-title {
1427
872
  margin: 0;
1428
- font-size: 1.25rem;
1429
- font-weight: var(--font-weight-semibold);
873
+ font-size: var(--type-product-heading-size);
874
+ font-weight: 600;
1430
875
  display: flex;
1431
876
  align-items: center;
1432
877
  }
1433
878
  .elb-property-table__modal-property-name {
1434
879
  font-family: var(--font-mono);
1435
- color: var(--color-button-primary);
1436
- font-weight: var(--font-weight-semibold);
1437
- font-size: 1rem;
880
+ color: var(--link);
881
+ font-weight: 600;
882
+ font-size: var(--type-product-title-size);
1438
883
  }
1439
884
  .elb-property-table__close-button {
1440
885
  background: none;
1441
886
  border: none;
1442
887
  padding: 8px;
1443
- border-radius: var(--radius-button);
888
+ border-radius: var(--radius-xs);
1444
889
  cursor: pointer;
1445
- color: var(--color-text-muted);
890
+ color: var(--fg-2);
1446
891
  display: inline-flex;
1447
892
  align-items: center;
1448
893
  justify-content: center;
1449
894
  transition: color 0.2s ease, background-color 0.2s ease;
1450
895
  }
1451
896
  .elb-property-table__close-button:hover {
1452
- color: var(--color-text);
1453
- background: var(--bg-button-hover);
897
+ color: var(--fg);
898
+ background: var(--surface-2);
1454
899
  }
1455
900
  .elb-property-table__modal-body {
1456
901
  padding: 20px 24px 24px;
@@ -1463,15 +908,15 @@ html[data-theme=dark] .shiki span {
1463
908
  }
1464
909
  .elb-property-table__modal-label {
1465
910
  display: block;
1466
- font-weight: var(--font-weight-semibold);
1467
- color: var(--color-text-label);
911
+ font-weight: 600;
912
+ color: var(--fg-2);
1468
913
  margin-bottom: 6px;
1469
- font-size: calc(var(--font-size-base) - 1px);
914
+ font-size: var(--type-product-small-size);
1470
915
  }
1471
916
  .elb-property-table__modal-type {
1472
917
  font-family: var(--font-mono);
1473
- color: var(--color-text);
1474
- font-size: calc(var(--font-size-base) - 1px);
918
+ color: var(--fg);
919
+ font-size: var(--type-product-small-size);
1475
920
  }
1476
921
  .elb-property-table__modal-type--wrap {
1477
922
  display: block;
@@ -1482,17 +927,17 @@ html[data-theme=dark] .shiki span {
1482
927
  .elb-property-table__modal-description {
1483
928
  margin: 0;
1484
929
  line-height: 1.5;
1485
- color: var(--color-text);
930
+ color: var(--fg);
1486
931
  }
1487
932
  .elb-property-table__modal-default {
1488
933
  font-family: var(--font-mono);
1489
- color: var(--color-text);
1490
- font-size: calc(var(--font-size-base) - 1px);
934
+ color: var(--fg);
935
+ font-size: var(--type-product-small-size);
1491
936
  }
1492
937
  .elb-property-table__modal-example {
1493
938
  font-family: var(--font-mono);
1494
- color: var(--color-text);
1495
- font-size: calc(var(--font-size-base) - 1px);
939
+ color: var(--fg);
940
+ font-size: var(--type-product-small-size);
1496
941
  display: block;
1497
942
  white-space: pre-wrap;
1498
943
  word-break: break-word;
@@ -1502,7 +947,7 @@ html[data-theme=dark] .shiki span {
1502
947
  margin: 1rem 0 0;
1503
948
  }
1504
949
  .elb-property-table {
1505
- font-size: calc(var(--font-size-base) - 2px);
950
+ font-size: var(--type-product-caption-size);
1506
951
  display: block;
1507
952
  }
1508
953
  .elb-property-table thead {
@@ -1514,19 +959,19 @@ html[data-theme=dark] .shiki span {
1514
959
  .elb-property-table tr {
1515
960
  display: block;
1516
961
  margin-bottom: 1rem;
1517
- border: 1px solid var(--border-box);
1518
- border-radius: var(--radius-box);
1519
- background: var(--bg-box);
962
+ border: 1px solid var(--border);
963
+ border-radius: var(--radius-xs);
964
+ background: var(--surface);
1520
965
  position: relative;
1521
966
  }
1522
967
  .elb-property-table td {
1523
968
  display: block;
1524
969
  padding: 8px 12px;
1525
- border-bottom: 1px solid var(--border-box);
970
+ border-bottom: 1px solid var(--border);
1526
971
  text-align: left;
1527
972
  }
1528
973
  .elb-property-table tbody tr:last-child td {
1529
- border-bottom: 1px solid var(--border-box);
974
+ border-bottom: 1px solid var(--border);
1530
975
  }
1531
976
  .elb-property-table td:last-child {
1532
977
  border-bottom: none;
@@ -1534,15 +979,15 @@ html[data-theme=dark] .shiki span {
1534
979
  .elb-property-table td::before {
1535
980
  content: attr(data-label);
1536
981
  display: block;
1537
- font-weight: var(--font-weight-semibold);
1538
- color: var(--color-text-label);
1539
- font-size: calc(var(--font-size-base) - 3px);
982
+ font-weight: 600;
983
+ color: var(--fg-2);
984
+ font-size: var(--type-product-caption-size);
1540
985
  text-transform: uppercase;
1541
986
  margin-bottom: 4px;
1542
987
  }
1543
988
  .elb-property-table__property-name,
1544
989
  .elb-property-table__property-type {
1545
- font-size: calc(var(--font-size-base) - 2px);
990
+ font-size: var(--type-product-caption-size);
1546
991
  }
1547
992
  .elb-property-table__property-cell {
1548
993
  width: 100%;
@@ -1557,7 +1002,7 @@ html[data-theme=dark] .shiki span {
1557
1002
  width: 100%;
1558
1003
  }
1559
1004
  .elb-property-table__description {
1560
- font-size: calc(var(--font-size-base) - 2px);
1005
+ font-size: var(--type-product-caption-size);
1561
1006
  }
1562
1007
  .elb-property-table__action-cell {
1563
1008
  position: absolute;
@@ -1577,7 +1022,7 @@ html[data-theme=dark] .shiki span {
1577
1022
  width: auto;
1578
1023
  min-width: 28px;
1579
1024
  height: 28px;
1580
- border-radius: 4px;
1025
+ border-radius: var(--radius-xs);
1581
1026
  }
1582
1027
  .elb-property-table__more-button svg {
1583
1028
  width: 20px;
@@ -1600,7 +1045,7 @@ html[data-theme=dark] .shiki span {
1600
1045
  justify-content: center;
1601
1046
  min-height: 120px;
1602
1047
  padding: 2rem 1rem;
1603
- color: var(--color-text-muted);
1048
+ color: var(--fg-2);
1604
1049
  font-style: italic;
1605
1050
  text-align: center;
1606
1051
  }
@@ -1623,7 +1068,7 @@ html[data-theme=dark] .shiki span {
1623
1068
  column-gap: 8px;
1624
1069
  row-gap: 4px;
1625
1070
  padding: 12px 16px;
1626
- border-bottom: 1px solid var(--border-box);
1071
+ border-bottom: 1px solid var(--border);
1627
1072
  }
1628
1073
  .elb-property-table tbody tr:last-child {
1629
1074
  border-bottom: none;
@@ -1653,16 +1098,16 @@ html[data-theme=dark] .shiki span {
1653
1098
  grid-row: 2;
1654
1099
  grid-column: 1/-1;
1655
1100
  line-height: 1.4;
1656
- color: var(--color-text-muted);
1657
- font-size: calc(var(--font-size-base) - 1px);
1101
+ color: var(--fg-2);
1102
+ font-size: var(--type-product-small-size);
1658
1103
  }
1659
1104
  }
1660
1105
  .elb-explorer-box {
1661
1106
  display: flex;
1662
1107
  flex-direction: column;
1663
- background: var(--bg-box);
1664
- border: 1px solid var(--border-box);
1665
- border-radius: var(--radius-box);
1108
+ background: var(--surface);
1109
+ border: 1px solid var(--border);
1110
+ border-radius: var(--radius-xs);
1666
1111
  overflow: hidden;
1667
1112
  box-sizing: border-box;
1668
1113
  min-height: 200px;
@@ -1690,30 +1135,43 @@ html[data-theme=dark] .shiki span {
1690
1135
  min-height: 0;
1691
1136
  max-height: none;
1692
1137
  }
1138
+ .elb-explorer-box--code {
1139
+ background: var(--code-bg);
1140
+ border-color: var(--code-border);
1141
+ }
1142
+ .elb-explorer-box--code > .elb-explorer-header,
1143
+ .elb-explorer-box--code > .elb-explorer-tabs,
1144
+ .elb-explorer-box--code > .elb-explorer-footer {
1145
+ background: var(--code-bar);
1146
+ border-color: var(--code-border);
1147
+ }
1148
+ .elb-explorer-box--code > .elb-explorer-content {
1149
+ background: var(--code-bg);
1150
+ }
1693
1151
  .elb-explorer-header {
1694
1152
  display: flex;
1695
1153
  align-items: center;
1696
1154
  justify-content: space-between;
1697
- padding: var(--spacing-header);
1698
- background: var(--bg-header);
1699
- border-bottom: 1px solid var(--border-header);
1155
+ padding: 6px 10px;
1156
+ background: var(--bg-2);
1157
+ border-bottom: 1px solid var(--border);
1700
1158
  flex-shrink: 0;
1701
1159
  height: 36px;
1702
1160
  box-sizing: border-box;
1703
1161
  }
1704
1162
  .elb-explorer-label {
1705
- font-size: var(--font-size-label);
1706
- font-weight: var(--font-weight-semibold);
1707
- color: var(--color-text-label);
1163
+ font-size: var(--type-product-small-size);
1164
+ font-weight: 600;
1165
+ color: var(--fg-2);
1708
1166
  user-select: none;
1709
1167
  }
1710
1168
  .elb-explorer-footer {
1711
1169
  display: flex;
1712
1170
  align-items: center;
1713
1171
  justify-content: space-between;
1714
- padding: var(--spacing-footer);
1715
- background: var(--bg-footer);
1716
- border-top: 1px solid var(--border-footer);
1172
+ padding: 6px 10px;
1173
+ background: var(--bg-2);
1174
+ border-top: 1px solid var(--border);
1717
1175
  flex-shrink: 0;
1718
1176
  height: 40px;
1719
1177
  box-sizing: border-box;
@@ -1725,7 +1183,7 @@ html[data-theme=dark] .shiki span {
1725
1183
  flex: 1;
1726
1184
  min-height: 0;
1727
1185
  position: relative;
1728
- background: var(--bg-box);
1186
+ background: var(--surface);
1729
1187
  overflow: hidden;
1730
1188
  display: flex;
1731
1189
  flex-direction: column;
@@ -1737,27 +1195,20 @@ html[data-theme=dark] .shiki span {
1737
1195
  flex: 1;
1738
1196
  min-height: 0;
1739
1197
  }
1740
- .elb-explorer-button-group {
1741
- display: flex;
1742
- background: var(--bg-button-group);
1743
- border-radius: var(--radius-button-group);
1744
- padding: var(--spacing-button-group);
1745
- border: 1px solid var(--border-button-group);
1746
- }
1747
1198
  .elb-explorer-tabs {
1748
1199
  display: flex;
1749
1200
  align-items: center;
1750
- background: var(--bg-header);
1751
- border-bottom: 1px solid var(--border-header);
1201
+ background: var(--bg-2);
1202
+ border-bottom: 1px solid var(--border);
1752
1203
  flex-shrink: 0;
1753
1204
  min-height: 36px;
1754
1205
  box-sizing: border-box;
1755
1206
  }
1756
1207
  .elb-explorer-tab {
1757
1208
  padding: 0.5rem 1rem;
1758
- font-size: var(--font-size-label);
1759
- font-weight: var(--font-weight-semibold);
1760
- color: var(--color-text-muted);
1209
+ font-size: var(--type-product-small-size);
1210
+ font-weight: 600;
1211
+ color: var(--fg-2);
1761
1212
  background: transparent;
1762
1213
  border: none;
1763
1214
  border-bottom: 2px solid transparent;
@@ -1766,11 +1217,11 @@ html[data-theme=dark] .shiki span {
1766
1217
  user-select: none;
1767
1218
  }
1768
1219
  .elb-explorer-tab:hover {
1769
- color: var(--color-text-label);
1220
+ color: var(--fg);
1770
1221
  }
1771
1222
  .elb-explorer-tab--active {
1772
- color: #01b5e2;
1773
- border-bottom-color: #01b5e2;
1223
+ color: var(--link);
1224
+ border-bottom-color: var(--primary);
1774
1225
  }
1775
1226
  .elb-explorer-tab-actions {
1776
1227
  margin-left: auto;
@@ -1785,14 +1236,1812 @@ html[data-theme=dark] .shiki span {
1785
1236
  .elb-explorer-traffic-light {
1786
1237
  width: 0.75rem;
1787
1238
  height: 0.75rem;
1788
- border-radius: 50%;
1239
+ border-radius: var(--radius-full);
1240
+ background-color: var(--border-strong);
1241
+ }
1242
+ @layer components {
1243
+ .elb-btn {
1244
+ box-sizing: border-box;
1245
+ display: inline-flex;
1246
+ align-items: center;
1247
+ justify-content: center;
1248
+ gap: 6px;
1249
+ font-family: var(--type-body-family);
1250
+ font-weight: 600;
1251
+ font-size: var(--type-body-size);
1252
+ line-height: var(--type-body-line-height);
1253
+ padding: 12px 24px;
1254
+ border-radius: var(--radius-md);
1255
+ border: 1px solid transparent;
1256
+ cursor: pointer;
1257
+ text-decoration: none;
1258
+ transition: border-color var(--motion) var(--ease), filter var(--motion) var(--ease);
1259
+ }
1260
+ .elb-btn:hover {
1261
+ text-decoration: none;
1262
+ }
1263
+ .elb-btn--primary {
1264
+ background: var(--primary);
1265
+ color: var(--on-primary);
1266
+ }
1267
+ .elb-btn--primary:hover {
1268
+ filter: brightness(1.08);
1269
+ color: var(--on-primary);
1270
+ }
1271
+ .elb-btn--secondary {
1272
+ background: var(--surface);
1273
+ color: var(--fg);
1274
+ border-color: var(--border);
1275
+ }
1276
+ .elb-btn--secondary:hover {
1277
+ border-color: var(--primary);
1278
+ color: var(--fg);
1279
+ }
1280
+ .elb-btn--block {
1281
+ width: 100%;
1282
+ }
1283
+ }
1284
+ @layer components {
1285
+ .elb-code-inline {
1286
+ font-family: var(--font-mono);
1287
+ font-size: 0.88em;
1288
+ background: var(--surface-2);
1289
+ border: 1px solid var(--border);
1290
+ padding: 0.1em 0.4em;
1291
+ border-radius: var(--radius-sm);
1292
+ color: var(--fg);
1293
+ }
1294
+ }
1295
+ @layer components {
1296
+ .elb-legend {
1297
+ display: flex;
1298
+ flex-wrap: wrap;
1299
+ gap: 14px;
1300
+ font-family: var(--font-viz-mono);
1301
+ font-size: 11px;
1302
+ color: var(--viz-fg-2);
1303
+ background: var(--viz-bg);
1304
+ padding: 12px 16px;
1305
+ border-radius: var(--radius-lg);
1306
+ }
1307
+ .elb-legend__item {
1308
+ display: flex;
1309
+ align-items: center;
1310
+ gap: 6px;
1311
+ }
1312
+ .elb-legend__swatch {
1313
+ display: inline-block;
1314
+ width: 9px;
1315
+ height: 9px;
1316
+ border-radius: 2px;
1317
+ }
1318
+ }
1319
+ @layer components {
1320
+ .elb-icon {
1321
+ display: inline-block;
1322
+ flex: none;
1323
+ vertical-align: middle;
1324
+ }
1325
+ .elb-icon--check {
1326
+ color: var(--primary);
1327
+ }
1328
+ }
1329
+ @layer components {
1330
+ .elb-eyebrow {
1331
+ margin: 0;
1332
+ color: var(--link);
1333
+ font-family: var(--type-eyebrow-family);
1334
+ font-size: var(--type-eyebrow-size);
1335
+ line-height: var(--type-eyebrow-line-height);
1336
+ font-weight: var(--type-eyebrow-weight);
1337
+ letter-spacing: var(--type-eyebrow-tracking);
1338
+ text-transform: uppercase;
1339
+ }
1340
+ .elb-eyebrow--label {
1341
+ font-family: var(--type-label-family);
1342
+ font-size: var(--type-label-size);
1343
+ line-height: var(--type-label-line-height);
1344
+ font-weight: var(--type-label-weight);
1345
+ letter-spacing: var(--type-label-tracking);
1346
+ }
1347
+ .elb-eyebrow--muted {
1348
+ color: var(--fg-3);
1349
+ }
1350
+ }
1351
+ @layer components {
1352
+ .elb-stat {
1353
+ box-sizing: border-box;
1354
+ display: flex;
1355
+ flex-direction: column;
1356
+ gap: 6px;
1357
+ padding: 16px;
1358
+ background: var(--surface-2);
1359
+ border: 1px solid var(--border);
1360
+ border-radius: var(--radius-faq);
1361
+ }
1362
+ .elb-stat__value {
1363
+ display: flex;
1364
+ color: var(--primary);
1365
+ font-family: var(--type-display-family);
1366
+ font-size: 32px;
1367
+ line-height: 1;
1368
+ font-weight: var(--type-display-weight);
1369
+ letter-spacing: -0.03em;
1370
+ }
1371
+ .elb-stat__label {
1372
+ margin: 0;
1373
+ color: var(--fg-2);
1374
+ font-family: var(--type-small-family);
1375
+ font-size: var(--type-small-size);
1376
+ line-height: var(--type-small-line-height);
1377
+ font-weight: 400;
1378
+ }
1379
+ }
1380
+ @layer components {
1381
+ .elb-text {
1382
+ margin: 0;
1383
+ color: var(--fg-2);
1384
+ font-family: var(--type-body-family);
1385
+ font-size: var(--type-body-size);
1386
+ line-height: var(--type-body-line-height);
1387
+ font-weight: var(--type-body-weight);
1388
+ text-wrap: pretty;
1389
+ }
1390
+ .elb-text--lg {
1391
+ font-family: var(--type-body-lg-family);
1392
+ font-size: var(--type-body-lg-size);
1393
+ line-height: var(--type-body-lg-line-height);
1394
+ font-weight: var(--type-body-lg-weight);
1395
+ }
1396
+ .elb-text--fg {
1397
+ color: var(--fg);
1398
+ }
1789
1399
  }
1790
- .elb-explorer-traffic-light--red {
1791
- background-color: #ff5f56;
1400
+ @layer components {
1401
+ .elb-text-link {
1402
+ color: var(--link);
1403
+ font-weight: 500;
1404
+ text-decoration: none;
1405
+ transition: color var(--motion) var(--ease);
1406
+ }
1407
+ .elb-text-link:hover {
1408
+ text-decoration: underline;
1409
+ }
1410
+ .elb-text-link--muted {
1411
+ color: var(--fg-2);
1412
+ }
1413
+ .elb-text-link--muted:hover {
1414
+ color: var(--fg);
1415
+ }
1792
1416
  }
1793
- .elb-explorer-traffic-light--yellow {
1794
- background-color: #ffbd2e;
1417
+ @layer components {
1418
+ .elb-card {
1419
+ position: relative;
1420
+ box-sizing: border-box;
1421
+ display: flex;
1422
+ flex-direction: column;
1423
+ gap: var(--space-3-5);
1424
+ min-width: 0;
1425
+ color: var(--fg);
1426
+ background: var(--surface);
1427
+ border: 1px solid var(--border);
1428
+ border-radius: var(--radius-lg);
1429
+ transition: border-color var(--motion) var(--ease);
1430
+ }
1431
+ .elb-card--pad-sm {
1432
+ padding: var(--card-pad-sm);
1433
+ }
1434
+ .elb-card--pad-md {
1435
+ padding: var(--card-pad);
1436
+ }
1437
+ .elb-card--pad-lg {
1438
+ padding: 32px;
1439
+ }
1440
+ .elb-card--radius-xl {
1441
+ border-radius: var(--radius-xl);
1442
+ }
1443
+ .elb-card--hover:not(.elb-card--highlight):hover {
1444
+ border-color: color-mix(in srgb, var(--primary) 50%, var(--border));
1445
+ }
1446
+ .elb-card--highlight {
1447
+ border-color: var(--primary);
1448
+ box-shadow: var(--plan-highlight);
1449
+ }
1450
+ .elb-card--glow {
1451
+ overflow: hidden;
1452
+ }
1453
+ .elb-card--glow::after {
1454
+ content: "";
1455
+ position: absolute;
1456
+ right: -120px;
1457
+ top: -160px;
1458
+ width: 360px;
1459
+ height: 360px;
1460
+ background:
1461
+ radial-gradient(
1462
+ closest-side,
1463
+ var(--glow),
1464
+ transparent 72%);
1465
+ pointer-events: none;
1466
+ }
1467
+ .elb-card--glow > * {
1468
+ position: relative;
1469
+ z-index: var(--z-raised);
1470
+ }
1795
1471
  }
1796
- .elb-explorer-traffic-light--green {
1797
- background-color: #27c93f;
1472
+ @layer components {
1473
+ .elb-cmd {
1474
+ display: inline-flex;
1475
+ align-items: center;
1476
+ gap: var(--space-3);
1477
+ padding: 12px 18px;
1478
+ color: var(--fg);
1479
+ background: var(--surface);
1480
+ border: 1px solid var(--border);
1481
+ border-radius: var(--radius-md);
1482
+ font-family: var(--type-code-command-family);
1483
+ font-size: var(--type-code-command-size);
1484
+ line-height: var(--type-code-command-line-height);
1485
+ font-weight: var(--type-code-command-weight);
1486
+ cursor: pointer;
1487
+ transition: border-color var(--motion) var(--ease);
1488
+ }
1489
+ .elb-cmd:hover {
1490
+ border-color: var(--primary);
1491
+ }
1492
+ .elb-cmd__prompt {
1493
+ color: var(--fg-3);
1494
+ }
1495
+ .elb-cmd__icon {
1496
+ display: inline-flex;
1497
+ color: var(--fg-3);
1498
+ }
1499
+ .elb-cmd__icon--done {
1500
+ color: var(--primary);
1501
+ }
1502
+ .elb-cmd__status {
1503
+ position: absolute;
1504
+ width: 1px;
1505
+ height: 1px;
1506
+ margin: -1px;
1507
+ padding: 0;
1508
+ overflow: hidden;
1509
+ clip-path: inset(50%);
1510
+ white-space: nowrap;
1511
+ border: 0;
1512
+ }
1513
+ }
1514
+ @layer components {
1515
+ .elb-checklist {
1516
+ display: flex;
1517
+ flex-wrap: wrap;
1518
+ gap: 10px 28px;
1519
+ margin: 0;
1520
+ padding: 0;
1521
+ list-style: none;
1522
+ color: var(--fg-2);
1523
+ font-family: var(--type-ui-family);
1524
+ font-size: var(--type-ui-size);
1525
+ line-height: var(--type-ui-line-height);
1526
+ font-weight: 400;
1527
+ }
1528
+ .elb-checklist--center {
1529
+ justify-content: center;
1530
+ }
1531
+ .elb-checklist--stack {
1532
+ flex-direction: column;
1533
+ flex-wrap: nowrap;
1534
+ gap: 9px;
1535
+ }
1536
+ .elb-checklist__item {
1537
+ display: flex;
1538
+ align-items: center;
1539
+ gap: var(--space-2);
1540
+ }
1541
+ .elb-checklist--stack > .elb-checklist__item {
1542
+ align-items: flex-start;
1543
+ gap: 10px;
1544
+ }
1545
+ .elb-checklist--stack > .elb-checklist__item > .elb-icon {
1546
+ margin-top: 4px;
1547
+ }
1548
+ }
1549
+ @layer components {
1550
+ .elb-sh {
1551
+ display: flex;
1552
+ flex-direction: column;
1553
+ max-width: 760px;
1554
+ margin: 0;
1555
+ }
1556
+ .elb-sh > .elb-eyebrow {
1557
+ margin-bottom: 16px;
1558
+ }
1559
+ .elb-sh--center {
1560
+ align-items: center;
1561
+ margin: 0 auto;
1562
+ text-align: center;
1563
+ }
1564
+ .elb-sh__title {
1565
+ margin: 0;
1566
+ color: var(--fg);
1567
+ text-wrap: balance;
1568
+ }
1569
+ .elb-sh__title--display {
1570
+ max-width: 20ch;
1571
+ font-family: var(--type-display-family);
1572
+ font-size: clamp(38px, 6vw, var(--type-display-size));
1573
+ line-height: var(--type-display-line-height);
1574
+ font-weight: var(--type-display-weight);
1575
+ letter-spacing: var(--type-display-tracking);
1576
+ }
1577
+ .elb-sh__title--lg {
1578
+ font-family: var(--type-heading-lg-family);
1579
+ font-size: clamp(28px, 3.6vw, var(--type-heading-lg-size));
1580
+ line-height: var(--type-heading-lg-line-height);
1581
+ font-weight: var(--type-heading-lg-weight);
1582
+ letter-spacing: var(--type-heading-lg-tracking);
1583
+ }
1584
+ .elb-sh__title--md {
1585
+ font-family: var(--type-heading-md-family);
1586
+ font-size: clamp(26px, 3.2vw, var(--type-heading-md-size));
1587
+ line-height: var(--type-heading-md-line-height);
1588
+ font-weight: var(--type-heading-md-weight);
1589
+ letter-spacing: var(--type-heading-md-tracking);
1590
+ }
1591
+ .elb-sh__highlight {
1592
+ color: var(--primary);
1593
+ }
1594
+ .elb-sh__lead {
1595
+ margin: 14px 0 0;
1596
+ color: var(--fg-2);
1597
+ font-family: var(--type-lead-family);
1598
+ font-size: 18px;
1599
+ line-height: var(--type-lead-line-height);
1600
+ font-weight: var(--type-lead-weight);
1601
+ }
1602
+ .elb-sh__lead--hero {
1603
+ max-width: 58ch;
1604
+ font-size: clamp(18px, 2vw, var(--type-lead-size));
1605
+ }
1606
+ }
1607
+ @layer components {
1608
+ .elb-problem-card {
1609
+ gap: var(--space-2);
1610
+ }
1611
+ .elb-problem-card__title {
1612
+ display: flex;
1613
+ align-items: baseline;
1614
+ gap: var(--space-3);
1615
+ margin: 0;
1616
+ color: var(--fg);
1617
+ font-family: var(--type-title-card-family);
1618
+ font-size: var(--type-title-card-size);
1619
+ line-height: var(--type-title-card-line-height);
1620
+ font-weight: var(--type-title-card-weight);
1621
+ }
1622
+ .elb-problem-card__number {
1623
+ color: var(--link);
1624
+ font-family: var(--type-code-step-family);
1625
+ font-size: var(--type-code-step-size);
1626
+ line-height: var(--type-code-step-line-height);
1627
+ font-weight: var(--type-code-step-weight);
1628
+ }
1629
+ .elb-problem-card__text {
1630
+ margin: 0;
1631
+ color: var(--fg-2);
1632
+ font-family: var(--type-body-family);
1633
+ font-size: var(--type-body-size);
1634
+ line-height: var(--type-body-line-height);
1635
+ font-weight: var(--type-body-weight);
1636
+ }
1637
+ }
1638
+ @layer components {
1639
+ .elb-feature {
1640
+ display: grid;
1641
+ grid-template-columns: 20px minmax(0, 1fr);
1642
+ gap: var(--space-3-5);
1643
+ align-items: start;
1644
+ }
1645
+ .elb-feature > .elb-icon {
1646
+ margin-top: 3px;
1647
+ }
1648
+ .elb-feature__title {
1649
+ margin: 0 0 var(--space-2);
1650
+ color: var(--fg);
1651
+ font-family: var(--type-title-item-family);
1652
+ font-size: var(--type-title-item-size);
1653
+ line-height: var(--type-title-item-line-height);
1654
+ font-weight: var(--type-title-item-weight);
1655
+ }
1656
+ .elb-feature__text {
1657
+ margin: 0 0 var(--space-2);
1658
+ color: var(--fg-2);
1659
+ font-family: var(--type-body-family);
1660
+ font-size: var(--type-body-size);
1661
+ line-height: var(--type-body-line-height);
1662
+ font-weight: var(--type-body-weight);
1663
+ text-wrap: pretty;
1664
+ }
1665
+ .elb-feature__link {
1666
+ font-family: var(--type-small-family);
1667
+ font-size: var(--type-small-size);
1668
+ line-height: var(--type-small-line-height);
1669
+ font-weight: 500;
1670
+ }
1671
+ }
1672
+ @layer components {
1673
+ .elb-faq {
1674
+ box-sizing: border-box;
1675
+ max-width: 900px;
1676
+ color: var(--fg);
1677
+ background: var(--surface);
1678
+ border: 1px solid var(--border);
1679
+ border-radius: var(--radius-faq);
1680
+ }
1681
+ .elb-faq + .elb-faq {
1682
+ margin-top: var(--space-3);
1683
+ }
1684
+ .elb-faq__question {
1685
+ display: flex;
1686
+ justify-content: space-between;
1687
+ gap: 16px;
1688
+ padding: 18px 22px;
1689
+ list-style: none;
1690
+ cursor: pointer;
1691
+ color: var(--fg);
1692
+ font-family: var(--type-body-lg-family);
1693
+ font-size: var(--type-body-lg-size);
1694
+ line-height: var(--type-body-lg-line-height);
1695
+ font-weight: 600;
1696
+ transition: color var(--motion) var(--ease);
1697
+ }
1698
+ .elb-faq__question::-webkit-details-marker {
1699
+ display: none;
1700
+ }
1701
+ .elb-faq__question::after {
1702
+ content: "+";
1703
+ flex: none;
1704
+ color: var(--fg-3);
1705
+ font-size: 22px;
1706
+ line-height: 1;
1707
+ }
1708
+ .elb-faq__question:hover {
1709
+ color: var(--link);
1710
+ }
1711
+ .elb-faq[open] > .elb-faq__question::after {
1712
+ content: "\2212";
1713
+ }
1714
+ .elb-faq__answer {
1715
+ display: flex;
1716
+ flex-direction: column;
1717
+ gap: var(--space-3);
1718
+ padding: 16px 22px 20px;
1719
+ color: var(--fg-2);
1720
+ border-top: 1px solid var(--border);
1721
+ font-family: var(--type-body-family);
1722
+ font-size: var(--type-body-size);
1723
+ line-height: var(--type-body-line-height);
1724
+ font-weight: var(--type-body-weight);
1725
+ }
1726
+ .elb-faq__answer > p {
1727
+ max-width: 72ch;
1728
+ margin: 0;
1729
+ }
1730
+ }
1731
+ @layer components {
1732
+ .elb-plan__title {
1733
+ margin: 0;
1734
+ color: var(--fg);
1735
+ font-family: var(--type-title-plan-family);
1736
+ font-size: var(--type-title-plan-size);
1737
+ line-height: var(--type-title-plan-line-height);
1738
+ font-weight: var(--type-title-plan-weight);
1739
+ letter-spacing: var(--type-title-plan-tracking);
1740
+ }
1741
+ .elb-plan__text {
1742
+ flex: 1;
1743
+ margin: 0;
1744
+ color: var(--fg-2);
1745
+ font-family: var(--type-body-family);
1746
+ font-size: var(--type-body-size);
1747
+ line-height: var(--type-body-line-height);
1748
+ font-weight: var(--type-body-weight);
1749
+ }
1750
+ }
1751
+ @layer components {
1752
+ .elb-case-card__title {
1753
+ margin: 0;
1754
+ color: var(--fg);
1755
+ font-family: var(--type-title-plan-family);
1756
+ font-size: var(--type-title-plan-size);
1757
+ line-height: var(--type-title-plan-line-height);
1758
+ font-weight: var(--type-title-plan-weight);
1759
+ letter-spacing: var(--type-title-plan-tracking);
1760
+ text-wrap: balance;
1761
+ }
1762
+ .elb-case-card__text {
1763
+ margin: 0;
1764
+ color: var(--fg-2);
1765
+ font-family: var(--type-body-family);
1766
+ font-size: var(--type-body-size);
1767
+ line-height: var(--type-body-line-height);
1768
+ font-weight: var(--type-body-weight);
1769
+ }
1770
+ .elb-case-card__stats {
1771
+ display: grid;
1772
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
1773
+ gap: 10px;
1774
+ }
1775
+ }
1776
+ @layer components {
1777
+ .elb-highlight-card__title {
1778
+ margin: 0;
1779
+ color: var(--fg);
1780
+ font-family: var(--type-kicker-lg-family);
1781
+ font-size: clamp(22px, 2.4vw, var(--type-kicker-lg-size));
1782
+ line-height: var(--type-kicker-lg-line-height);
1783
+ font-weight: var(--type-kicker-lg-weight);
1784
+ letter-spacing: var(--type-kicker-lg-tracking);
1785
+ text-wrap: balance;
1786
+ }
1787
+ .elb-highlight-card__text {
1788
+ flex: 1;
1789
+ margin: 0;
1790
+ color: var(--fg-2);
1791
+ font-family: var(--type-body-lg-family);
1792
+ font-size: var(--type-body-lg-size);
1793
+ line-height: var(--type-body-lg-line-height);
1794
+ font-weight: var(--type-body-lg-weight);
1795
+ text-wrap: pretty;
1796
+ }
1797
+ .elb-highlight-card__cta {
1798
+ align-self: flex-start;
1799
+ margin-top: 6px;
1800
+ padding: 10px 18px;
1801
+ background: var(--surface-2);
1802
+ font-family: var(--type-ui-family);
1803
+ font-size: var(--type-ui-size);
1804
+ line-height: var(--type-ui-line-height);
1805
+ font-weight: 600;
1806
+ }
1807
+ .elb-highlight-card__cta:hover {
1808
+ border-color: var(--primary);
1809
+ color: var(--fg);
1810
+ }
1811
+ }
1812
+ @layer components {
1813
+ .elb-section {
1814
+ box-sizing: border-box;
1815
+ padding: var(--section-y) 0;
1816
+ color: var(--fg);
1817
+ background: var(--bg);
1818
+ border-top: 1px solid var(--border);
1819
+ font-family: var(--type-body-family);
1820
+ font-size: var(--type-body-size);
1821
+ line-height: var(--type-body-line-height);
1822
+ }
1823
+ .elb-section--alt {
1824
+ background: var(--bg-2);
1825
+ }
1826
+ .elb-section__inner {
1827
+ box-sizing: border-box;
1828
+ display: flex;
1829
+ flex-direction: column;
1830
+ gap: var(--heading-gap);
1831
+ max-width: var(--container);
1832
+ margin: 0 auto;
1833
+ padding: 0 var(--gutter);
1834
+ }
1835
+ }
1836
+ @layer components {
1837
+ .elb-card-grid {
1838
+ --elb-card-grid-min: 280px;
1839
+ display: grid;
1840
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--elb-card-grid-min)), 1fr));
1841
+ gap: var(--space-5);
1842
+ }
1843
+ .elb-card-grid--min-280 {
1844
+ --elb-card-grid-min: 280px;
1845
+ }
1846
+ .elb-card-grid--min-300 {
1847
+ --elb-card-grid-min: 300px;
1848
+ }
1849
+ .elb-card-grid--min-420 {
1850
+ --elb-card-grid-min: 420px;
1851
+ }
1852
+ .elb-card-grid--min-440 {
1853
+ --elb-card-grid-min: 440px;
1854
+ }
1855
+ .elb-card-grid--features {
1856
+ gap: var(--heading-gap) 48px;
1857
+ }
1858
+ }
1859
+ @layer components {
1860
+ .elb-split {
1861
+ display: grid;
1862
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
1863
+ row-gap: 24px;
1864
+ column-gap: var(--split-gap);
1865
+ align-items: start;
1866
+ }
1867
+ .elb-split__start,
1868
+ .elb-split__end {
1869
+ min-width: 0;
1870
+ }
1871
+ .elb-split--aside {
1872
+ display: flex;
1873
+ flex-wrap: wrap;
1874
+ row-gap: 48px;
1875
+ align-items: flex-start;
1876
+ }
1877
+ .elb-split--aside > .elb-split__start {
1878
+ flex: 1 1 320px;
1879
+ max-width: 440px;
1880
+ }
1881
+ .elb-split--aside > .elb-split__end {
1882
+ flex: 2 1 600px;
1883
+ }
1884
+ }
1885
+ @layer components {
1886
+ .elb-cluster {
1887
+ display: flex;
1888
+ flex-wrap: wrap;
1889
+ align-items: center;
1890
+ gap: var(--space-3);
1891
+ }
1892
+ .elb-cluster--links {
1893
+ gap: var(--space-2) 24px;
1894
+ }
1895
+ .elb-cluster--center {
1896
+ justify-content: center;
1897
+ }
1898
+ }
1899
+ @layer components {
1900
+ .elb-hero {
1901
+ position: relative;
1902
+ box-sizing: border-box;
1903
+ overflow: hidden;
1904
+ padding: 104px 0 var(--section-y);
1905
+ color: var(--fg);
1906
+ background: var(--bg);
1907
+ font-family: var(--type-body-family);
1908
+ font-size: var(--type-body-size);
1909
+ line-height: var(--type-body-line-height);
1910
+ }
1911
+ .elb-hero::before {
1912
+ content: "";
1913
+ position: absolute;
1914
+ left: 50%;
1915
+ top: -120px;
1916
+ width: min(1000px, 140%);
1917
+ height: 520px;
1918
+ translate: -50% 0;
1919
+ background:
1920
+ radial-gradient(
1921
+ closest-side,
1922
+ var(--glow),
1923
+ transparent 75%);
1924
+ pointer-events: none;
1925
+ }
1926
+ .elb-hero__inner {
1927
+ position: relative;
1928
+ box-sizing: border-box;
1929
+ max-width: var(--container);
1930
+ margin: 0 auto;
1931
+ padding: 0 var(--gutter);
1932
+ text-align: center;
1933
+ }
1934
+ .elb-hero__actions {
1935
+ display: flex;
1936
+ flex-wrap: wrap;
1937
+ justify-content: center;
1938
+ gap: var(--space-3);
1939
+ margin-top: 34px;
1940
+ }
1941
+ .elb-hero__proof {
1942
+ display: flex;
1943
+ justify-content: center;
1944
+ margin-top: 34px;
1945
+ }
1946
+ .elb-hero__demo {
1947
+ margin-top: 56px;
1948
+ text-align: left;
1949
+ }
1950
+ }
1951
+ @layer components {
1952
+ .elb-viz {
1953
+ box-sizing: border-box;
1954
+ width: 100%;
1955
+ min-width: 0;
1956
+ color: var(--viz-fg);
1957
+ background: var(--viz-bg);
1958
+ border-radius: var(--radius-xl);
1959
+ font-family: var(--type-viz-body-family);
1960
+ font-size: var(--type-viz-body-size);
1961
+ line-height: var(--type-viz-body-line-height);
1962
+ font-weight: var(--type-viz-body-weight);
1963
+ text-align: left;
1964
+ container-type: inline-size;
1965
+ -webkit-font-smoothing: antialiased;
1966
+ }
1967
+ .elb-viz *,
1968
+ .elb-viz *::before,
1969
+ .elb-viz *::after {
1970
+ box-sizing: border-box;
1971
+ }
1972
+ .elb-viz--hero {
1973
+ border: 1px solid var(--border);
1974
+ }
1975
+ .elb-viz--mapping {
1976
+ overflow: hidden;
1977
+ border: 1px solid var(--viz-border);
1978
+ }
1979
+ .elb-viz__body {
1980
+ min-width: 0;
1981
+ }
1982
+ .elb-viz--hero > .elb-viz__body {
1983
+ padding: 16px;
1984
+ }
1985
+ .elb-viz--teaser > .elb-viz__body {
1986
+ padding: 24px;
1987
+ }
1988
+ @container (max-width: 639px) {
1989
+ .elb-viz--hero > .elb-viz__body {
1990
+ padding: 12px;
1991
+ }
1992
+ .elb-viz--teaser > .elb-viz__body {
1993
+ padding: 16px;
1994
+ }
1995
+ }
1996
+ }
1997
+ @layer components {
1998
+ .elb-viz-tok {
1999
+ border-radius: var(--radius-xs);
2000
+ transition: background var(--motion) var(--ease);
2001
+ }
2002
+ .elb-viz-tok--tag {
2003
+ color: var(--viz-tag);
2004
+ }
2005
+ .elb-viz-tok--attr,
2006
+ .elb-viz-tok--key {
2007
+ color: var(--event-globals);
2008
+ }
2009
+ .elb-viz-tok--punct {
2010
+ color: var(--viz-punct);
2011
+ }
2012
+ .elb-viz-tok--str {
2013
+ color: var(--viz-string);
2014
+ }
2015
+ .elb-viz-tok--text {
2016
+ color: var(--viz-fg);
2017
+ }
2018
+ .elb-viz-tok--kw,
2019
+ .elb-viz-tok--fn {
2020
+ color: var(--event-action);
2021
+ }
2022
+ .elb-viz-tok--num {
2023
+ color: var(--viz-number);
2024
+ }
2025
+ .elb-viz-tok--value {
2026
+ color: var(--event-entity);
2027
+ }
2028
+ .elb-viz-tok--mark-entity {
2029
+ background: color-mix(in srgb, var(--event-entity) 16%, transparent);
2030
+ }
2031
+ .elb-viz-tok--mark-action {
2032
+ background: color-mix(in srgb, var(--event-action) 16%, transparent);
2033
+ }
2034
+ .elb-viz-tok--mark-property {
2035
+ background: color-mix(in srgb, var(--event-property) 16%, transparent);
2036
+ }
2037
+ .elb-viz-tok--mark-context {
2038
+ background: color-mix(in srgb, var(--event-context) 16%, transparent);
2039
+ }
2040
+ .elb-viz-tok--mark-globals {
2041
+ background: color-mix(in srgb, var(--event-globals) 16%, transparent);
2042
+ }
2043
+ .elb-viz-line {
2044
+ display: flex;
2045
+ align-items: stretch;
2046
+ transition: background var(--motion) var(--ease);
2047
+ }
2048
+ .elb-viz-line__bar {
2049
+ flex: none;
2050
+ width: 3px;
2051
+ background: transparent;
2052
+ transition: background var(--motion) var(--ease);
2053
+ }
2054
+ .elb-viz-line__bar--entity {
2055
+ background: var(--event-entity);
2056
+ }
2057
+ .elb-viz-line__bar--action {
2058
+ background: var(--event-action);
2059
+ }
2060
+ .elb-viz-line__bar--property {
2061
+ background: var(--event-property);
2062
+ }
2063
+ .elb-viz-line__bar--context {
2064
+ background: var(--event-context);
2065
+ }
2066
+ .elb-viz-line__bar--globals {
2067
+ background: var(--event-globals);
2068
+ }
2069
+ .elb-viz-line__number {
2070
+ flex: none;
2071
+ width: 30px;
2072
+ padding-right: 14px;
2073
+ color: var(--viz-line-number);
2074
+ text-align: right;
2075
+ }
2076
+ .elb-viz-line__code {
2077
+ min-width: 0;
2078
+ padding-right: 16px;
2079
+ white-space: pre-wrap;
2080
+ word-break: break-all;
2081
+ }
2082
+ .elb-viz-caret {
2083
+ --elb-viz-caret: 1;
2084
+ display: inline-block;
2085
+ width: 2px;
2086
+ height: 1.15em;
2087
+ margin-left: 1px;
2088
+ vertical-align: -0.2em;
2089
+ background: var(--primary);
2090
+ opacity: var(--elb-viz-caret);
2091
+ }
2092
+ }
2093
+ @layer components {
2094
+ .elb-viz-pill {
2095
+ --elb-viz-pill: var(--event-entity);
2096
+ display: inline-block;
2097
+ padding: 0 7px;
2098
+ color: var(--viz-bg);
2099
+ background: var(--elb-viz-pill);
2100
+ border: 1.5px solid var(--elb-viz-pill);
2101
+ border-radius: var(--radius-xs);
2102
+ font-family: var(--type-viz-code-family);
2103
+ font-size: 10.5px;
2104
+ line-height: 16px;
2105
+ font-weight: 500;
2106
+ white-space: nowrap;
2107
+ }
2108
+ .elb-viz-pill--entity {
2109
+ --elb-viz-pill: var(--event-entity);
2110
+ }
2111
+ .elb-viz-pill--action {
2112
+ --elb-viz-pill: var(--event-action);
2113
+ }
2114
+ .elb-viz-pill--property {
2115
+ --elb-viz-pill: var(--event-property);
2116
+ }
2117
+ .elb-viz-pill--context {
2118
+ --elb-viz-pill: var(--event-context);
2119
+ }
2120
+ .elb-viz-pill--globals {
2121
+ --elb-viz-pill: var(--event-globals);
2122
+ }
2123
+ .elb-viz-pill--outline {
2124
+ padding: 0 6px;
2125
+ color: var(--elb-viz-pill);
2126
+ background: var(--viz-bg);
2127
+ }
2128
+ }
2129
+ @layer components {
2130
+ .elb-viz-thumb {
2131
+ display: block;
2132
+ }
2133
+ .elb-viz-thumb__legs,
2134
+ .elb-viz-thumb__seam,
2135
+ .elb-viz-thumb__shine,
2136
+ .elb-viz-thumb__wave,
2137
+ .elb-viz-thumb__score {
2138
+ fill: none;
2139
+ }
2140
+ .elb-viz-thumb--bug .elb-viz-thumb__ground {
2141
+ fill: var(--viz-fg);
2142
+ }
2143
+ .elb-viz-thumb--bug .elb-viz-thumb__shadow {
2144
+ fill: var(--viz-fg-2);
2145
+ }
2146
+ .elb-viz-thumb--bug .elb-viz-thumb__ink {
2147
+ fill: var(--viz-bg);
2148
+ }
2149
+ .elb-viz-thumb--bug .elb-viz-thumb__legs,
2150
+ .elb-viz-thumb--bug .elb-viz-thumb__seam {
2151
+ stroke: var(--viz-bg);
2152
+ }
2153
+ .elb-viz-thumb--bug .elb-viz-thumb__eye {
2154
+ fill: var(--viz-fg);
2155
+ }
2156
+ .elb-viz-thumb--bug .elb-viz-thumb__shell {
2157
+ fill: var(--viz-number);
2158
+ }
2159
+ .elb-viz-thumb--bug .elb-viz-thumb__shine {
2160
+ stroke: color-mix(in srgb, var(--viz-number) 60%, var(--viz-fg));
2161
+ }
2162
+ .elb-viz-thumb--tech .elb-viz-thumb__ground {
2163
+ fill: var(--viz-border);
2164
+ }
2165
+ .elb-viz-thumb--tech .elb-viz-thumb__badge {
2166
+ fill: var(--viz-number);
2167
+ }
2168
+ .elb-viz-thumb--tech .elb-viz-thumb__dot {
2169
+ fill: var(--viz-fg);
2170
+ }
2171
+ .elb-viz-thumb--tech .elb-viz-thumb__wave {
2172
+ stroke: var(--viz-fg);
2173
+ }
2174
+ .elb-viz-thumb--food .elb-viz-thumb__ground {
2175
+ fill: var(--viz-fg);
2176
+ }
2177
+ .elb-viz-thumb--food .elb-viz-thumb__plate {
2178
+ fill: var(--viz-fg-2);
2179
+ }
2180
+ .elb-viz-thumb--food .elb-viz-thumb__loaf {
2181
+ fill: var(--viz-number);
2182
+ }
2183
+ .elb-viz-thumb--food .elb-viz-thumb__crust {
2184
+ fill: var(--viz-string);
2185
+ }
2186
+ .elb-viz-thumb--food .elb-viz-thumb__score {
2187
+ stroke: var(--viz-fg);
2188
+ }
2189
+ }
2190
+ @layer components {
2191
+ .elb-viz-table {
2192
+ display: flex;
2193
+ flex: 1 1 400px;
2194
+ flex-direction: column;
2195
+ min-width: 0;
2196
+ overflow: hidden;
2197
+ background: var(--viz-bg);
2198
+ border: 1px solid var(--viz-surface);
2199
+ border-radius: var(--radius-lg);
2200
+ font-family: var(--type-viz-code-family);
2201
+ font-size: var(--type-viz-code-size);
2202
+ }
2203
+ .elb-viz-table__head {
2204
+ display: flex;
2205
+ align-items: center;
2206
+ justify-content: space-between;
2207
+ gap: var(--space-3);
2208
+ padding: 12px 16px;
2209
+ color: var(--viz-fg-2);
2210
+ border-bottom: 1px solid var(--viz-surface);
2211
+ }
2212
+ .elb-viz-table__keyword {
2213
+ color: var(--event-action);
2214
+ }
2215
+ .elb-viz-table__source {
2216
+ color: var(--viz-fg);
2217
+ }
2218
+ .elb-viz-table__live {
2219
+ display: flex;
2220
+ align-items: center;
2221
+ gap: 7px;
2222
+ color: var(--event-entity);
2223
+ }
2224
+ .elb-viz-table__dot {
2225
+ width: 7px;
2226
+ height: 7px;
2227
+ background: var(--event-entity);
2228
+ border-radius: var(--radius-full);
2229
+ }
2230
+ .elb-viz-table__body {
2231
+ position: relative;
2232
+ flex: 1;
2233
+ min-height: 300px;
2234
+ }
2235
+ .elb-viz-table__scroll {
2236
+ position: absolute;
2237
+ inset: 0;
2238
+ overflow-x: auto;
2239
+ overflow-y: hidden;
2240
+ }
2241
+ .elb-viz-table__rows {
2242
+ min-width: 454px;
2243
+ }
2244
+ .elb-viz-table__row {
2245
+ --elb-viz-row-tint: 0;
2246
+ --elb-viz-row-opacity: 1;
2247
+ --elb-viz-row-shift: 0;
2248
+ display: grid;
2249
+ grid-template-columns: 38px 166px minmax(250px, 1fr);
2250
+ border-bottom: 1px solid var(--viz-surface);
2251
+ line-height: 1.4;
2252
+ }
2253
+ .elb-viz-table__row--header {
2254
+ background: var(--viz-surface);
2255
+ border-bottom-color: var(--viz-border);
2256
+ }
2257
+ .elb-viz-table__row--event {
2258
+ background: color-mix(in srgb, var(--event-entity) calc(var(--elb-viz-row-tint) * 1%), transparent);
2259
+ opacity: var(--elb-viz-row-opacity);
2260
+ transform: translateX(calc(var(--elb-viz-row-shift) * 1px));
2261
+ }
2262
+ .elb-viz-table__cell {
2263
+ min-width: 0;
2264
+ padding: 10px;
2265
+ overflow: hidden;
2266
+ color: var(--viz-fg);
2267
+ text-overflow: ellipsis;
2268
+ white-space: nowrap;
2269
+ border-right: 1px solid var(--viz-surface);
2270
+ }
2271
+ .elb-viz-table__cell:last-child {
2272
+ border-right: 0;
2273
+ }
2274
+ .elb-viz-table__row--header > .elb-viz-table__cell {
2275
+ display: flex;
2276
+ flex-direction: column;
2277
+ gap: 1px;
2278
+ padding: 8px 10px;
2279
+ }
2280
+ .elb-viz-table__cell--n {
2281
+ color: var(--viz-comment);
2282
+ text-align: right;
2283
+ }
2284
+ .elb-viz-table__row--header > .elb-viz-table__cell--n {
2285
+ font-size: 11px;
2286
+ }
2287
+ .elb-viz-table__row--skeleton > .elb-viz-table__cell--n {
2288
+ color: var(--viz-line-number);
2289
+ }
2290
+ .elb-viz-table__type {
2291
+ color: var(--viz-comment);
2292
+ font-size: 10px;
2293
+ }
2294
+ .elb-viz-table__json {
2295
+ color: var(--viz-punct);
2296
+ }
2297
+ .elb-viz-table__json-key {
2298
+ color: var(--event-globals);
2299
+ }
2300
+ .elb-viz-table__json-value {
2301
+ color: var(--viz-string);
2302
+ }
2303
+ .elb-viz-table__bar {
2304
+ display: block;
2305
+ width: 75%;
2306
+ height: 8px;
2307
+ margin: 5px 0;
2308
+ background: var(--viz-surface);
2309
+ border-radius: var(--radius-xs);
2310
+ }
2311
+ .elb-viz-table__row--skeleton:nth-child(odd) .elb-viz-table__bar:last-child {
2312
+ width: 66%;
2313
+ }
2314
+ @container (max-width: 639px) {
2315
+ .elb-viz-table__scroll {
2316
+ overflow-x: hidden;
2317
+ }
2318
+ .elb-viz-table__rows {
2319
+ min-width: 0;
2320
+ }
2321
+ .elb-viz-table__row {
2322
+ grid-template-columns: minmax(0, 130px) minmax(0, 1fr);
2323
+ }
2324
+ .elb-viz-table__row > .elb-viz-table__cell--n {
2325
+ display: none;
2326
+ }
2327
+ }
2328
+ }
2329
+ @layer components {
2330
+ .elb-viz-mapping {
2331
+ display: flex;
2332
+ flex-direction: column;
2333
+ }
2334
+ .elb-viz-mapping__pick {
2335
+ display: flex;
2336
+ flex-direction: column;
2337
+ gap: 10px;
2338
+ padding: 18px 20px 0;
2339
+ }
2340
+ .elb-viz-mapping__label {
2341
+ color: var(--viz-fg-2);
2342
+ font-family: var(--type-viz-legend-family);
2343
+ font-size: var(--type-viz-legend-size);
2344
+ line-height: var(--type-viz-legend-line-height);
2345
+ letter-spacing: 0.06em;
2346
+ text-transform: uppercase;
2347
+ }
2348
+ .elb-viz-mapping__chips {
2349
+ display: flex;
2350
+ flex-wrap: wrap;
2351
+ gap: var(--space-2);
2352
+ }
2353
+ .elb-viz-mapping__chip {
2354
+ position: relative;
2355
+ display: flex;
2356
+ overflow: hidden;
2357
+ padding: 0;
2358
+ background: transparent;
2359
+ border: 1px solid var(--viz-border);
2360
+ border-radius: var(--radius-md);
2361
+ font-family: var(--type-viz-code-family);
2362
+ font-size: var(--type-viz-chip-size);
2363
+ line-height: var(--type-viz-chip-line-height);
2364
+ cursor: pointer;
2365
+ transition: border-color var(--motion) var(--ease), background var(--motion) var(--ease);
2366
+ }
2367
+ .elb-viz-mapping__chip:hover {
2368
+ border-color: var(--viz-comment);
2369
+ }
2370
+ .elb-viz-mapping__chip--active,
2371
+ .elb-viz-mapping__chip--active:hover {
2372
+ background: color-mix(in srgb, var(--primary) 8%, transparent);
2373
+ border-color: var(--primary);
2374
+ }
2375
+ .elb-viz-mapping__chip-entity {
2376
+ padding: 7px 10px;
2377
+ color: var(--viz-fg);
2378
+ background: color-mix(in srgb, var(--viz-fg) 4%, transparent);
2379
+ }
2380
+ .elb-viz-mapping__chip-action {
2381
+ padding: 7px 10px;
2382
+ color: var(--primary);
2383
+ }
2384
+ .elb-viz-mapping__event {
2385
+ margin: 16px 20px 0;
2386
+ padding: 10px 14px;
2387
+ overflow-x: auto;
2388
+ scrollbar-width: thin;
2389
+ scrollbar-color: var(--viz-border) transparent;
2390
+ background: var(--viz-code-bg);
2391
+ border: 1px solid var(--border);
2392
+ border-radius: var(--radius-md);
2393
+ font-family: var(--type-viz-code-family);
2394
+ font-size: 12.5px;
2395
+ line-height: 1.6;
2396
+ white-space: pre;
2397
+ }
2398
+ .elb-viz-mapping__body {
2399
+ display: flex;
2400
+ flex-direction: column;
2401
+ gap: 10px;
2402
+ padding: 18px 20px 20px;
2403
+ }
2404
+ .elb-viz-mapping__comment {
2405
+ color: var(--viz-comment);
2406
+ font-family: var(--type-viz-code-family);
2407
+ font-size: 12.5px;
2408
+ font-style: italic;
2409
+ }
2410
+ .elb-viz-mapping__cards {
2411
+ display: grid;
2412
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
2413
+ gap: 10px;
2414
+ }
2415
+ .elb-viz-mapping__card {
2416
+ display: flex;
2417
+ flex-direction: column;
2418
+ gap: var(--space-2);
2419
+ min-width: 0;
2420
+ padding: 12px 14px;
2421
+ background: var(--viz-code-bg);
2422
+ border: 1px solid var(--border);
2423
+ border-radius: var(--radius-faq);
2424
+ }
2425
+ .elb-viz-mapping__name {
2426
+ font-size: var(--type-small-size);
2427
+ font-weight: var(--type-small-weight);
2428
+ }
2429
+ .elb-viz-mapping__row {
2430
+ display: flex;
2431
+ align-items: baseline;
2432
+ gap: 10px;
2433
+ font-family: var(--type-viz-code-family);
2434
+ font-size: var(--type-viz-code-size);
2435
+ line-height: var(--type-viz-code-line-height);
2436
+ }
2437
+ .elb-viz-mapping__row--sends {
2438
+ align-items: flex-start;
2439
+ }
2440
+ .elb-viz-mapping__tag {
2441
+ flex: none;
2442
+ width: 58px;
2443
+ color: var(--viz-comment);
2444
+ font-size: 10.5px;
2445
+ }
2446
+ .elb-viz-mapping__rule,
2447
+ .elb-viz-mapping__calls {
2448
+ flex: 1 1 auto;
2449
+ min-width: 0;
2450
+ overflow-x: auto;
2451
+ white-space: pre;
2452
+ scrollbar-width: thin;
2453
+ scrollbar-color: var(--viz-border) transparent;
2454
+ }
2455
+ .elb-viz-mapping__caption {
2456
+ margin: 0;
2457
+ padding: 18px 20px 20px;
2458
+ color: var(--viz-punct);
2459
+ border-top: 1px solid var(--viz-border);
2460
+ font-family: var(--type-viz-body-family);
2461
+ font-size: var(--type-viz-body-size);
2462
+ line-height: 1.6;
2463
+ text-wrap: pretty;
2464
+ }
2465
+ @container (max-width: 639px) {
2466
+ .elb-viz-mapping__pick {
2467
+ padding: 14px 14px 0;
2468
+ }
2469
+ .elb-viz-mapping__event {
2470
+ margin: 14px 14px 0;
2471
+ }
2472
+ .elb-viz-mapping__body,
2473
+ .elb-viz-mapping__caption {
2474
+ padding: 14px;
2475
+ }
2476
+ .elb-viz-mapping__row {
2477
+ flex-direction: column;
2478
+ gap: 2px;
2479
+ }
2480
+ .elb-viz-mapping__rule,
2481
+ .elb-viz-mapping__calls {
2482
+ align-self: stretch;
2483
+ }
2484
+ }
2485
+ }
2486
+ @layer components {
2487
+ .elb-viz-hero {
2488
+ --elb-viz-fade: 1;
2489
+ --elb-viz-card-opacity: 1;
2490
+ --elb-viz-card-offset: 0;
2491
+ --elb-viz-cursor-x: 22;
2492
+ --elb-viz-cursor-y: 11;
2493
+ --elb-viz-cursor-opacity: 0;
2494
+ --elb-viz-ring-scale: 1;
2495
+ --elb-viz-ring-opacity: 0;
2496
+ --elb-viz-press: 1;
2497
+ display: flex;
2498
+ flex-wrap: wrap;
2499
+ gap: 16px;
2500
+ align-items: stretch;
2501
+ }
2502
+ .elb-viz-hero__pane {
2503
+ display: flex;
2504
+ flex: 1.2 1 520px;
2505
+ flex-direction: column;
2506
+ min-width: 0;
2507
+ overflow: hidden;
2508
+ background: var(--viz-code-bg);
2509
+ border: 1px solid var(--viz-surface);
2510
+ border-radius: var(--radius-lg);
2511
+ }
2512
+ .elb-viz-hero__bar {
2513
+ display: flex;
2514
+ align-items: center;
2515
+ gap: var(--space-3-5);
2516
+ padding: 12px 16px;
2517
+ border-bottom: 1px solid var(--viz-surface);
2518
+ }
2519
+ .elb-viz-hero__dots {
2520
+ display: flex;
2521
+ gap: 7px;
2522
+ }
2523
+ .elb-viz-hero__dots > span {
2524
+ width: 10px;
2525
+ height: 10px;
2526
+ background: var(--viz-border);
2527
+ border-radius: var(--radius-full);
2528
+ }
2529
+ .elb-viz-hero__file {
2530
+ color: var(--primary);
2531
+ font-family: var(--type-viz-code-family);
2532
+ font-size: var(--type-viz-code-size);
2533
+ }
2534
+ .elb-viz-hero__code {
2535
+ min-height: 268px;
2536
+ padding: 12px 0 14px;
2537
+ font-family: var(--type-viz-code-family);
2538
+ font-size: 13px;
2539
+ line-height: 1.95;
2540
+ opacity: var(--elb-viz-fade);
2541
+ }
2542
+ .elb-viz-hero__line--on {
2543
+ background: color-mix(in srgb, var(--event-entity) 7%, transparent);
2544
+ }
2545
+ .elb-viz-hero__stage {
2546
+ position: relative;
2547
+ display: flex;
2548
+ flex: 1;
2549
+ align-items: center;
2550
+ justify-content: center;
2551
+ overflow: hidden;
2552
+ padding: 34px 24px 28px;
2553
+ background:
2554
+ repeating-linear-gradient(
2555
+ 45deg,
2556
+ var(--viz-code-bg) 0 8px,
2557
+ var(--viz-bg) 8px 16px);
2558
+ border-top: 1px solid var(--viz-surface);
2559
+ }
2560
+ .elb-viz-hero__card {
2561
+ position: relative;
2562
+ display: flex;
2563
+ gap: var(--space-3-5);
2564
+ width: 100%;
2565
+ max-width: 430px;
2566
+ padding: var(--space-3);
2567
+ background: var(--viz-surface);
2568
+ border: 1.5px solid var(--viz-border);
2569
+ border-radius: var(--radius-faq);
2570
+ opacity: var(--elb-viz-card-opacity);
2571
+ transform: translateY(calc(var(--elb-viz-card-offset) * 1px));
2572
+ }
2573
+ .elb-viz-hero__card--tagged {
2574
+ border-color: var(--event-entity);
2575
+ }
2576
+ .elb-viz-hero__pills {
2577
+ position: absolute;
2578
+ top: -10px;
2579
+ left: 12px;
2580
+ display: flex;
2581
+ gap: 6px;
2582
+ }
2583
+ .elb-viz-hero__thumb {
2584
+ position: relative;
2585
+ flex: none;
2586
+ width: 112px;
2587
+ min-height: 86px;
2588
+ overflow: hidden;
2589
+ background: var(--viz-surface);
2590
+ border-radius: var(--radius-sm);
2591
+ }
2592
+ .elb-viz-hero__thumb > .elb-viz-thumb {
2593
+ position: absolute;
2594
+ inset: 0;
2595
+ width: 100%;
2596
+ height: 100%;
2597
+ }
2598
+ .elb-viz-hero__text {
2599
+ display: flex;
2600
+ flex: 1;
2601
+ flex-direction: column;
2602
+ gap: 4px;
2603
+ min-width: 0;
2604
+ }
2605
+ .elb-viz-hero__kicker {
2606
+ align-self: flex-start;
2607
+ margin-left: -3px;
2608
+ padding: 0 3px;
2609
+ color: var(--viz-fg-2);
2610
+ border-radius: var(--radius-xs);
2611
+ font-family: var(--type-viz-code-family);
2612
+ font-size: 10.5px;
2613
+ letter-spacing: 0.04em;
2614
+ outline: 1.5px solid transparent;
2615
+ }
2616
+ .elb-viz-hero__title {
2617
+ font-size: var(--type-viz-body-size);
2618
+ font-weight: 600;
2619
+ line-height: 1.3;
2620
+ text-wrap: pretty;
2621
+ }
2622
+ .elb-viz-hero__mark {
2623
+ border-radius: var(--radius-xs);
2624
+ outline: 1.5px solid transparent;
2625
+ outline-offset: 1px;
2626
+ }
2627
+ .elb-viz-hero__kicker--on,
2628
+ .elb-viz-hero__mark--on {
2629
+ outline-color: var(--event-property);
2630
+ box-shadow: 0 0 10px 1px color-mix(in srgb, var(--event-property) 55%, transparent);
2631
+ }
2632
+ .elb-viz-hero__foot {
2633
+ display: flex;
2634
+ align-items: center;
2635
+ gap: var(--space-2);
2636
+ margin-top: auto;
2637
+ padding-top: 6px;
2638
+ }
2639
+ .elb-viz-hero__link {
2640
+ position: relative;
2641
+ margin-left: -5px;
2642
+ padding: 1px 5px;
2643
+ color: var(--primary);
2644
+ border-radius: var(--radius-sm);
2645
+ font-family: var(--type-viz-chip-family);
2646
+ font-size: var(--type-viz-chip-size);
2647
+ font-weight: var(--type-viz-chip-weight);
2648
+ outline: 1.5px solid transparent;
2649
+ }
2650
+ .elb-viz-hero__link--on {
2651
+ outline-color: var(--event-action);
2652
+ }
2653
+ .elb-viz-hero__cursor {
2654
+ position: absolute;
2655
+ left: calc(var(--elb-viz-cursor-x) * 1px);
2656
+ top: calc(var(--elb-viz-cursor-y) * 1px);
2657
+ width: 22px;
2658
+ height: 22px;
2659
+ margin: -11px 0 0 -11px;
2660
+ pointer-events: none;
2661
+ opacity: var(--elb-viz-cursor-opacity);
2662
+ }
2663
+ .elb-viz-hero__ring,
2664
+ .elb-viz-hero__pointer {
2665
+ position: absolute;
2666
+ inset: 0;
2667
+ border-radius: var(--radius-full);
2668
+ }
2669
+ .elb-viz-hero__ring {
2670
+ border: 2px solid var(--event-entity);
2671
+ opacity: var(--elb-viz-ring-opacity);
2672
+ transform: scale(var(--elb-viz-ring-scale));
2673
+ }
2674
+ .elb-viz-hero__pointer {
2675
+ background: color-mix(in srgb, var(--viz-fg) 22%, transparent);
2676
+ border: 2px solid color-mix(in srgb, var(--viz-fg) 90%, transparent);
2677
+ transform: scale(var(--elb-viz-press));
2678
+ }
2679
+ @container (max-width: 639px) {
2680
+ .elb-viz-hero__pane,
2681
+ .elb-viz-hero > .elb-viz-table {
2682
+ flex-basis: 100%;
2683
+ }
2684
+ .elb-viz-hero__code {
2685
+ font-size: 12px;
2686
+ }
2687
+ .elb-viz-hero__stage {
2688
+ padding: 24px 12px;
2689
+ }
2690
+ .elb-viz-hero__thumb {
2691
+ width: 88px;
2692
+ }
2693
+ }
2694
+ }
2695
+ @layer components {
2696
+ .elb-viz-teaser {
2697
+ display: flex;
2698
+ flex-direction: column;
2699
+ gap: 18px;
2700
+ }
2701
+ .elb-viz-teaser__header {
2702
+ display: flex;
2703
+ flex-wrap: wrap;
2704
+ align-items: center;
2705
+ justify-content: space-between;
2706
+ gap: 12px 20px;
2707
+ }
2708
+ .elb-viz-teaser__steps {
2709
+ display: flex;
2710
+ flex-wrap: wrap;
2711
+ gap: var(--space-2);
2712
+ }
2713
+ .elb-viz-teaser__step {
2714
+ display: flex;
2715
+ align-items: center;
2716
+ gap: var(--space-2);
2717
+ padding: 6px 12px 6px 6px;
2718
+ color: var(--viz-fg-2);
2719
+ background: transparent;
2720
+ border: 1px solid var(--viz-border);
2721
+ border-radius: var(--radius-full);
2722
+ font-family: var(--type-viz-chip-family);
2723
+ font-size: var(--type-viz-chip-size);
2724
+ line-height: var(--type-viz-chip-line-height);
2725
+ font-weight: var(--type-viz-chip-weight);
2726
+ cursor: pointer;
2727
+ transition:
2728
+ color var(--motion) var(--ease),
2729
+ background var(--motion) var(--ease),
2730
+ border-color var(--motion) var(--ease);
2731
+ }
2732
+ .elb-viz-teaser__step--active {
2733
+ color: var(--viz-fg);
2734
+ background: color-mix(in srgb, var(--event-entity) 10%, transparent);
2735
+ border-color: var(--event-entity);
2736
+ }
2737
+ .elb-viz-teaser__step-number {
2738
+ width: 20px;
2739
+ height: 20px;
2740
+ color: var(--viz-bg);
2741
+ background: var(--viz-border);
2742
+ border-radius: var(--radius-full);
2743
+ font-size: 11px;
2744
+ line-height: 20px;
2745
+ font-weight: 600;
2746
+ text-align: center;
2747
+ }
2748
+ .elb-viz-teaser__step--done > .elb-viz-teaser__step-number {
2749
+ background: var(--viz-comment);
2750
+ }
2751
+ .elb-viz-teaser__step--active > .elb-viz-teaser__step-number {
2752
+ background: var(--event-entity);
2753
+ }
2754
+ .elb-viz-teaser__legend > .elb-legend {
2755
+ padding: 0;
2756
+ background: none;
2757
+ }
2758
+ .elb-viz-teaser__caption {
2759
+ min-height: 23px;
2760
+ margin: 0;
2761
+ color: var(--viz-punct);
2762
+ font-family: var(--type-viz-body-family);
2763
+ font-size: var(--type-viz-body-size);
2764
+ line-height: var(--type-viz-body-line-height);
2765
+ text-wrap: pretty;
2766
+ }
2767
+ .elb-viz-teaser__body {
2768
+ display: flex;
2769
+ flex-wrap: wrap;
2770
+ gap: 16px;
2771
+ align-items: stretch;
2772
+ }
2773
+ .elb-viz-teaser__pane {
2774
+ position: sticky;
2775
+ top: calc(var(--header-h) + 16px);
2776
+ flex: 1 1 380px;
2777
+ align-self: flex-start;
2778
+ min-width: 0;
2779
+ padding: 4px 0 10px;
2780
+ overflow: hidden;
2781
+ background: var(--viz-code-bg);
2782
+ border: 1px solid var(--viz-border);
2783
+ border-radius: var(--radius-lg);
2784
+ }
2785
+ .elb-viz-teaser__scroll {
2786
+ position: relative;
2787
+ min-height: 140px;
2788
+ max-height: min(640px, 100vh - var(--header-h) - 48px);
2789
+ overflow: auto;
2790
+ font-family: var(--type-viz-code-family);
2791
+ font-size: var(--type-viz-code-size);
2792
+ }
2793
+ .elb-viz-teaser__line {
2794
+ max-height: 0;
2795
+ overflow: hidden;
2796
+ opacity: 0;
2797
+ transition: max-height calc(var(--motion) * 2) var(--ease), opacity calc(var(--motion) * 2) var(--ease);
2798
+ }
2799
+ .elb-viz-teaser__line--visible {
2800
+ max-height: 24px;
2801
+ opacity: 1;
2802
+ }
2803
+ .elb-viz-teaser__line--file.elb-viz-teaser__line--visible {
2804
+ max-height: 44px;
2805
+ }
2806
+ .elb-viz-teaser__line--dim {
2807
+ opacity: 0.45;
2808
+ }
2809
+ .elb-viz-teaser__file {
2810
+ display: flex;
2811
+ justify-content: space-between;
2812
+ gap: 10px;
2813
+ padding: 14px 16px 4px 19px;
2814
+ border-top: 1px solid transparent;
2815
+ }
2816
+ .elb-viz-teaser__file--separated {
2817
+ border-top-color: var(--viz-surface);
2818
+ }
2819
+ .elb-viz-teaser__file-name {
2820
+ color: var(--primary);
2821
+ }
2822
+ .elb-viz-teaser__file-level {
2823
+ color: var(--viz-comment);
2824
+ }
2825
+ .elb-viz-teaser__code > .elb-viz-line__number {
2826
+ width: 26px;
2827
+ padding-right: 12px;
2828
+ line-height: var(--type-viz-code-line-height);
2829
+ }
2830
+ .elb-viz-teaser__code > .elb-viz-line__code {
2831
+ line-height: var(--type-viz-code-line-height);
2832
+ white-space: pre;
2833
+ word-break: normal;
2834
+ }
2835
+ .elb-viz-teaser__code--current-plain {
2836
+ background: color-mix(in srgb, var(--viz-fg) 4%, transparent);
2837
+ }
2838
+ .elb-viz-teaser__code--current-entity {
2839
+ background: color-mix(in srgb, var(--event-entity) 10%, transparent);
2840
+ }
2841
+ .elb-viz-teaser__code--current-action {
2842
+ background: color-mix(in srgb, var(--event-action) 10%, transparent);
2843
+ }
2844
+ .elb-viz-teaser__code--current-property {
2845
+ background: color-mix(in srgb, var(--event-property) 10%, transparent);
2846
+ }
2847
+ .elb-viz-teaser__code--current-context {
2848
+ background: color-mix(in srgb, var(--event-context) 10%, transparent);
2849
+ }
2850
+ .elb-viz-teaser__code--current-globals {
2851
+ background: color-mix(in srgb, var(--event-globals) 10%, transparent);
2852
+ }
2853
+ .elb-viz-teaser__pages {
2854
+ display: flex;
2855
+ flex: 1.1 1 420px;
2856
+ flex-direction: column;
2857
+ gap: 24px;
2858
+ align-self: flex-start;
2859
+ min-width: 0;
2860
+ padding-top: 10px;
2861
+ }
2862
+ .elb-viz-teaser__page {
2863
+ position: relative;
2864
+ padding: 12px;
2865
+ border: 1.5px dashed transparent;
2866
+ border-radius: var(--radius-xl);
2867
+ transition: border-color calc(var(--motion) * 2) var(--ease), background calc(var(--motion) * 2) var(--ease);
2868
+ }
2869
+ .elb-viz-teaser__page--on {
2870
+ background: color-mix(in srgb, var(--event-globals) 4%, transparent);
2871
+ border-color: var(--event-globals);
2872
+ }
2873
+ .elb-viz-teaser__page-pill {
2874
+ position: absolute;
2875
+ top: -10px;
2876
+ left: 14px;
2877
+ }
2878
+ .elb-viz-teaser__list {
2879
+ display: flex;
2880
+ flex-direction: column;
2881
+ gap: 16px;
2882
+ padding: 14px;
2883
+ border: 1.5px solid var(--viz-surface);
2884
+ border-radius: var(--radius-lg);
2885
+ transition: border-color calc(var(--motion) * 2) var(--ease), background calc(var(--motion) * 2) var(--ease);
2886
+ }
2887
+ .elb-viz-teaser__list--on {
2888
+ background: color-mix(in srgb, var(--event-context) 5%, transparent);
2889
+ border-color: var(--event-context);
2890
+ }
2891
+ .elb-viz-teaser__list-head {
2892
+ display: flex;
2893
+ flex-wrap: wrap;
2894
+ align-items: center;
2895
+ justify-content: space-between;
2896
+ gap: 10px;
2897
+ min-height: 19px;
2898
+ }
2899
+ .elb-viz-teaser__list-label {
2900
+ display: flex;
2901
+ align-items: center;
2902
+ gap: 10px;
2903
+ }
2904
+ .elb-viz-teaser__list-name {
2905
+ color: var(--viz-fg-2);
2906
+ font-family: var(--type-viz-code-family);
2907
+ font-size: var(--type-viz-code-size);
2908
+ }
2909
+ .elb-viz-teaser__list-heading {
2910
+ font-size: var(--type-small-size);
2911
+ font-weight: var(--type-small-weight);
2912
+ }
2913
+ .elb-viz-teaser__cards {
2914
+ display: grid;
2915
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2916
+ gap: var(--space-3);
2917
+ }
2918
+ .elb-viz-teaser__card {
2919
+ position: relative;
2920
+ display: flex;
2921
+ flex-direction: column;
2922
+ gap: var(--space-2);
2923
+ min-height: 224px;
2924
+ padding: 10px;
2925
+ background: transparent;
2926
+ border: 1.5px dashed var(--viz-surface);
2927
+ border-radius: var(--radius-faq);
2928
+ transition: border-color calc(var(--motion) * 2) var(--ease), background calc(var(--motion) * 2) var(--ease);
2929
+ }
2930
+ .elb-viz-teaser__card--entity {
2931
+ background: var(--viz-surface);
2932
+ border-style: solid;
2933
+ border-color: var(--event-entity);
2934
+ }
2935
+ .elb-viz-teaser__pills {
2936
+ position: absolute;
2937
+ top: -10px;
2938
+ left: 10px;
2939
+ display: flex;
2940
+ gap: 4px;
2941
+ }
2942
+ .elb-viz-teaser__fade {
2943
+ opacity: 0;
2944
+ transition:
2945
+ opacity calc(var(--motion) * 2) var(--ease),
2946
+ outline-color calc(var(--motion) * 2) var(--ease),
2947
+ box-shadow calc(var(--motion) * 2) var(--ease);
2948
+ }
2949
+ .elb-viz-teaser__fade--on {
2950
+ opacity: 1;
2951
+ }
2952
+ .elb-viz-teaser__photo {
2953
+ display: flex;
2954
+ flex: none;
2955
+ align-items: center;
2956
+ justify-content: center;
2957
+ height: 86px;
2958
+ overflow: hidden;
2959
+ color: var(--viz-comment);
2960
+ background:
2961
+ repeating-linear-gradient(
2962
+ 45deg,
2963
+ var(--viz-surface) 0 6px,
2964
+ var(--viz-border) 6px 12px);
2965
+ border-radius: var(--radius-sm);
2966
+ font-family: var(--type-viz-code-family);
2967
+ font-size: 10.5px;
2968
+ }
2969
+ .elb-viz-teaser__kicker {
2970
+ align-self: flex-start;
2971
+ padding: 1px 6px;
2972
+ color: var(--viz-fg);
2973
+ background: var(--viz-border);
2974
+ border-radius: var(--radius-xs);
2975
+ font-family: var(--type-viz-code-family);
2976
+ font-size: 10.5px;
2977
+ letter-spacing: 0.04em;
2978
+ outline: 1.5px solid transparent;
2979
+ }
2980
+ .elb-viz-teaser__title {
2981
+ align-self: flex-start;
2982
+ border-radius: var(--radius-xs);
2983
+ font-size: var(--type-small-size);
2984
+ font-weight: var(--type-small-weight);
2985
+ line-height: 1.3;
2986
+ text-wrap: pretty;
2987
+ outline: 1.5px solid transparent;
2988
+ outline-offset: 2px;
2989
+ }
2990
+ .elb-viz-teaser__link {
2991
+ align-self: flex-start;
2992
+ margin-top: auto;
2993
+ margin-left: -6px;
2994
+ padding: 2px 6px;
2995
+ color: var(--primary);
2996
+ border-radius: var(--radius-xs);
2997
+ font-family: var(--type-viz-chip-family);
2998
+ font-size: var(--type-viz-chip-size);
2999
+ font-weight: var(--type-viz-chip-weight);
3000
+ outline: 1.5px solid transparent;
3001
+ }
3002
+ .elb-viz-teaser__kicker--on,
3003
+ .elb-viz-teaser__title--on {
3004
+ outline-color: var(--event-property);
3005
+ box-shadow: 0 0 10px 1px color-mix(in srgb, var(--event-property) 50%, transparent);
3006
+ }
3007
+ .elb-viz-teaser__link--on {
3008
+ outline-color: var(--event-action);
3009
+ box-shadow: 0 0 10px 1px color-mix(in srgb, var(--event-action) 50%, transparent);
3010
+ }
3011
+ @container (max-width: 639px) {
3012
+ .elb-viz-teaser__pane {
3013
+ position: static;
3014
+ }
3015
+ .elb-viz-teaser__scroll {
3016
+ max-height: 320px;
3017
+ }
3018
+ .elb-viz-teaser__cards {
3019
+ grid-template-columns: minmax(0, 1fr);
3020
+ row-gap: var(--space-5);
3021
+ }
3022
+ .elb-viz-teaser__card {
3023
+ display: grid;
3024
+ grid-template-columns: 72px minmax(0, 1fr);
3025
+ align-content: start;
3026
+ gap: 6px var(--space-3);
3027
+ min-height: 0;
3028
+ }
3029
+ .elb-viz-teaser__photo {
3030
+ grid-row: span 3;
3031
+ height: auto;
3032
+ min-height: 72px;
3033
+ }
3034
+ .elb-viz-teaser__kicker,
3035
+ .elb-viz-teaser__title,
3036
+ .elb-viz-teaser__link {
3037
+ justify-self: start;
3038
+ }
3039
+ .elb-viz-teaser__link {
3040
+ margin-top: 0;
3041
+ }
3042
+ .elb-viz-teaser__page--ahead,
3043
+ .elb-viz-teaser__card--ahead {
3044
+ display: none;
3045
+ }
3046
+ }
1798
3047
  }