@neurocode-ai/session-ui 1.18.8

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 (114) hide show
  1. package/package.json +71 -0
  2. package/src/components/apply-patch-file.test.ts +43 -0
  3. package/src/components/apply-patch-file.ts +78 -0
  4. package/src/components/basic-tool.css +358 -0
  5. package/src/components/basic-tool.stories.tsx +133 -0
  6. package/src/components/basic-tool.tsx +343 -0
  7. package/src/components/dock-prompt.stories.tsx +62 -0
  8. package/src/components/dock-prompt.tsx +23 -0
  9. package/src/components/file-media.tsx +291 -0
  10. package/src/components/file-search.tsx +72 -0
  11. package/src/components/file-ssr.tsx +197 -0
  12. package/src/components/file.css +46 -0
  13. package/src/components/file.tsx +1202 -0
  14. package/src/components/line-comment-annotations.tsx +637 -0
  15. package/src/components/line-comment-styles.ts +292 -0
  16. package/src/components/line-comment.stories.tsx +115 -0
  17. package/src/components/line-comment.tsx +439 -0
  18. package/src/components/markdown-cache.tsx +78 -0
  19. package/src/components/markdown-code-state.test.ts +32 -0
  20. package/src/components/markdown-code-state.ts +22 -0
  21. package/src/components/markdown-inline-code-kind.test.ts +46 -0
  22. package/src/components/markdown-inline-code-kind.ts +1915 -0
  23. package/src/components/markdown-preload.test.ts +18 -0
  24. package/src/components/markdown-shiki.worker.ts +104 -0
  25. package/src/components/markdown-stream.test.ts +194 -0
  26. package/src/components/markdown-stream.ts +110 -0
  27. package/src/components/markdown-worker-protocol.test.ts +81 -0
  28. package/src/components/markdown-worker-protocol.ts +48 -0
  29. package/src/components/markdown-worker-queue.test.ts +49 -0
  30. package/src/components/markdown-worker-queue.ts +64 -0
  31. package/src/components/markdown-worker-transport.test.ts +56 -0
  32. package/src/components/markdown-worker-transport.ts +41 -0
  33. package/src/components/markdown-worker.ts +122 -0
  34. package/src/components/markdown.css +377 -0
  35. package/src/components/markdown.stories.tsx +53 -0
  36. package/src/components/markdown.tsx +678 -0
  37. package/src/components/message-file.test.ts +63 -0
  38. package/src/components/message-file.ts +34 -0
  39. package/src/components/message-nav.css +127 -0
  40. package/src/components/message-nav.stories.tsx +7 -0
  41. package/src/components/message-nav.tsx +102 -0
  42. package/src/components/message-part-text.ts +3 -0
  43. package/src/components/message-part.css +1569 -0
  44. package/src/components/message-part.stories.tsx +7 -0
  45. package/src/components/message-part.test.ts +28 -0
  46. package/src/components/message-part.tsx +2662 -0
  47. package/src/components/session-diff.test.ts +135 -0
  48. package/src/components/session-diff.ts +145 -0
  49. package/src/components/session-retry.tsx +74 -0
  50. package/src/components/session-review.css +247 -0
  51. package/src/components/session-review.stories.tsx +7 -0
  52. package/src/components/session-review.tsx +657 -0
  53. package/src/components/session-turn.css +241 -0
  54. package/src/components/session-turn.stories.tsx +7 -0
  55. package/src/components/session-turn.tsx +543 -0
  56. package/src/components/shell-submessage-motion.stories.tsx +346 -0
  57. package/src/components/shell-submessage.css +23 -0
  58. package/src/components/timeline-playground.stories.tsx +2090 -0
  59. package/src/components/tool-count-label.css +57 -0
  60. package/src/components/tool-count-label.tsx +58 -0
  61. package/src/components/tool-count-summary.css +102 -0
  62. package/src/components/tool-count-summary.stories.tsx +238 -0
  63. package/src/components/tool-count-summary.tsx +52 -0
  64. package/src/components/tool-error-card.css +91 -0
  65. package/src/components/tool-error-card.stories.tsx +92 -0
  66. package/src/components/tool-error-card.tsx +157 -0
  67. package/src/components/tool-status-title.css +89 -0
  68. package/src/components/tool-status-title.tsx +133 -0
  69. package/src/context/data.tsx +64 -0
  70. package/src/context/index.ts +1 -0
  71. package/src/pierre/comment-hover.ts +83 -0
  72. package/src/pierre/commented-lines.ts +91 -0
  73. package/src/pierre/diff-selection.ts +71 -0
  74. package/src/pierre/file-find.ts +485 -0
  75. package/src/pierre/file-runtime.ts +114 -0
  76. package/src/pierre/file-selection.ts +85 -0
  77. package/src/pierre/index.ts +186 -0
  78. package/src/pierre/media.ts +110 -0
  79. package/src/pierre/selection-bridge.ts +132 -0
  80. package/src/pierre/virtualizer.ts +100 -0
  81. package/src/pierre/worker.ts +52 -0
  82. package/src/styles/index.css +14 -0
  83. package/src/v2/components/attachment-card-v2.css +70 -0
  84. package/src/v2/components/attachment-card-v2.tsx +33 -0
  85. package/src/v2/components/basic-tool-v2.css +163 -0
  86. package/src/v2/components/basic-tool-v2.stories.tsx +137 -0
  87. package/src/v2/components/basic-tool-v2.tsx +139 -0
  88. package/src/v2/components/comment-card-v2.tsx +64 -0
  89. package/src/v2/components/line-comment-annotations-v2.tsx +220 -0
  90. package/src/v2/components/prompt-input/attachments.ts +266 -0
  91. package/src/v2/components/prompt-input/index.tsx +706 -0
  92. package/src/v2/components/prompt-input/interaction.ts +482 -0
  93. package/src/v2/components/prompt-input/machine.test.ts +164 -0
  94. package/src/v2/components/prompt-input/machine.ts +261 -0
  95. package/src/v2/components/prompt-input/prompt-input.stories.tsx +221 -0
  96. package/src/v2/components/prompt-input/store.test.ts +116 -0
  97. package/src/v2/components/prompt-input/store.ts +152 -0
  98. package/src/v2/components/prompt-input/types.ts +106 -0
  99. package/src/v2/components/session-file-panel-v2.tsx +43 -0
  100. package/src/v2/components/session-progress-indicator-v2.css +875 -0
  101. package/src/v2/components/session-progress-indicator-v2.stories.tsx +66 -0
  102. package/src/v2/components/session-progress-indicator-v2.tsx +32 -0
  103. package/src/v2/components/session-review-empty-changes-v2.tsx +17 -0
  104. package/src/v2/components/session-review-empty-no-git-v2.tsx +28 -0
  105. package/src/v2/components/session-review-file-preview-v2-virtualize.test.ts +13 -0
  106. package/src/v2/components/session-review-file-preview-v2-virtualize.ts +5 -0
  107. package/src/v2/components/session-review-file-preview-v2.tsx +290 -0
  108. package/src/v2/components/session-review-v2.css +458 -0
  109. package/src/v2/components/session-review-v2.tsx +340 -0
  110. package/src/v2/components/tool-error-card-v2.css +200 -0
  111. package/src/v2/components/tool-error-card-v2.stories.tsx +91 -0
  112. package/src/v2/components/tool-error-card-v2.tsx +166 -0
  113. package/sst-env.d.ts +10 -0
  114. package/tsconfig.json +19 -0
@@ -0,0 +1,1569 @@
1
+ [data-component="assistant-message"] {
2
+ content-visibility: auto;
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: flex-start;
7
+ gap: 12px;
8
+ }
9
+
10
+ [data-component="user-message"] {
11
+ font-family: var(--font-family-sans);
12
+ font-size: var(--font-size-base);
13
+ font-style: normal;
14
+ font-weight: var(--font-weight-regular);
15
+ line-height: var(--line-height-large);
16
+ letter-spacing: var(--letter-spacing-normal);
17
+ color: var(--v2-text-text-base);
18
+ display: flex;
19
+ flex-direction: column;
20
+ align-items: flex-end;
21
+ align-self: stretch;
22
+ width: 100%;
23
+ max-width: 100%;
24
+ gap: 0;
25
+
26
+ [data-slot="user-message-attachments"] {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ justify-content: flex-end;
30
+ gap: 8px;
31
+ width: fit-content;
32
+ max-width: min(82%, 64ch);
33
+ margin-left: auto;
34
+ }
35
+
36
+ [data-slot="user-message-attachment"] {
37
+ display: flex;
38
+ flex-direction: column;
39
+ align-items: center;
40
+ justify-content: center;
41
+ min-width: 0;
42
+ border-radius: 6px;
43
+ overflow: hidden;
44
+ background: var(--v2-background-bg-layer-02);
45
+ border: 0.5px solid var(--v2-border-border-base);
46
+ cursor: default;
47
+ transition:
48
+ border-color 0.15s ease,
49
+ opacity 0.3s ease;
50
+
51
+ &:hover {
52
+ border-color: var(--v2-border-border-strong);
53
+ }
54
+
55
+ &[data-clickable] {
56
+ cursor: pointer;
57
+ }
58
+
59
+ &[data-type="image"] {
60
+ position: relative;
61
+ width: 58px;
62
+ height: 46px;
63
+ border: none;
64
+
65
+ /* inset box-shadows do not paint over <img> content, so the hairline is an overlay */
66
+ &::after {
67
+ content: "";
68
+ position: absolute;
69
+ inset: 0;
70
+ border-radius: inherit;
71
+ box-shadow: inset 0 0 0 0.5px var(--v2-border-border-base);
72
+ pointer-events: none;
73
+ }
74
+ }
75
+
76
+ &[data-type="file"] {
77
+ width: min(220px, 100%);
78
+ height: 48px;
79
+ padding: 0 10px;
80
+ }
81
+ }
82
+
83
+ [data-slot="user-message-attachment-image"] {
84
+ width: 100%;
85
+ height: 100%;
86
+ object-fit: cover;
87
+ }
88
+
89
+ [data-slot="user-message-attachment-icon"] {
90
+ width: 100%;
91
+ height: 100%;
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ color: var(--icon-weak);
96
+
97
+ [data-component="icon"] {
98
+ width: 20px;
99
+ height: 20px;
100
+ }
101
+ }
102
+
103
+ [data-slot="user-message-attachment-file"] {
104
+ width: 100%;
105
+ min-width: 0;
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 8px;
109
+
110
+ [data-component="file-icon"] {
111
+ width: 20px;
112
+ height: 20px;
113
+ flex: none;
114
+ }
115
+ }
116
+
117
+ [data-slot="user-message-attachment-name"] {
118
+ min-width: 0;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ color: var(--v2-text-text-muted);
123
+ font-size: var(--font-size-small);
124
+ line-height: var(--line-height-large);
125
+ }
126
+
127
+ [data-slot="user-message-body"] {
128
+ width: fit-content;
129
+ max-width: min(82%, 64ch);
130
+ margin-left: auto;
131
+ display: flex;
132
+ flex-direction: column;
133
+ align-items: flex-end;
134
+ }
135
+
136
+ [data-slot="user-message-text"] {
137
+ display: inline-block;
138
+ white-space: pre-wrap;
139
+ word-break: break-word;
140
+ overflow: hidden;
141
+ background: var(--v2-background-bg-layer-02);
142
+ border: none;
143
+ padding: 8px 12px;
144
+ border-radius: 10px;
145
+
146
+ [data-highlight="file"] {
147
+ color: var(--syntax-property);
148
+ }
149
+
150
+ [data-highlight="agent"] {
151
+ color: var(--syntax-type);
152
+ }
153
+
154
+ max-width: 100%;
155
+ }
156
+
157
+ [data-slot="user-message-copy-wrapper"] {
158
+ min-height: 24px;
159
+ margin-top: 4px;
160
+ display: flex;
161
+ align-items: center;
162
+ justify-content: flex-end;
163
+ gap: 10px;
164
+ width: 100%;
165
+ opacity: 0;
166
+ pointer-events: none;
167
+ transition: opacity 0.15s ease;
168
+ will-change: opacity;
169
+
170
+ [data-component="tooltip-trigger"] {
171
+ display: inline-flex;
172
+ width: fit-content;
173
+ }
174
+ }
175
+
176
+ [data-slot="user-message-meta"] {
177
+ user-select: none;
178
+ text-align: right;
179
+ flex: 1 1 auto;
180
+ min-width: 0;
181
+ overflow: hidden;
182
+ text-overflow: ellipsis;
183
+ white-space: nowrap;
184
+ }
185
+
186
+ [data-slot="user-message-meta-wrap"] {
187
+ flex: 1 1 auto;
188
+ min-width: 0;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: flex-end;
192
+ overflow: hidden;
193
+ gap: 0;
194
+ }
195
+
196
+ [data-slot="user-message-meta-tail"] {
197
+ user-select: none;
198
+ flex: 0 0 auto;
199
+ white-space: nowrap;
200
+ text-align: right;
201
+ }
202
+
203
+ &:hover [data-slot="user-message-copy-wrapper"],
204
+ &:focus-within [data-slot="user-message-copy-wrapper"] {
205
+ opacity: 1;
206
+ pointer-events: auto;
207
+ }
208
+
209
+ .text-text-strong {
210
+ color: var(--v2-text-text-base);
211
+ }
212
+
213
+ .font-medium {
214
+ font-weight: var(--font-weight-medium);
215
+ }
216
+ }
217
+
218
+ [data-component="text-part"] {
219
+ width: 100%;
220
+ margin-top: 24px;
221
+
222
+ [data-slot="text-part-body"] {
223
+ margin-top: 0;
224
+ }
225
+
226
+ [data-slot="text-part-copy-wrapper"] {
227
+ min-height: 24px;
228
+ margin-top: 4px;
229
+ display: flex;
230
+ align-items: center;
231
+ justify-content: flex-start;
232
+ gap: 10px;
233
+ opacity: 0;
234
+ pointer-events: none;
235
+ transition: opacity 0.15s ease;
236
+ will-change: opacity;
237
+
238
+ [data-component="tooltip-trigger"] {
239
+ display: inline-flex;
240
+ width: fit-content;
241
+ }
242
+ }
243
+
244
+ [data-slot="text-part-meta"] {
245
+ user-select: none;
246
+ }
247
+
248
+ [data-slot="text-part-copy-wrapper"][data-interrupted] {
249
+ width: 100%;
250
+ justify-content: flex-end;
251
+ gap: 12px;
252
+ }
253
+
254
+ &:hover [data-slot="text-part-copy-wrapper"],
255
+ &:focus-within [data-slot="text-part-copy-wrapper"] {
256
+ opacity: 1;
257
+ pointer-events: auto;
258
+ }
259
+ }
260
+
261
+ [data-component="compaction-part"] {
262
+ width: 100%;
263
+ display: flex;
264
+ flex-direction: column;
265
+ align-items: stretch;
266
+
267
+ [data-slot="compaction-part-divider"] {
268
+ display: flex;
269
+ align-items: center;
270
+ gap: 12px;
271
+ padding: 10px 0;
272
+ width: 100%;
273
+ }
274
+
275
+ [data-slot="compaction-part-line"] {
276
+ flex: 1 1 auto;
277
+ height: 1px;
278
+ background: var(--v2-border-border-base);
279
+ }
280
+
281
+ [data-slot="compaction-part-label"] {
282
+ flex: 0 0 auto;
283
+ white-space: nowrap;
284
+ text-align: center;
285
+ }
286
+ }
287
+
288
+ [data-component="reasoning-part"] {
289
+ width: 100%;
290
+ color: var(--v2-text-text-muted);
291
+ line-height: var(--line-height-normal);
292
+
293
+ [data-component="markdown"] {
294
+ margin-top: 16px;
295
+ font-style: normal;
296
+ font-size: 13px;
297
+ color: var(--v2-text-text-muted);
298
+
299
+ strong,
300
+ b {
301
+ color: var(--v2-text-text-muted);
302
+ }
303
+
304
+ p:has(strong) {
305
+ margin-top: 24px;
306
+ margin-bottom: 0;
307
+
308
+ &:first-child {
309
+ margin-top: 0;
310
+ }
311
+ }
312
+ }
313
+ }
314
+
315
+ @media (prefers-color-scheme: dark) {
316
+ [data-component="reasoning-part"] [data-component="markdown"] :not(pre) > code {
317
+ opacity: 0.6;
318
+ }
319
+ }
320
+
321
+ [data-component="tool-output"] {
322
+ white-space: pre;
323
+ padding: 0;
324
+ margin-bottom: 24px;
325
+ height: fit-content;
326
+ display: flex;
327
+ flex-direction: column;
328
+ align-items: flex-start;
329
+ justify-content: flex-start;
330
+
331
+ [data-component="markdown"] {
332
+ width: 100%;
333
+ min-width: 0;
334
+
335
+ pre {
336
+ margin: 0;
337
+ padding: 0;
338
+ background-color: transparent !important;
339
+ border: none !important;
340
+ }
341
+ }
342
+
343
+ pre {
344
+ margin: 0;
345
+ padding: 0;
346
+ background: none;
347
+ }
348
+
349
+ &[data-scrollable] {
350
+ height: auto;
351
+ max-height: 240px;
352
+ overflow-y: auto;
353
+ scrollbar-width: none;
354
+ -ms-overflow-style: none;
355
+
356
+ &::-webkit-scrollbar {
357
+ display: none;
358
+ }
359
+
360
+ [data-component="markdown"] {
361
+ overflow: visible;
362
+ }
363
+ }
364
+ }
365
+
366
+ [data-component="bash-output"] {
367
+ width: 100%;
368
+ border: 0.5px solid var(--v2-border-border-base);
369
+ border-radius: 6px;
370
+ background: transparent;
371
+ position: relative;
372
+ overflow: hidden;
373
+
374
+ [data-slot="bash-copy"] {
375
+ position: absolute;
376
+ top: 4px;
377
+ right: 4px;
378
+ opacity: 0;
379
+ pointer-events: none;
380
+ transition: opacity 0.15s ease;
381
+ }
382
+
383
+ &:hover [data-slot="bash-copy"],
384
+ &:focus-within [data-slot="bash-copy"] {
385
+ opacity: 1;
386
+ pointer-events: auto;
387
+ }
388
+
389
+ [data-slot="bash-scroll"] {
390
+ width: 100%;
391
+ overflow-y: auto;
392
+ overflow-x: hidden;
393
+ max-height: 240px;
394
+
395
+ scrollbar-width: none;
396
+ &::-webkit-scrollbar {
397
+ display: none;
398
+ }
399
+ }
400
+
401
+ [data-slot="bash-pre"] {
402
+ margin: 0;
403
+ padding: 12px;
404
+ }
405
+
406
+ [data-slot="bash-pre"] code {
407
+ font-family: var(--font-family-mono);
408
+ font-feature-settings: var(--font-family-mono--font-feature-settings);
409
+ font-size: 13px;
410
+ line-height: var(--line-height-large);
411
+ white-space: pre-wrap;
412
+ overflow-wrap: anywhere;
413
+ }
414
+ }
415
+
416
+ [data-component="edit-trigger"],
417
+ [data-component="write-trigger"] {
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: space-between;
421
+ gap: 12px;
422
+ width: 100%;
423
+
424
+ [data-slot="message-part-title-area"] {
425
+ flex-grow: 1;
426
+ display: flex;
427
+ align-items: center;
428
+ gap: 8px;
429
+ min-width: 0;
430
+ }
431
+
432
+ [data-slot="message-part-title"] {
433
+ flex: 1 1 auto;
434
+ display: flex;
435
+ align-items: center;
436
+ gap: 8px;
437
+ min-width: 0;
438
+ font-family: var(--font-family-sans);
439
+ font-size: 14px;
440
+ font-style: normal;
441
+ font-weight: var(--font-weight-medium);
442
+ line-height: var(--line-height-large);
443
+ letter-spacing: var(--letter-spacing-normal);
444
+ color: var(--v2-text-text-muted);
445
+ }
446
+
447
+ [data-slot="message-part-title-spinner"] {
448
+ margin-left: 4px;
449
+ width: 16px;
450
+ height: 16px;
451
+ display: inline-flex;
452
+ align-items: center;
453
+ justify-content: center;
454
+ flex-shrink: 0;
455
+ color: var(--v2-text-text-muted);
456
+
457
+ [data-component="spinner"] {
458
+ width: 16px;
459
+ height: 16px;
460
+ }
461
+ }
462
+
463
+ [data-slot="message-part-title-text"] {
464
+ flex-shrink: 0;
465
+ text-transform: capitalize;
466
+ color: var(--v2-text-text-base);
467
+ }
468
+
469
+ [data-slot="message-part-title-filename"] {
470
+ /* No text-transform - preserve original filename casing */
471
+ min-width: 0;
472
+ overflow: hidden;
473
+ text-overflow: ellipsis;
474
+ white-space: nowrap;
475
+ font-weight: var(--font-weight-regular);
476
+ }
477
+
478
+ [data-slot="message-part-path"] {
479
+ display: flex;
480
+ flex-grow: 1;
481
+ min-width: 0;
482
+ font-weight: var(--font-weight-regular);
483
+ }
484
+
485
+ [data-slot="message-part-directory"] {
486
+ color: var(--v2-text-text-muted);
487
+ text-overflow: ellipsis;
488
+ overflow: hidden;
489
+ white-space: nowrap;
490
+ direction: rtl;
491
+ text-align: left;
492
+ }
493
+
494
+ [data-slot="message-part-filename"] {
495
+ color: var(--v2-text-text-base);
496
+ flex-shrink: 0;
497
+ }
498
+
499
+ [data-slot="message-part-actions"] {
500
+ display: flex;
501
+ gap: 16px;
502
+ align-items: center;
503
+ justify-content: flex-end;
504
+ flex-shrink: 0;
505
+ }
506
+ }
507
+
508
+ [data-component="edit-content"] {
509
+ border-radius: inherit;
510
+ border-top: 0.5px solid var(--v2-border-border-muted);
511
+ overflow-x: hidden;
512
+ overflow-y: visible;
513
+
514
+ scrollbar-width: none;
515
+ -ms-overflow-style: none;
516
+
517
+ &::-webkit-scrollbar {
518
+ display: none;
519
+ }
520
+
521
+ [data-component="diff"] {
522
+ border-radius: inherit;
523
+ overflow: hidden;
524
+ }
525
+ }
526
+
527
+ [data-component="write-content"] {
528
+ border-radius: inherit;
529
+ border-top: 0.5px solid var(--v2-border-border-muted);
530
+ overflow-x: hidden;
531
+ overflow-y: visible;
532
+
533
+ [data-component="code"] {
534
+ padding-bottom: 0 !important;
535
+ border-radius: inherit;
536
+ overflow: hidden;
537
+ }
538
+
539
+ /* Hide scrollbar */
540
+ scrollbar-width: none;
541
+ -ms-overflow-style: none;
542
+
543
+ &::-webkit-scrollbar {
544
+ display: none;
545
+ }
546
+ }
547
+
548
+ [data-component="tool-action"] {
549
+ width: 24px;
550
+ height: 24px;
551
+ display: flex;
552
+ align-items: center;
553
+ justify-content: center;
554
+ }
555
+
556
+ [data-component="exa-tool-output"] {
557
+ width: 100%;
558
+ display: flex;
559
+ flex-direction: column;
560
+ font-family: var(--font-family-sans);
561
+ font-size: var(--font-size-base);
562
+ line-height: var(--line-height-large);
563
+ color: var(--v2-text-text-muted);
564
+ }
565
+
566
+ [data-slot="basic-tool-tool-subtitle"].exa-tool-query {
567
+ display: block;
568
+ max-width: 100%;
569
+ overflow: hidden;
570
+ text-overflow: ellipsis;
571
+ white-space: nowrap;
572
+ }
573
+
574
+ [data-slot="exa-tool-links"] {
575
+ display: flex;
576
+ flex-direction: column;
577
+ gap: 4px;
578
+ }
579
+
580
+ [data-slot="exa-tool-link"] {
581
+ display: block;
582
+ max-width: 100%;
583
+ font: inherit;
584
+ line-height: inherit;
585
+ color: var(--v2-text-text-accent);
586
+ text-decoration: underline;
587
+ text-underline-offset: 2px;
588
+ overflow: hidden;
589
+ text-overflow: ellipsis;
590
+ white-space: nowrap;
591
+
592
+ &:hover {
593
+ color: var(--v2-text-text-accent);
594
+ }
595
+
596
+ &:visited {
597
+ color: var(--v2-text-text-accent);
598
+ }
599
+ }
600
+
601
+ [data-component="todos"] {
602
+ padding: 10px 0 24px 0;
603
+ display: flex;
604
+ flex-direction: column;
605
+ gap: 8px;
606
+
607
+ [data-component="checkbox"] {
608
+ --checkbox-align: flex-start;
609
+ --checkbox-offset: 0.5px;
610
+ }
611
+
612
+ [data-slot="message-part-todo-content"] {
613
+ line-height: var(--line-height-normal);
614
+
615
+ &[data-completed="completed"] {
616
+ text-decoration: line-through;
617
+ color: var(--v2-text-text-faint);
618
+ }
619
+ }
620
+ }
621
+
622
+ [data-component="context-tool-group-trigger"] {
623
+ width: 100%;
624
+ min-height: 24px;
625
+ display: flex;
626
+ align-items: center;
627
+ justify-content: flex-start;
628
+ gap: 0px;
629
+ cursor: default;
630
+
631
+ [data-slot="context-tool-group-title"] {
632
+ flex-shrink: 1;
633
+ min-width: 0;
634
+ }
635
+
636
+ [data-slot="collapsible-arrow"] {
637
+ color: var(--icon-weaker);
638
+ cursor: pointer;
639
+ }
640
+ }
641
+
642
+ [data-component="context-tool-group-list"] {
643
+ padding-top: 0;
644
+ padding-right: 0;
645
+ padding-bottom: 0;
646
+ padding-left: 12px;
647
+ display: flex;
648
+ flex-direction: column;
649
+ gap: 4px;
650
+
651
+ [data-slot="context-tool-group-item"] {
652
+ min-width: 0;
653
+ padding: 0;
654
+ }
655
+ }
656
+
657
+ [data-component="diagnostics"] {
658
+ display: flex;
659
+ flex-direction: column;
660
+ gap: 4px;
661
+ padding: 8px 12px;
662
+ background-color: var(--v2-state-bg-danger);
663
+ border-top: 0.5px solid var(--v2-state-border-danger);
664
+
665
+ [data-slot="diagnostic"] {
666
+ display: flex;
667
+ align-items: baseline;
668
+ gap: 6px;
669
+ font-family: var(--font-family-mono);
670
+ font-size: var(--font-size-small);
671
+ line-height: var(--line-height-large);
672
+ }
673
+
674
+ [data-slot="diagnostic-label"] {
675
+ color: var(--v2-state-fg-danger);
676
+ font-weight: var(--font-weight-medium);
677
+ text-transform: uppercase;
678
+ letter-spacing: -0.5px;
679
+ flex-shrink: 0;
680
+ }
681
+
682
+ [data-slot="diagnostic-location"] {
683
+ color: var(--v2-state-fg-danger);
684
+ flex-shrink: 0;
685
+ }
686
+
687
+ [data-slot="diagnostic-message"] {
688
+ color: var(--v2-state-fg-danger);
689
+ word-break: break-word;
690
+ display: -webkit-box;
691
+ -webkit-box-orient: vertical;
692
+ -webkit-line-clamp: 3;
693
+ line-clamp: 3;
694
+ overflow: hidden;
695
+ }
696
+ }
697
+
698
+ [data-component="user-message"] [data-slot="user-message-text"],
699
+ [data-component="text-part"],
700
+ [data-component="reasoning-part"],
701
+ [data-component="tool-output"],
702
+ [data-component="bash-output"],
703
+ [data-component="edit-content"],
704
+ [data-component="write-content"],
705
+ [data-component="todos"],
706
+ [data-component="diagnostics"],
707
+ .error-card {
708
+ -webkit-user-select: text;
709
+ user-select: text;
710
+ }
711
+
712
+ [data-component="tool-part-wrapper"] {
713
+ width: 100%;
714
+ }
715
+
716
+ [data-component="dock-prompt"][data-kind="permission"] {
717
+ position: relative;
718
+ display: flex;
719
+ flex-direction: column;
720
+ gap: 0;
721
+ min-height: 0;
722
+ max-height: 100dvh;
723
+
724
+ [data-slot="permission-body"] {
725
+ display: flex;
726
+ flex-direction: column;
727
+ gap: 16px;
728
+ flex: 1;
729
+ min-height: 0;
730
+ padding: 12px 12px 0;
731
+ }
732
+
733
+ [data-slot="permission-header"] {
734
+ padding: 0;
735
+ }
736
+
737
+ [data-slot="permission-row"] {
738
+ display: grid;
739
+ grid-template-columns: 20px 1fr;
740
+ column-gap: 8px;
741
+ align-items: start;
742
+ }
743
+
744
+ [data-slot="permission-row"][data-variant="header"] {
745
+ align-items: center;
746
+ }
747
+
748
+ [data-slot="permission-icon"] {
749
+ display: inline-flex;
750
+ align-items: center;
751
+ justify-content: center;
752
+ }
753
+
754
+ [data-slot="permission-icon"] [data-component="icon"] {
755
+ color: var(--icon-warning-base);
756
+ }
757
+
758
+ [data-slot="permission-header-title"] {
759
+ font-family: var(--font-family-sans);
760
+ font-size: 14px;
761
+ font-weight: var(--font-weight-medium);
762
+ line-height: var(--line-height-large);
763
+ color: var(--v2-text-text-base);
764
+ min-width: 0;
765
+ }
766
+
767
+ [data-slot="permission-content"] {
768
+ display: flex;
769
+ flex-direction: column;
770
+ gap: 4px;
771
+ flex: 1;
772
+ min-height: 0;
773
+ }
774
+
775
+ [data-slot="permission-hint"] {
776
+ font-family: var(--font-family-sans);
777
+ font-size: 14px;
778
+ font-weight: var(--font-weight-regular);
779
+ line-height: var(--line-height-large);
780
+ color: var(--v2-text-text-muted);
781
+ padding: 0;
782
+ }
783
+
784
+ [data-slot="permission-patterns"] {
785
+ display: flex;
786
+ flex-direction: column;
787
+ gap: 6px;
788
+ margin-top: 8px;
789
+ margin-bottom: 16px;
790
+ padding: 1px 0 8px;
791
+ flex: 1;
792
+ min-height: 0;
793
+ overflow-y: auto;
794
+ scrollbar-width: none;
795
+ -ms-overflow-style: none;
796
+
797
+ &::-webkit-scrollbar {
798
+ display: none;
799
+ }
800
+
801
+ code {
802
+ font-size: 14px;
803
+ line-height: var(--line-height-large);
804
+ }
805
+ }
806
+
807
+ [data-slot="permission-footer"] {
808
+ display: flex;
809
+ align-items: center;
810
+ justify-content: space-between;
811
+ flex-shrink: 0;
812
+ padding: 32px 8px 8px;
813
+ margin-top: -24px;
814
+ }
815
+
816
+ [data-slot="permission-footer-actions"] {
817
+ display: flex;
818
+ align-items: center;
819
+ gap: 8px;
820
+
821
+ [data-component="button"] {
822
+ padding-left: 12px;
823
+ padding-right: 12px;
824
+ }
825
+ }
826
+ }
827
+
828
+ [data-component="dock-prompt"][data-kind="question"] {
829
+ position: relative;
830
+ display: flex;
831
+ flex-direction: column;
832
+ gap: 0;
833
+ min-height: 0;
834
+ max-height: var(--question-prompt-max-height, 100dvh);
835
+
836
+ [data-slot="question-body"] {
837
+ display: flex;
838
+ flex-direction: column;
839
+ gap: 16px;
840
+ flex: 1;
841
+ min-height: 0;
842
+ padding: 8px 8px 0;
843
+ }
844
+
845
+ [data-slot="question-header"] {
846
+ display: flex;
847
+ align-items: center;
848
+ justify-content: space-between;
849
+ gap: 12px;
850
+ padding: 0 10px;
851
+ }
852
+
853
+ [data-slot="question-header-title"] {
854
+ font-family: var(--font-family-sans);
855
+ font-size: 14px;
856
+ font-weight: var(--font-weight-medium);
857
+ line-height: var(--line-height-large);
858
+ color: var(--v2-text-text-base);
859
+ min-width: 0;
860
+ }
861
+
862
+ [data-slot="question-header-actions"] {
863
+ display: flex;
864
+ align-items: center;
865
+ gap: 8px;
866
+ flex-shrink: 0;
867
+ }
868
+
869
+ [data-slot="question-progress"] {
870
+ display: flex;
871
+ align-items: center;
872
+ gap: 8px;
873
+ flex-shrink: 0;
874
+ }
875
+
876
+ [data-slot="question-progress-segment"] {
877
+ width: 16px;
878
+ height: 16px;
879
+ padding: 0;
880
+ border: 0;
881
+ background: transparent;
882
+ border-radius: 999px;
883
+ display: inline-flex;
884
+ align-items: center;
885
+ justify-content: center;
886
+ cursor: pointer;
887
+ touch-action: manipulation;
888
+
889
+ &::after {
890
+ content: "";
891
+ width: 16px;
892
+ height: 2px;
893
+ border-radius: 999px;
894
+ background-color: var(--v2-icon-icon-muted);
895
+ transition: background-color 0.2s ease;
896
+ }
897
+
898
+ &[data-active="true"]::after {
899
+ background-color: var(--icon-strong-base);
900
+ }
901
+
902
+ &[data-answered="true"]::after {
903
+ background-color: var(--icon-interactive-base);
904
+ }
905
+
906
+ &:disabled {
907
+ cursor: not-allowed;
908
+ opacity: 0.6;
909
+ }
910
+ }
911
+
912
+ [data-slot="question-content"] {
913
+ display: flex;
914
+ flex-direction: column;
915
+ gap: 4px;
916
+ flex: 1;
917
+ min-height: 0;
918
+ }
919
+
920
+ [data-slot="question-text"] {
921
+ font-family: var(--font-family-sans);
922
+ font-size: 14px;
923
+ font-weight: var(--font-weight-medium);
924
+ line-height: var(--line-height-large);
925
+ color: var(--v2-text-text-base);
926
+ padding: 0 10px;
927
+ flex-shrink: 0;
928
+ -webkit-user-select: text;
929
+ user-select: text;
930
+ }
931
+
932
+ [data-slot="question-hint"] {
933
+ font-family: var(--font-family-sans);
934
+ font-size: 13px;
935
+ font-weight: var(--font-weight-regular);
936
+ line-height: var(--line-height-large);
937
+ color: var(--v2-text-text-muted);
938
+ padding: 0 10px;
939
+ flex-shrink: 0;
940
+ }
941
+
942
+ [data-slot="question-options"] {
943
+ display: flex;
944
+ flex-direction: column;
945
+ gap: 6px;
946
+ margin-top: 12px;
947
+ padding: 1px 1px 16px;
948
+ flex: 1 1 auto;
949
+ min-height: 0;
950
+ overflow-y: auto;
951
+ scrollbar-width: none;
952
+ -ms-overflow-style: none;
953
+
954
+ &::-webkit-scrollbar {
955
+ display: none;
956
+ }
957
+ }
958
+
959
+ [data-slot="question-option"] {
960
+ display: flex;
961
+ align-items: flex-start;
962
+ gap: 12px;
963
+ padding: 8px 8px 8px 10px;
964
+ background-color: var(--v2-background-bg-layer-01);
965
+ border: 0.5px solid var(--v2-border-border-base);
966
+ border-radius: 6px;
967
+ box-shadow: none;
968
+ text-align: left;
969
+ width: 100%;
970
+ cursor: pointer;
971
+ transition:
972
+ background-color 0.15s ease,
973
+ border-color 0.15s ease,
974
+ box-shadow 0.15s ease;
975
+
976
+ &:hover:not([data-picked="true"]) {
977
+ background-color: var(--v2-background-bg-base);
978
+ }
979
+
980
+ &[data-picked="true"] {
981
+ background-color: var(--v2-state-bg-info);
982
+ border-color: transparent;
983
+ box-shadow: var(--shadow-xs-border-hover);
984
+ }
985
+
986
+ &:disabled {
987
+ cursor: not-allowed;
988
+ opacity: 0.6;
989
+ }
990
+ }
991
+
992
+ [data-slot="question-option-check"] {
993
+ display: inline-flex;
994
+ transform: translateY(2px);
995
+ }
996
+
997
+ [data-slot="question-option-box"] {
998
+ width: 16px;
999
+ height: 16px;
1000
+ padding: 2px;
1001
+ border-radius: var(--radius-sm);
1002
+ border: 0.5px solid var(--v2-border-border-base);
1003
+ display: inline-flex;
1004
+ align-items: center;
1005
+ justify-content: center;
1006
+ flex-shrink: 0;
1007
+ background-color: transparent;
1008
+ transition:
1009
+ background-color 0.15s ease,
1010
+ border-color 0.15s ease;
1011
+
1012
+ [data-component="icon"] {
1013
+ opacity: 0;
1014
+ color: var(--icon-base);
1015
+ }
1016
+
1017
+ &[data-type="radio"] {
1018
+ border-radius: 999px;
1019
+ }
1020
+
1021
+ [data-slot="question-option-radio-dot"] {
1022
+ width: 6px;
1023
+ height: 6px;
1024
+ border-radius: 999px;
1025
+ background-color: var(--v2-background-bg-layer-01);
1026
+ opacity: 0;
1027
+ }
1028
+
1029
+ &[data-picked="true"] {
1030
+ border-color: var(--icon-interactive-base);
1031
+
1032
+ [data-component="icon"] {
1033
+ opacity: 1;
1034
+ color: var(--icon-invert-base);
1035
+ }
1036
+
1037
+ &[data-type="checkbox"] {
1038
+ background-color: var(--icon-interactive-base);
1039
+ }
1040
+
1041
+ &[data-type="radio"] {
1042
+ background-color: var(--icon-interactive-base);
1043
+ [data-slot="question-option-radio-dot"] {
1044
+ opacity: 1;
1045
+ }
1046
+ }
1047
+ }
1048
+ }
1049
+
1050
+ [data-slot="question-option-main"] {
1051
+ display: flex;
1052
+ flex-direction: column;
1053
+ gap: 2px;
1054
+ min-width: 0;
1055
+ flex: 1;
1056
+ }
1057
+
1058
+ [data-slot="option-label"] {
1059
+ font-family: var(--font-family-sans);
1060
+ font-size: 14px;
1061
+ font-weight: var(--font-weight-medium);
1062
+ line-height: var(--line-height-large);
1063
+ color: var(--v2-text-text-base);
1064
+ }
1065
+
1066
+ [data-slot="option-description"] {
1067
+ font-family: var(--font-family-sans);
1068
+ font-size: 14px;
1069
+ font-weight: var(--font-weight-regular);
1070
+ line-height: var(--line-height-large);
1071
+ color: var(--v2-text-text-muted);
1072
+ min-width: 0;
1073
+ overflow-wrap: anywhere;
1074
+ white-space: normal;
1075
+ }
1076
+
1077
+ [data-slot="question-custom"] {
1078
+ display: flex;
1079
+ flex-direction: column;
1080
+ gap: 8px;
1081
+ }
1082
+
1083
+ [data-slot="question-custom-input-wrap"] {
1084
+ padding-left: 36px;
1085
+ }
1086
+
1087
+ [data-slot="question-custom-input"] {
1088
+ width: 100%;
1089
+ padding: 0;
1090
+ border: 0;
1091
+ border-radius: 0;
1092
+ background: transparent;
1093
+ box-shadow: none;
1094
+ outline: none;
1095
+ font-family: var(--font-family-sans);
1096
+ font-size: 14px;
1097
+ font-weight: var(--font-weight-regular);
1098
+ line-height: var(--line-height-large);
1099
+ color: var(--v2-text-text-muted);
1100
+ min-width: 0;
1101
+ cursor: text;
1102
+ resize: none;
1103
+ overflow: hidden;
1104
+ overflow-wrap: anywhere;
1105
+
1106
+ &::placeholder {
1107
+ color: var(--v2-text-text-muted);
1108
+ }
1109
+
1110
+ &:focus-visible {
1111
+ outline: 0.5px solid var(--v2-border-border-focus);
1112
+ outline-offset: 2px;
1113
+ border-radius: var(--radius-xs);
1114
+ }
1115
+
1116
+ &:disabled {
1117
+ opacity: 0.6;
1118
+ }
1119
+ }
1120
+
1121
+ [data-slot="question-footer"] {
1122
+ display: flex;
1123
+ align-items: center;
1124
+ justify-content: space-between;
1125
+ flex-shrink: 0;
1126
+ padding: 32px 8px 8px;
1127
+ margin-top: -24px;
1128
+ }
1129
+
1130
+ [data-slot="question-footer-actions"] {
1131
+ display: flex;
1132
+ align-items: center;
1133
+ gap: 8px;
1134
+ }
1135
+ }
1136
+
1137
+ [data-component="question-minimized-dock"] {
1138
+ margin-bottom: 8px;
1139
+
1140
+ [data-slot="question-minimized-trigger"] {
1141
+ display: flex;
1142
+ align-items: center;
1143
+ gap: 10px;
1144
+ width: 100%;
1145
+ padding: 10px 12px;
1146
+ border: 0;
1147
+ background: transparent;
1148
+ color: var(--v2-text-text-base);
1149
+ text-align: left;
1150
+ cursor: pointer;
1151
+ touch-action: manipulation;
1152
+
1153
+ &:disabled {
1154
+ cursor: not-allowed;
1155
+ opacity: 0.6;
1156
+ }
1157
+
1158
+ [data-component="icon"] {
1159
+ transform: rotate(180deg);
1160
+ }
1161
+ }
1162
+
1163
+ [data-slot="question-minimized-summary"] {
1164
+ flex: 1;
1165
+ font-family: var(--font-family-sans);
1166
+ font-size: 14px;
1167
+ font-weight: var(--font-weight-medium);
1168
+ line-height: var(--line-height-large);
1169
+ color: var(--v2-text-text-base);
1170
+ }
1171
+ }
1172
+
1173
+ [data-component="question-answers"] {
1174
+ display: flex;
1175
+ flex-direction: column;
1176
+ gap: 12px;
1177
+ padding: 8px 0;
1178
+
1179
+ [data-slot="question-answer-item"] {
1180
+ display: flex;
1181
+ flex-direction: column;
1182
+ gap: 2px;
1183
+ font-size: 13px;
1184
+
1185
+ [data-slot="question-text"] {
1186
+ color: var(--v2-text-text-muted);
1187
+ }
1188
+
1189
+ [data-slot="answer-text"] {
1190
+ color: var(--v2-text-text-base);
1191
+ }
1192
+ }
1193
+ }
1194
+
1195
+ [data-component="edit-tool"],
1196
+ [data-component="write-tool"],
1197
+ [data-component="apply-patch-tool"] {
1198
+ > [data-component="collapsible"].tool-collapsible {
1199
+ gap: 0px;
1200
+ }
1201
+
1202
+ > [data-component="collapsible"] > [data-slot="collapsible-content"] {
1203
+ border: none;
1204
+ background: transparent;
1205
+ }
1206
+
1207
+ > [data-component="collapsible"] > [data-slot="collapsible-trigger"][aria-expanded="true"] {
1208
+ position: sticky;
1209
+ top: var(--sticky-accordion-top, 0px);
1210
+ z-index: 20;
1211
+ height: calc(32px + var(--tool-content-gap));
1212
+ padding-bottom: var(--tool-content-gap);
1213
+ background-color: var(--v2-background-bg-base);
1214
+ }
1215
+ }
1216
+
1217
+ [data-component="accordion"][data-scope="apply-patch"] {
1218
+ [data-slot="accordion-trigger"] {
1219
+ background-color: var(--v2-background-bg-base) !important;
1220
+ }
1221
+
1222
+ [data-slot="apply-patch-trigger-content"] {
1223
+ display: flex;
1224
+ align-items: center;
1225
+ justify-content: space-between;
1226
+ width: 100%;
1227
+ gap: 20px;
1228
+ }
1229
+
1230
+ [data-slot="apply-patch-file-info"] {
1231
+ flex-grow: 1;
1232
+ display: flex;
1233
+ align-items: center;
1234
+ gap: 20px;
1235
+ min-width: 0;
1236
+ }
1237
+
1238
+ [data-slot="apply-patch-file-name-container"] {
1239
+ display: flex;
1240
+ flex-grow: 1;
1241
+ min-width: 0;
1242
+ overflow: hidden;
1243
+ }
1244
+
1245
+ [data-slot="apply-patch-directory"] {
1246
+ color: var(--v2-text-text-muted);
1247
+ text-overflow: ellipsis;
1248
+ overflow: hidden;
1249
+ white-space: nowrap;
1250
+ direction: rtl;
1251
+ text-align: left;
1252
+ }
1253
+
1254
+ [data-slot="apply-patch-filename"] {
1255
+ color: var(--v2-text-text-base);
1256
+ min-width: 0;
1257
+ overflow: hidden;
1258
+ text-overflow: ellipsis;
1259
+ white-space: nowrap;
1260
+ }
1261
+
1262
+ [data-slot="apply-patch-trigger-actions"] {
1263
+ flex-shrink: 0;
1264
+ display: flex;
1265
+ gap: 16px;
1266
+ align-items: center;
1267
+ justify-content: flex-end;
1268
+ }
1269
+
1270
+ [data-slot="apply-patch-change"] {
1271
+ font-family: var(--font-family-sans);
1272
+ font-size: var(--font-size-small);
1273
+ font-weight: var(--font-weight-medium);
1274
+ }
1275
+
1276
+ [data-slot="apply-patch-change"][data-type="added"] {
1277
+ color: var(--icon-diff-add-base);
1278
+ }
1279
+
1280
+ [data-slot="apply-patch-change"][data-type="removed"] {
1281
+ color: var(--icon-diff-delete-base);
1282
+ }
1283
+
1284
+ [data-slot="apply-patch-change"][data-type="modified"] {
1285
+ color: var(--icon-diff-modified-base);
1286
+ }
1287
+ }
1288
+
1289
+ [data-component="apply-patch-file-diff"] {
1290
+ border-radius: inherit;
1291
+ overflow-x: hidden;
1292
+ overflow-y: visible;
1293
+ scrollbar-width: none;
1294
+ -ms-overflow-style: none;
1295
+
1296
+ &::-webkit-scrollbar {
1297
+ display: none;
1298
+ }
1299
+
1300
+ [data-component="diff"] {
1301
+ border-radius: inherit;
1302
+ overflow: hidden;
1303
+ }
1304
+ }
1305
+
1306
+ [data-component="tool-loaded-file"] {
1307
+ display: flex;
1308
+ align-items: center;
1309
+ gap: 8px;
1310
+ padding: 4px 0 4px 28px;
1311
+ font-family: var(--font-family-sans);
1312
+ font-size: var(--font-size-small);
1313
+ font-weight: var(--font-weight-regular);
1314
+ line-height: var(--line-height-large);
1315
+ color: var(--v2-text-text-muted);
1316
+
1317
+ [data-component="icon"] {
1318
+ flex-shrink: 0;
1319
+ color: var(--icon-weak);
1320
+ }
1321
+ }
1322
+
1323
+ body[data-new-layout] [data-component="user-message"] {
1324
+ font-weight: 440;
1325
+
1326
+ [data-slot="user-message-text"] {
1327
+ background: var(--v2-background-bg-layer-01);
1328
+ }
1329
+
1330
+ [data-slot="user-message-comments"] {
1331
+ display: flex;
1332
+ flex-direction: column;
1333
+ align-items: flex-start;
1334
+ gap: 8px;
1335
+ width: min(320px, 82%);
1336
+ margin-left: auto;
1337
+
1338
+ &[data-bounded] {
1339
+ width: 318px;
1340
+ max-width: 100%;
1341
+ margin-top: 8px;
1342
+ }
1343
+
1344
+ [data-component="tooltip-v2-trigger"] {
1345
+ width: 100%;
1346
+ }
1347
+
1348
+ [data-component="button-v2"] {
1349
+ font-family: var(--v2-font-family-sans, "Inter", sans-serif);
1350
+ font-weight: 530;
1351
+ font-variation-settings:
1352
+ "wght" 530,
1353
+ "slnt" 0;
1354
+ }
1355
+ }
1356
+
1357
+ [data-slot="user-message-body"] + [data-slot="user-message-attachments"],
1358
+ [data-slot="user-message-comments"] + [data-slot="user-message-attachments"] {
1359
+ margin-top: 8px;
1360
+ }
1361
+
1362
+ [data-slot="user-message-text"][data-comments] {
1363
+ width: 342px;
1364
+ padding-bottom: 12px;
1365
+ }
1366
+ }
1367
+
1368
+ [data-color-scheme="light"] body[data-new-layout] [data-component="user-message"] [data-slot="user-message-text"] {
1369
+ background: var(--v2-background-bg-layer-02);
1370
+ }
1371
+
1372
+ body:not([data-new-layout]) {
1373
+ [data-component="user-message"] {
1374
+ color: var(--text-strong);
1375
+
1376
+ [data-slot="user-message-attachments"] + [data-slot="user-message-body"] {
1377
+ margin-top: 8px;
1378
+ }
1379
+
1380
+ [data-slot="user-message-attachment"] {
1381
+ background: var(--surface-weak);
1382
+ border: 1px solid var(--border-weak-base);
1383
+
1384
+ &:hover {
1385
+ border-color: var(--border-strong-base);
1386
+ }
1387
+
1388
+ &[data-type="image"] {
1389
+ width: 48px;
1390
+ height: 48px;
1391
+ border: 1px solid var(--border-weak-base);
1392
+
1393
+ &::after {
1394
+ content: none;
1395
+ }
1396
+ }
1397
+ }
1398
+
1399
+ [data-slot="user-message-attachment-name"] {
1400
+ color: var(--text-base);
1401
+ }
1402
+
1403
+ [data-slot="user-message-text"] {
1404
+ background: var(--surface-base);
1405
+ border: 1px solid var(--border-weak-base);
1406
+ border-radius: 6px;
1407
+ }
1408
+
1409
+ .text-text-strong {
1410
+ color: var(--text-strong);
1411
+ }
1412
+ }
1413
+
1414
+ [data-slot="compaction-part-line"] {
1415
+ background: var(--border-weak-base);
1416
+ }
1417
+
1418
+ [data-component="reasoning-part"] {
1419
+ color: var(--text-base);
1420
+
1421
+ [data-component="markdown"],
1422
+ [data-component="markdown"] :is(strong, b) {
1423
+ color: var(--text-weak);
1424
+ }
1425
+ }
1426
+
1427
+ [data-component="bash-output"] {
1428
+ border: 1px solid var(--border-weak-base);
1429
+ }
1430
+
1431
+ [data-component="edit-trigger"],
1432
+ [data-component="write-trigger"] {
1433
+ [data-slot="message-part-title"] {
1434
+ color: var(--text-base);
1435
+ }
1436
+
1437
+ [data-slot="message-part-title-spinner"],
1438
+ [data-slot="message-part-directory"] {
1439
+ color: var(--text-weak);
1440
+ }
1441
+
1442
+ [data-slot="message-part-title-text"],
1443
+ [data-slot="message-part-filename"] {
1444
+ color: var(--text-strong);
1445
+ }
1446
+ }
1447
+
1448
+ [data-component="edit-content"],
1449
+ [data-component="write-content"] {
1450
+ border-top: 1px solid var(--border-weaker-base);
1451
+ }
1452
+
1453
+ [data-component="exa-tool-output"] {
1454
+ color: var(--text-base);
1455
+ }
1456
+
1457
+ [data-slot="exa-tool-link"],
1458
+ [data-slot="exa-tool-link"]:hover,
1459
+ [data-slot="exa-tool-link"]:visited {
1460
+ color: var(--text-interactive-base);
1461
+ }
1462
+
1463
+ [data-slot="message-part-todo-content"][data-completed="completed"] {
1464
+ color: var(--text-weaker);
1465
+ }
1466
+
1467
+ [data-component="diagnostics"] {
1468
+ background-color: var(--surface-critical-weak);
1469
+ border-top: 1px solid var(--border-critical-base);
1470
+
1471
+ [data-slot="diagnostic-label"],
1472
+ [data-slot="diagnostic-message"] {
1473
+ color: var(--text-on-critical-base);
1474
+ }
1475
+
1476
+ [data-slot="diagnostic-location"] {
1477
+ color: var(--text-on-critical-weak);
1478
+ }
1479
+ }
1480
+
1481
+ [data-component="dock-prompt"][data-kind="permission"] {
1482
+ [data-slot="permission-header-title"] {
1483
+ color: var(--text-strong);
1484
+ }
1485
+
1486
+ [data-slot="permission-hint"] {
1487
+ color: var(--text-weak);
1488
+ }
1489
+ }
1490
+
1491
+ [data-component="dock-prompt"][data-kind="question"] {
1492
+ [data-slot="question-header-title"],
1493
+ [data-slot="question-text"],
1494
+ [data-slot="option-label"] {
1495
+ color: var(--text-strong);
1496
+ }
1497
+
1498
+ [data-slot="question-hint"] {
1499
+ color: var(--text-weak);
1500
+ }
1501
+
1502
+ [data-slot="question-option"] {
1503
+ background-color: var(--surface-raised-stronger-non-alpha);
1504
+ border: 1px solid var(--border-weak-base);
1505
+
1506
+ &:hover:not([data-picked="true"]) {
1507
+ background-color: var(--background-base);
1508
+ }
1509
+
1510
+ &[data-picked="true"] {
1511
+ background-color: var(--surface-interactive-weak);
1512
+ }
1513
+ }
1514
+
1515
+ [data-slot="question-option-box"] {
1516
+ border: 1px solid var(--border-weak-base);
1517
+
1518
+ [data-slot="question-option-radio-dot"] {
1519
+ background-color: var(--background-stronger);
1520
+ }
1521
+ }
1522
+
1523
+ [data-slot="option-description"],
1524
+ [data-slot="question-custom-input"] {
1525
+ color: var(--text-base);
1526
+ }
1527
+
1528
+ [data-slot="question-custom-input"] {
1529
+ &::placeholder {
1530
+ color: var(--text-weak);
1531
+ }
1532
+
1533
+ &:focus-visible {
1534
+ outline: 1px solid var(--border-interactive-base);
1535
+ }
1536
+ }
1537
+ }
1538
+
1539
+ [data-component="question-answers"] {
1540
+ [data-slot="question-text"] {
1541
+ color: var(--text-weak);
1542
+ }
1543
+
1544
+ [data-slot="answer-text"] {
1545
+ color: var(--text-strong);
1546
+ }
1547
+ }
1548
+
1549
+ :is([data-component="edit-tool"], [data-component="write-tool"], [data-component="apply-patch-tool"])
1550
+ > [data-component="collapsible"]
1551
+ > [data-slot="collapsible-trigger"][aria-expanded="true"],
1552
+ [data-component="accordion"][data-scope="apply-patch"] [data-slot="accordion-trigger"] {
1553
+ background-color: var(--background-stronger) !important;
1554
+ }
1555
+
1556
+ [data-component="accordion"][data-scope="apply-patch"] {
1557
+ [data-slot="apply-patch-directory"] {
1558
+ color: var(--text-base);
1559
+ }
1560
+
1561
+ [data-slot="apply-patch-filename"] {
1562
+ color: var(--text-strong);
1563
+ }
1564
+ }
1565
+
1566
+ [data-component="tool-loaded-file"] {
1567
+ color: var(--text-weak);
1568
+ }
1569
+ }