@mcp-b/react-components 0.20.4 → 0.20.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/components/MessageScroller.js +1 -0
  2. package/dist/components/Stepper.js +1 -5
  3. package/dist/components/TestResults.js +15 -15
  4. package/dist/components/ThinkChatActivitySummary.js +2 -2
  5. package/dist/components/ThinkExecutionRun.js +2 -2
  6. package/dist/components/ThinkRoutine.js +2 -10
  7. package/dist/components/ThinkThreadPicker.js +1 -0
  8. package/dist/styles/accordion.css +2 -1
  9. package/dist/styles/activity-header.css +4 -15
  10. package/dist/styles/agent-activity-preview-overlay.css +12 -0
  11. package/dist/styles/agent-activity-preview.css +3 -3
  12. package/dist/styles/agent-attention.css +7 -14
  13. package/dist/styles/agent-connection.css +2 -2
  14. package/dist/styles/artifact.css +1 -1
  15. package/dist/styles/attachment-preview.css +1 -1
  16. package/dist/styles/badge.css +1 -1
  17. package/dist/styles/base.css +15 -0
  18. package/dist/styles/browser-control-overlay.css +4 -3
  19. package/dist/styles/browser-live-view.css +1 -1
  20. package/dist/styles/browser-replay.css +3 -3
  21. package/dist/styles/browser-run-panel.css +1 -1
  22. package/dist/styles/button.css +1 -1
  23. package/dist/styles/chain-of-thought.css +1 -1
  24. package/dist/styles/chatgpt-sign-in-screen.css +2 -2
  25. package/dist/styles/checkbox-group.css +1 -1
  26. package/dist/styles/code-block.css +5 -5
  27. package/dist/styles/commit.css +1 -1
  28. package/dist/styles/environment-variables.css +4 -4
  29. package/dist/styles/fieldset.css +1 -1
  30. package/dist/styles/file-tree.css +1 -1
  31. package/dist/styles/github-motion-mark.css +1 -1
  32. package/dist/styles/label.css +1 -1
  33. package/dist/styles/mcp-server-picker.css +1 -1
  34. package/dist/styles/menu.css +1 -1
  35. package/dist/styles/message-scroller.css +3 -21
  36. package/dist/styles/message.css +1 -1
  37. package/dist/styles/plan.css +1 -1
  38. package/dist/styles/pricing-page.css +37 -35
  39. package/dist/styles/prompt-input.css +1 -1
  40. package/dist/styles/queue.css +1 -1
  41. package/dist/styles/recipes.css +24 -0
  42. package/dist/styles/sources.css +1 -1
  43. package/dist/styles/streamdown.css +28 -25
  44. package/dist/styles/task.css +1 -1
  45. package/dist/styles/terminal.css +4 -4
  46. package/dist/styles/test-results.css +1 -1
  47. package/dist/styles/theme-mode-control.css +2 -3
  48. package/dist/styles/think-execution-workbench.css +1 -1
  49. package/dist/styles/think-full-app.css +1 -1
  50. package/dist/styles/think-routine-library.css +8 -8
  51. package/dist/styles/think-thread-picker.css +12 -22
  52. package/dist/styles/web-preview.css +4 -4
  53. package/dist/styles/workspace-explorer.css +2 -2
  54. package/package.json +2 -2
@@ -12,8 +12,6 @@
12
12
 
13
13
  .message-scroller__viewport {
14
14
  --message-scroller-fade-size: min(12%, 2.5rem);
15
- --message-scroller-fade-t: 0px;
16
- --message-scroller-fade-b: 0px;
17
15
  width: 100%;
18
16
  height: 100%;
19
17
  min-width: 0;
@@ -23,32 +21,16 @@
23
21
  overscroll-behavior: contain;
24
22
  scrollbar-gutter: stable;
25
23
  contain: content;
26
- -webkit-mask-image: linear-gradient(
27
- to bottom,
28
- transparent 0,
29
- #000 var(--message-scroller-fade-t),
30
- #000 calc(100% - var(--message-scroller-fade-b)),
31
- transparent 100%
32
- );
33
- mask-image: linear-gradient(
34
- to bottom,
35
- transparent 0,
36
- #000 var(--message-scroller-fade-t),
37
- #000 calc(100% - var(--message-scroller-fade-b)),
38
- transparent 100%
39
- );
40
- -webkit-mask-repeat: no-repeat;
41
- mask-repeat: no-repeat;
42
24
  }
43
25
 
44
26
  .message-scroller__viewport[data-scrollable~="end"] {
45
- --message-scroller-fade-b: var(--message-scroller-fade-b-size, var(--message-scroller-fade-size));
27
+ --sigvelo-scroll-fade-end: var(--message-scroller-fade-b-size, var(--message-scroller-fade-size));
46
28
  }
47
29
 
48
30
  .message-scroller__content {
49
31
  display: flex;
50
32
  flex-direction: column;
51
- gap: 1rem;
33
+ gap: var(--sigvelo-spacing-4);
52
34
  min-height: 100%;
53
35
  }
54
36
 
@@ -96,6 +78,6 @@
96
78
 
97
79
  @media (forced-colors: active) {
98
80
  .message-scroller__button {
99
- border: 1px solid CanvasText;
81
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
100
82
  }
101
83
  }
@@ -199,6 +199,6 @@
199
199
  .message__content,
200
200
  .message__edit-form,
201
201
  .message__edit-textarea {
202
- border: 1px solid CanvasText;
202
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
203
203
  }
204
204
  }
@@ -122,7 +122,7 @@
122
122
 
123
123
  @media (forced-colors: active) {
124
124
  .plan__step-indicator {
125
- border: 1px solid CanvasText;
125
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
126
126
  }
127
127
 
128
128
  .plan__step[data-status="active"] .plan__step-indicator {
@@ -3,7 +3,8 @@
3
3
  width: 100%;
4
4
  max-width: 1200px;
5
5
  margin: 0 auto;
6
- padding: clamp(1rem, 4%, 3rem) clamp(0.75rem, 3%, 1.5rem);
6
+ padding: clamp(var(--sigvelo-spacing-4), 4%, var(--sigvelo-spacing-12))
7
+ clamp(var(--sigvelo-spacing-3), 3%, var(--sigvelo-spacing-6));
7
8
  container-type: inline-size;
8
9
  }
9
10
 
@@ -11,13 +12,13 @@
11
12
 
12
13
  .pricing-page__header {
13
14
  text-align: center;
14
- margin-bottom: 3rem;
15
+ margin-bottom: var(--sigvelo-spacing-12);
15
16
  }
16
17
 
17
18
  .pricing-page__title {
18
19
  font-family: inherit;
19
20
  font-size: 2.5rem;
20
- font-weight: 700;
21
+ font-weight: var(--sigvelo-font-weight-bold);
21
22
  line-height: var(--sigvelo-leading-tight);
22
23
  color: var(--sigvelo-color-text);
23
24
  margin: 0 0 var(--sigvelo-spacing-3);
@@ -27,20 +28,20 @@
27
28
  font-family: inherit;
28
29
  font-size: var(--sigvelo-text-lg);
29
30
  color: var(--sigvelo-color-text-muted);
30
- margin: 0 0 2rem;
31
+ margin: 0 0 var(--sigvelo-spacing-8);
31
32
  }
32
33
 
33
34
  .pricing-page__billing-toggle {
34
35
  display: flex;
35
36
  flex-direction: column;
36
37
  align-items: center;
37
- gap: 1rem;
38
+ gap: var(--sigvelo-spacing-4);
38
39
  }
39
40
 
40
41
  .pricing-page__toggle-options {
41
42
  display: flex;
42
43
  align-items: center;
43
- gap: 0.5rem;
44
+ gap: var(--sigvelo-spacing-2);
44
45
  }
45
46
 
46
47
  .pricing-page__toggle-label {
@@ -74,15 +75,15 @@
74
75
  .pricing-page__plans {
75
76
  display: grid;
76
77
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
77
- gap: 1.5rem;
78
- margin-bottom: 3rem;
78
+ gap: var(--sigvelo-spacing-6);
79
+ margin-bottom: var(--sigvelo-spacing-12);
79
80
  }
80
81
 
81
82
  .pricing-page__plan {
82
83
  position: relative;
83
84
  display: flex;
84
85
  flex-direction: column;
85
- padding: 1.5rem;
86
+ padding: var(--sigvelo-spacing-6);
86
87
  }
87
88
 
88
89
  .pricing-page__plan[data-popular] {
@@ -100,7 +101,7 @@
100
101
  }
101
102
 
102
103
  .pricing-page__plan-header {
103
- margin-bottom: 1.5rem;
104
+ margin-bottom: var(--sigvelo-spacing-6);
104
105
  }
105
106
 
106
107
  .pricing-page__plan-name {
@@ -108,7 +109,7 @@
108
109
  font-size: var(--sigvelo-text-xl);
109
110
  font-weight: 600;
110
111
  color: var(--sigvelo-color-text);
111
- margin: 0 0 0.25rem;
112
+ margin: 0 0 var(--sigvelo-spacing-1);
112
113
  }
113
114
 
114
115
  .pricing-page__plan-description {
@@ -119,13 +120,13 @@
119
120
  }
120
121
 
121
122
  .pricing-page__plan-price {
122
- margin-bottom: 1.5rem;
123
+ margin-bottom: var(--sigvelo-spacing-6);
123
124
  }
124
125
 
125
126
  .pricing-page__price-amount {
126
127
  font-family: inherit;
127
128
  font-size: 2.5rem;
128
- font-weight: 700;
129
+ font-weight: var(--sigvelo-font-weight-bold);
129
130
  font-variant-numeric: tabular-nums;
130
131
  color: var(--sigvelo-color-text);
131
132
  }
@@ -140,9 +141,9 @@
140
141
  display: block;
141
142
  font-family: inherit;
142
143
  font-size: var(--sigvelo-text-xs);
143
- font-weight: 500;
144
+ font-weight: var(--sigvelo-font-weight-semibold);
144
145
  color: var(--sigvelo-color-success-bg);
145
- margin-top: 0.25rem;
146
+ margin-top: var(--sigvelo-spacing-1);
146
147
  }
147
148
 
148
149
  .pricing-page__plan-cta {
@@ -150,7 +151,7 @@
150
151
  }
151
152
 
152
153
  .pricing-page__features-separator {
153
- margin: 1.5rem 0;
154
+ margin: var(--sigvelo-spacing-6) 0;
154
155
  }
155
156
 
156
157
  .pricing-page__features {
@@ -164,7 +165,7 @@
164
165
  display: flex;
165
166
  align-items: flex-start;
166
167
  gap: var(--sigvelo-spacing-3);
167
- padding: 0.5rem 0;
168
+ padding: var(--sigvelo-spacing-2) 0;
168
169
  font-family: inherit;
169
170
  font-size: var(--sigvelo-text-sm);
170
171
  color: var(--sigvelo-color-text);
@@ -196,15 +197,15 @@
196
197
  .pricing-page__feature-limit {
197
198
  font-size: var(--sigvelo-text-xs);
198
199
  color: var(--sigvelo-color-text-muted);
199
- margin-left: 0.25rem;
200
+ margin-left: var(--sigvelo-spacing-1);
200
201
  }
201
202
 
202
203
  /* Calculator */
203
204
 
204
205
  .pricing-page__calculator {
205
206
  max-width: 600px;
206
- margin: 0 auto 3rem;
207
- padding: 2rem;
207
+ margin: 0 auto var(--sigvelo-spacing-12);
208
+ padding: var(--sigvelo-spacing-8);
208
209
  }
209
210
 
210
211
  .pricing-page__calculator-title {
@@ -212,22 +213,22 @@
212
213
  font-size: var(--sigvelo-text-xl);
213
214
  font-weight: 600;
214
215
  color: var(--sigvelo-color-text);
215
- margin: 0 0 0.5rem;
216
+ margin: 0 0 var(--sigvelo-spacing-2);
216
217
  }
217
218
 
218
219
  .pricing-page__calculator-description {
219
220
  font-family: inherit;
220
221
  font-size: var(--sigvelo-text-sm);
221
222
  color: var(--sigvelo-color-text-muted);
222
- margin: 0 0 1.5rem;
223
+ margin: 0 0 var(--sigvelo-spacing-6);
223
224
  }
224
225
 
225
226
  .pricing-page__calculator-slider {
226
- margin-bottom: 0.5rem;
227
+ margin-bottom: var(--sigvelo-spacing-2);
227
228
  }
228
229
 
229
230
  .pricing-page__calculator-separator {
230
- margin-block: 1.5rem;
231
+ margin-block: var(--sigvelo-spacing-6);
231
232
  }
232
233
 
233
234
  .pricing-page__calculator-labels {
@@ -248,7 +249,7 @@
248
249
  .pricing-page__calculator-range {
249
250
  display: flex;
250
251
  justify-content: space-between;
251
- margin-top: 0.5rem;
252
+ margin-top: var(--sigvelo-spacing-2);
252
253
  font-family: inherit;
253
254
  font-size: var(--sigvelo-text-xs);
254
255
  color: var(--sigvelo-color-text-muted);
@@ -258,7 +259,7 @@
258
259
  display: flex;
259
260
  justify-content: space-between;
260
261
  align-items: baseline;
261
- margin-bottom: 1.5rem;
262
+ margin-bottom: var(--sigvelo-spacing-6);
262
263
  }
263
264
 
264
265
  .pricing-page__calculator-result-label {
@@ -274,7 +275,7 @@
274
275
  .pricing-page__calculator-amount {
275
276
  font-family: inherit;
276
277
  font-size: 2rem;
277
- font-weight: 700;
278
+ font-weight: var(--sigvelo-font-weight-bold);
278
279
  font-variant-numeric: tabular-nums;
279
280
  color: var(--sigvelo-color-text);
280
281
  }
@@ -288,7 +289,7 @@
288
289
  .pricing-page__tiers {
289
290
  display: flex;
290
291
  flex-direction: column;
291
- gap: 1rem;
292
+ gap: var(--sigvelo-spacing-4);
292
293
  }
293
294
 
294
295
  .pricing-page__tier {
@@ -309,7 +310,7 @@
309
310
  }
310
311
 
311
312
  .pricing-page__tier-price {
312
- font-weight: 500;
313
+ font-weight: var(--sigvelo-font-weight-semibold);
313
314
  font-variant-numeric: tabular-nums;
314
315
  color: var(--sigvelo-color-text-muted);
315
316
  }
@@ -327,18 +328,19 @@
327
328
  font-weight: 600;
328
329
  color: var(--sigvelo-color-text);
329
330
  text-align: center;
330
- margin: 0 0 2rem;
331
+ margin: 0 0 var(--sigvelo-spacing-8);
331
332
  }
332
333
 
333
334
  .pricing-page__faq-accordion {
334
- border-top: 1px solid var(--sigvelo-color-neutral-border-muted);
335
+ border-top: var(--sigvelo-border-style) var(--sigvelo-border-width)
336
+ var(--sigvelo-color-neutral-border-muted);
335
337
  }
336
338
 
337
339
  /* Confirmation Dialog */
338
340
 
339
341
  .pricing-page__confirm-summary {
340
- padding: 1rem;
341
- margin-bottom: 1rem;
342
+ padding: var(--sigvelo-spacing-4);
343
+ margin-bottom: var(--sigvelo-spacing-4);
342
344
  background-color: var(--sigvelo-color-neutral-bg-subtle);
343
345
  border-radius: var(--sigvelo-radius-md);
344
346
  }
@@ -349,12 +351,12 @@
349
351
  font-family: inherit;
350
352
  font-size: var(--sigvelo-text-sm);
351
353
  color: var(--sigvelo-color-text);
352
- padding: 0.25rem 0;
354
+ padding: var(--sigvelo-spacing-1) 0;
353
355
  }
354
356
 
355
357
  .pricing-page__confirm-row[data-savings] {
356
358
  color: var(--sigvelo-color-success-bg);
357
- font-weight: 500;
359
+ font-weight: var(--sigvelo-font-weight-semibold);
358
360
  }
359
361
 
360
362
  .pricing-page__confirm-actions {
@@ -659,7 +659,7 @@
659
659
 
660
660
  @media (forced-colors: active) {
661
661
  .prompt-input {
662
- border: 1px solid CanvasText;
662
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
663
663
  }
664
664
 
665
665
  .prompt-input:focus-within {
@@ -233,7 +233,7 @@
233
233
 
234
234
  @media (forced-colors: active) {
235
235
  .queue__item-file {
236
- border: 1px solid CanvasText;
236
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
237
237
  }
238
238
 
239
239
  .queue__section-trigger:focus-visible {
@@ -146,6 +146,30 @@
146
146
  color: var(--sigvelo-color-text);
147
147
  }
148
148
 
149
+ /* Reveal scrollability by fading the top/bottom edges. Owns only the mask
150
+ structure; each scroller drives --sigvelo-scroll-fade-start/end (default 0px)
151
+ from its own overflow signal. */
152
+ :where([data-recipe~="scroll-fade-y"]) {
153
+ --sigvelo-scroll-fade-start: 0px;
154
+ --sigvelo-scroll-fade-end: 0px;
155
+ -webkit-mask-image: linear-gradient(
156
+ to bottom,
157
+ transparent 0,
158
+ #000 var(--sigvelo-scroll-fade-start),
159
+ #000 calc(100% - var(--sigvelo-scroll-fade-end)),
160
+ transparent 100%
161
+ );
162
+ mask-image: linear-gradient(
163
+ to bottom,
164
+ transparent 0,
165
+ #000 var(--sigvelo-scroll-fade-start),
166
+ #000 calc(100% - var(--sigvelo-scroll-fade-end)),
167
+ transparent 100%
168
+ );
169
+ -webkit-mask-repeat: no-repeat;
170
+ mask-repeat: no-repeat;
171
+ }
172
+
149
173
  @media (any-pointer: coarse) {
150
174
  :where(:root, [data-theme="light"], [data-theme="dark"]) {
151
175
  --sigvelo-recipe-row-min-height: var(--sigvelo-control-height-xl);
@@ -83,7 +83,7 @@
83
83
 
84
84
  @media (forced-colors: active) {
85
85
  .sources__link {
86
- border: 1px solid CanvasText;
86
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
87
87
  }
88
88
 
89
89
  .sources__link:focus-visible {
@@ -40,7 +40,7 @@ button[data-streamdown="link"] {
40
40
 
41
41
  [data-streamdown="inline-code"] {
42
42
  padding-block: 0.0625rem;
43
- padding-inline: 0.25rem;
43
+ padding-inline: var(--sigvelo-spacing-1);
44
44
  border-radius: var(--sigvelo-radius-xs);
45
45
  background-color: var(--sigvelo-color-neutral-bg-subtle);
46
46
  font-family: var(--sigvelo-font-mono);
@@ -73,7 +73,7 @@ button[data-streamdown="link"] {
73
73
  }
74
74
 
75
75
  [data-streamdown="blockquote"] {
76
- margin-block: 0.5rem;
76
+ margin-block: var(--sigvelo-spacing-2);
77
77
  padding-inline-start: var(--sigvelo-spacing-3);
78
78
  border-inline-start: 2px solid var(--sigvelo-color-neutral-border-subtle);
79
79
  color: var(--sigvelo-color-text-muted);
@@ -81,8 +81,8 @@ button[data-streamdown="link"] {
81
81
 
82
82
  [data-streamdown="ordered-list"],
83
83
  [data-streamdown="unordered-list"] {
84
- margin-block: 0.25rem;
85
- padding-inline-start: 1.25rem;
84
+ margin-block: var(--sigvelo-spacing-1);
85
+ padding-inline-start: var(--sigvelo-spacing-5);
86
86
  }
87
87
 
88
88
  [data-streamdown="ordered-list"] {
@@ -102,15 +102,16 @@ button[data-streamdown="link"] {
102
102
  }
103
103
 
104
104
  [data-streamdown="horizontal-rule"] {
105
- margin-block: 1rem;
105
+ margin-block: var(--sigvelo-spacing-4);
106
106
  border: 0;
107
- border-block-start: 1px solid var(--sigvelo-color-neutral-border-subtle);
107
+ border-block-start: var(--sigvelo-border-style) var(--sigvelo-border-width)
108
+ var(--sigvelo-color-neutral-border-subtle);
108
109
  }
109
110
 
110
111
  .message__response img {
111
112
  display: inline-block;
112
113
  max-width: 100%;
113
- margin-block: 0.5rem;
114
+ margin-block: var(--sigvelo-spacing-2);
114
115
  border-radius: var(--sigvelo-radius-md);
115
116
  }
116
117
 
@@ -127,7 +128,7 @@ button[data-streamdown="link"] {
127
128
  display: inline-flex;
128
129
  align-items: center;
129
130
  justify-content: center;
130
- padding: 0.25rem;
131
+ padding: var(--sigvelo-spacing-1);
131
132
  border: 0;
132
133
  border-radius: var(--sigvelo-radius-sm);
133
134
  background: transparent;
@@ -163,9 +164,9 @@ button[data-streamdown="link"] {
163
164
  [data-streamdown="mermaid-block"] {
164
165
  display: flex;
165
166
  flex-direction: column;
166
- gap: 0.25rem;
167
+ gap: var(--sigvelo-spacing-1);
167
168
  width: 100%;
168
- margin-block: 0.5rem;
169
+ margin-block: var(--sigvelo-spacing-2);
169
170
  padding: var(--sigvelo-spacing-1-5);
170
171
  border-radius: var(--sigvelo-radius-lg);
171
172
  background-color: var(--sigvelo-color-neutral-bg-subtle);
@@ -175,7 +176,7 @@ button[data-streamdown="link"] {
175
176
  display: flex;
176
177
  align-items: center;
177
178
  min-height: 1.5rem;
178
- padding-inline: 0.5rem;
179
+ padding-inline: var(--sigvelo-spacing-2);
179
180
  font-family: var(--sigvelo-font-mono);
180
181
  font-size: var(--sigvelo-text-xs);
181
182
  text-transform: lowercase;
@@ -202,7 +203,7 @@ button[data-streamdown="link"] {
202
203
  display: flex;
203
204
  flex-shrink: 0;
204
205
  align-items: center;
205
- gap: 0.25rem;
206
+ gap: var(--sigvelo-spacing-1);
206
207
  pointer-events: auto;
207
208
  border-radius: var(--sigvelo-radius-md);
208
209
  background-color: var(--sigvelo-color-neutral-bg-subtle);
@@ -216,8 +217,8 @@ button[data-streamdown="link"] {
216
217
 
217
218
  [data-streamdown="code-block-body"] pre {
218
219
  margin: 0;
219
- padding-block: 0.5rem;
220
- padding-inline: 0.5rem;
220
+ padding-block: var(--sigvelo-spacing-2);
221
+ padding-inline: var(--sigvelo-spacing-2);
221
222
  background-color: transparent;
222
223
  font-family: var(--sigvelo-font-mono);
223
224
  font-size: var(--sigvelo-text-compact);
@@ -240,8 +241,8 @@ button[data-streamdown="link"] {
240
241
  [data-streamdown="table-wrapper"] {
241
242
  display: flex;
242
243
  flex-direction: column;
243
- gap: 0.25rem;
244
- margin-block: 0.5rem;
244
+ gap: var(--sigvelo-spacing-1);
245
+ margin-block: var(--sigvelo-spacing-2);
245
246
  min-inline-size: 0;
246
247
  max-inline-size: 100%;
247
248
  }
@@ -251,7 +252,7 @@ button[data-streamdown="link"] {
251
252
  display: flex;
252
253
  align-items: center;
253
254
  justify-content: flex-end;
254
- gap: 0.25rem;
255
+ gap: var(--sigvelo-spacing-1);
255
256
  }
256
257
 
257
258
  /* Anonymous scroll container around the table. */
@@ -268,9 +269,10 @@ button[data-streamdown="link"] {
268
269
 
269
270
  [data-streamdown="table-header-cell"],
270
271
  [data-streamdown="table-cell"] {
271
- padding-block: 0.25rem;
272
- padding-inline: 0.5rem;
273
- border-block-end: 1px solid var(--sigvelo-color-neutral-border-subtle);
272
+ padding-block: var(--sigvelo-spacing-1);
273
+ padding-inline: var(--sigvelo-spacing-2);
274
+ border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
275
+ var(--sigvelo-color-neutral-border-subtle);
274
276
  text-align: start;
275
277
  vertical-align: top;
276
278
  overflow-wrap: anywhere;
@@ -300,15 +302,15 @@ button[data-streamdown="link"] {
300
302
  display: flex;
301
303
  align-items: center;
302
304
  justify-content: flex-end;
303
- gap: 0.25rem;
305
+ gap: var(--sigvelo-spacing-1);
304
306
  padding: var(--sigvelo-spacing-3);
305
307
  }
306
308
 
307
309
  [data-streamdown="table-fullscreen"] > div > div:last-child {
308
310
  flex: 1;
309
311
  overflow: auto;
310
- padding-block: 0 1rem;
311
- padding-inline: 1rem;
312
+ padding-block: 0 var(--sigvelo-spacing-4);
313
+ padding-inline: var(--sigvelo-spacing-4);
312
314
  }
313
315
 
314
316
  [data-streamdown="table-fullscreen"] thead {
@@ -345,10 +347,11 @@ button[data-streamdown="link"] {
345
347
  display: flex;
346
348
  flex-direction: column;
347
349
  min-width: 7.5rem;
348
- margin-block-start: 0.25rem;
350
+ margin-block-start: var(--sigvelo-spacing-1);
349
351
  overflow: hidden;
350
352
  border-radius: var(--sigvelo-radius-md);
351
- border: 1px solid var(--sigvelo-color-neutral-border-subtle);
353
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
354
+ var(--sigvelo-color-neutral-border-subtle);
352
355
  background-color: var(--sigvelo-color-surface);
353
356
  box-shadow: var(--sigvelo-shadow-md);
354
357
  }
@@ -119,7 +119,7 @@
119
119
  @media (forced-colors: active) {
120
120
  .task__trigger,
121
121
  .task__list {
122
- border: 1px solid CanvasText;
122
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
123
123
  }
124
124
 
125
125
  .task__trigger:focus-visible {
@@ -12,8 +12,8 @@
12
12
  .terminal__header {
13
13
  display: flex;
14
14
  align-items: center;
15
- gap: 0.5rem;
16
- padding-block: 0.5rem;
15
+ gap: var(--sigvelo-spacing-2);
16
+ padding-block: var(--sigvelo-spacing-2);
17
17
  padding-inline: var(--sigvelo-spacing-3);
18
18
  background-color: color-mix(in oklab, var(--sigvelo-color-neutral-950) 80%, white 20%);
19
19
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
@@ -32,7 +32,7 @@
32
32
  .terminal__actions {
33
33
  display: inline-flex;
34
34
  align-items: center;
35
- gap: 0.25rem;
35
+ gap: var(--sigvelo-spacing-1);
36
36
  margin-inline-start: auto;
37
37
  }
38
38
 
@@ -89,6 +89,6 @@
89
89
 
90
90
  @media (forced-colors: active) {
91
91
  .terminal {
92
- border: 1px solid CanvasText;
92
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
93
93
  }
94
94
  }
@@ -266,7 +266,7 @@
266
266
  .test-results,
267
267
  .test-results__test,
268
268
  .test-results__suite {
269
- border: 1px solid CanvasText;
269
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) CanvasText;
270
270
  }
271
271
 
272
272
  .test-results__suite-trigger:focus-visible {
@@ -45,9 +45,8 @@
45
45
 
46
46
  .theme-mode-control__item.radio:focus-visible {
47
47
  z-index: 1;
48
- outline: var(--sigvelo-focus-ring);
49
- outline-offset: var(--sigvelo-focus-offset);
50
- box-shadow: none;
48
+ outline: none;
49
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
51
50
  }
52
51
 
53
52
  .theme-mode-control__item.radio[data-disabled] {
@@ -265,7 +265,7 @@
265
265
 
266
266
  @media (forced-colors: active) {
267
267
  .think-execution-workbench {
268
- border: 1px solid canvastext;
268
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) canvastext;
269
269
  background: canvas;
270
270
  color: canvastext;
271
271
  box-shadow: none;
@@ -305,7 +305,7 @@ body.is-resizing-side-panel .think-full-app__view-scope {
305
305
  .think-full-app__workbench,
306
306
  .think-full-app__app-bar,
307
307
  .think-full-app__workbench-view-switch {
308
- border: 1px solid canvastext;
308
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width) canvastext;
309
309
  background: canvas;
310
310
  color: canvastext;
311
311
  box-shadow: none;