@jonsoc/ui 1.1.34 → 1.1.46

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 (201) hide show
  1. package/package.json +5 -1
  2. package/script/colors.txt +234 -234
  3. package/src/assets/favicon/favicon-v3.svg +6 -6
  4. package/src/assets/favicon/favicon.svg +6 -6
  5. package/src/assets/favicon/site.webmanifest +21 -21
  6. package/src/assets/icons/file-types/auto_light.svg +12 -12
  7. package/src/assets/icons/file-types/cursor.svg +1 -1
  8. package/src/assets/icons/file-types/cursor_light.svg +1 -1
  9. package/src/assets/icons/file-types/drone_light.svg +4 -4
  10. package/src/assets/icons/file-types/folder-admin-open.svg +6 -6
  11. package/src/assets/icons/file-types/folder-admin.svg +6 -6
  12. package/src/assets/icons/file-types/folder-circleci-open.svg +7 -7
  13. package/src/assets/icons/file-types/folder-circleci.svg +7 -7
  14. package/src/assets/icons/file-types/folder-flow-open.svg +6 -6
  15. package/src/assets/icons/file-types/folder-flow.svg +6 -6
  16. package/src/assets/icons/file-types/folder-gh-workflows-open.svg +6 -6
  17. package/src/assets/icons/file-types/folder-gh-workflows.svg +6 -6
  18. package/src/assets/icons/file-types/folder-github-open.svg +6 -6
  19. package/src/assets/icons/file-types/folder-github.svg +6 -6
  20. package/src/assets/icons/file-types/folder-intellij-open.svg +39 -39
  21. package/src/assets/icons/file-types/folder-intellij.svg +39 -39
  22. package/src/assets/icons/file-types/folder-macos-open.svg +6 -6
  23. package/src/assets/icons/file-types/folder-macos.svg +6 -6
  24. package/src/assets/icons/file-types/folder-next-open.svg +6 -6
  25. package/src/assets/icons/file-types/folder-next.svg +6 -6
  26. package/src/assets/icons/file-types/folder-nuxt-open.svg +6 -6
  27. package/src/assets/icons/file-types/folder-nuxt.svg +6 -6
  28. package/src/assets/icons/file-types/folder-open.svg +5 -5
  29. package/src/assets/icons/file-types/folder-scripts-open.svg +6 -6
  30. package/src/assets/icons/file-types/folder-scripts.svg +6 -6
  31. package/src/assets/icons/file-types/folder-target-open.svg +10 -10
  32. package/src/assets/icons/file-types/folder-target.svg +10 -10
  33. package/src/assets/icons/file-types/folder-turborepo-open.svg +15 -15
  34. package/src/assets/icons/file-types/folder-turborepo.svg +15 -15
  35. package/src/assets/icons/file-types/folder-vercel-open.svg +5 -5
  36. package/src/assets/icons/file-types/folder-vercel.svg +5 -5
  37. package/src/assets/icons/file-types/folder.svg +5 -5
  38. package/src/assets/icons/file-types/go_gopher.svg +35 -35
  39. package/src/assets/icons/file-types/nano-staged_light.svg +4 -4
  40. package/src/assets/icons/file-types/opa.svg +9 -9
  41. package/src/assets/icons/file-types/quarto.svg +5 -5
  42. package/src/assets/icons/file-types/rome.svg +6 -6
  43. package/src/assets/icons/file-types/stitches_light.svg +10 -10
  44. package/src/assets/icons/file-types/stylelint_light.svg +13 -13
  45. package/src/assets/icons/file-types/systemd.svg +0 -0
  46. package/src/assets/icons/file-types/systemd_light.svg +0 -0
  47. package/src/assets/icons/file-types/unocss.svg +5 -5
  48. package/src/assets/icons/file-types/vlang.svg +6 -6
  49. package/src/assets/icons/provider/abacus.svg +14 -14
  50. package/src/assets/icons/provider/aihubmix.svg +3 -3
  51. package/src/assets/icons/provider/alibaba-cn.svg +3 -3
  52. package/src/assets/icons/provider/alibaba.svg +3 -3
  53. package/src/assets/icons/provider/amazon-bedrock.svg +3 -3
  54. package/src/assets/icons/provider/anthropic.svg +2 -2
  55. package/src/assets/icons/provider/azure-cognitive-services.svg +24 -24
  56. package/src/assets/icons/provider/azure.svg +3 -3
  57. package/src/assets/icons/provider/bailing.svg +3 -3
  58. package/src/assets/icons/provider/baseten.svg +3 -3
  59. package/src/assets/icons/provider/cerebras.svg +4 -4
  60. package/src/assets/icons/provider/chutes.svg +24 -24
  61. package/src/assets/icons/provider/cloudflare-ai-gateway.svg +4 -4
  62. package/src/assets/icons/provider/cloudflare-workers-ai.svg +4 -4
  63. package/src/assets/icons/provider/cohere.svg +5 -5
  64. package/src/assets/icons/provider/cortecs.svg +24 -24
  65. package/src/assets/icons/provider/deepinfra.svg +4 -4
  66. package/src/assets/icons/provider/deepseek.svg +3 -3
  67. package/src/assets/icons/provider/fastrouter.svg +3 -3
  68. package/src/assets/icons/provider/fireworks-ai.svg +3 -3
  69. package/src/assets/icons/provider/friendli.svg +3 -3
  70. package/src/assets/icons/provider/github-copilot.svg +3 -3
  71. package/src/assets/icons/provider/github-models.svg +3 -3
  72. package/src/assets/icons/provider/google-vertex-anthropic.svg +24 -24
  73. package/src/assets/icons/provider/google-vertex.svg +10 -10
  74. package/src/assets/icons/provider/google.svg +3 -3
  75. package/src/assets/icons/provider/groq.svg +3 -3
  76. package/src/assets/icons/provider/helicone.svg +6 -6
  77. package/src/assets/icons/provider/huggingface.svg +3 -3
  78. package/src/assets/icons/provider/iflowcn.svg +3 -3
  79. package/src/assets/icons/provider/inception.svg +4 -4
  80. package/src/assets/icons/provider/inference.svg +3 -3
  81. package/src/assets/icons/provider/io-net.svg +5 -5
  82. package/src/assets/icons/provider/kimi-for-coding.svg +3 -3
  83. package/src/assets/icons/provider/llama.svg +3 -3
  84. package/src/assets/icons/provider/lmstudio.svg +24 -24
  85. package/src/assets/icons/provider/lucidquery.svg +3 -3
  86. package/src/assets/icons/provider/minimax-cn.svg +3 -3
  87. package/src/assets/icons/provider/minimax.svg +3 -3
  88. package/src/assets/icons/provider/mistral.svg +3 -3
  89. package/src/assets/icons/provider/modelscope.svg +5 -5
  90. package/src/assets/icons/provider/moonshotai-cn.svg +3 -3
  91. package/src/assets/icons/provider/moonshotai.svg +3 -3
  92. package/src/assets/icons/provider/morph.svg +24 -24
  93. package/src/assets/icons/provider/nano-gpt.svg +2 -2
  94. package/src/assets/icons/provider/nebius.svg +4 -4
  95. package/src/assets/icons/provider/nvidia.svg +3 -3
  96. package/src/assets/icons/provider/ollama-cloud.svg +7 -7
  97. package/src/assets/icons/provider/openai.svg +3 -3
  98. package/src/assets/icons/provider/opencode.svg +4 -4
  99. package/src/assets/icons/provider/openrouter.svg +8 -8
  100. package/src/assets/icons/provider/ovhcloud.svg +3 -3
  101. package/src/assets/icons/provider/perplexity.svg +3 -3
  102. package/src/assets/icons/provider/poe.svg +7 -7
  103. package/src/assets/icons/provider/requesty.svg +24 -24
  104. package/src/assets/icons/provider/sap-ai-core.svg +24 -24
  105. package/src/assets/icons/provider/scaleway.svg +5 -5
  106. package/src/assets/icons/provider/siliconflow-cn.svg +3 -3
  107. package/src/assets/icons/provider/siliconflow.svg +3 -3
  108. package/src/assets/icons/provider/submodel.svg +3 -3
  109. package/src/assets/icons/provider/synthetic.svg +24 -24
  110. package/src/assets/icons/provider/togetherai.svg +4 -4
  111. package/src/assets/icons/provider/upstage.svg +24 -24
  112. package/src/assets/icons/provider/v0.svg +3 -3
  113. package/src/assets/icons/provider/venice.svg +4 -4
  114. package/src/assets/icons/provider/vercel.svg +3 -3
  115. package/src/assets/icons/provider/vultr.svg +6 -6
  116. package/src/assets/icons/provider/wandb.svg +24 -24
  117. package/src/assets/icons/provider/xai.svg +3 -3
  118. package/src/assets/icons/provider/xiaomi.svg +3 -3
  119. package/src/assets/icons/provider/zai-coding-plan.svg +3 -3
  120. package/src/assets/icons/provider/zai.svg +3 -3
  121. package/src/assets/icons/provider/zenmux.svg +3 -3
  122. package/src/assets/icons/provider/zhipuai-coding-plan.svg +3 -3
  123. package/src/assets/icons/provider/zhipuai.svg +3 -3
  124. package/src/components/accordion.css +98 -98
  125. package/src/components/avatar.css +41 -41
  126. package/src/components/basic-tool.css +97 -97
  127. package/src/components/button.css +165 -165
  128. package/src/components/card.css +29 -29
  129. package/src/components/checkbox.css +121 -121
  130. package/src/components/code.css +4 -4
  131. package/src/components/collapsible.css +97 -97
  132. package/src/components/dialog.css +185 -185
  133. package/src/components/diff-changes.css +41 -41
  134. package/src/components/diff.css +35 -35
  135. package/src/components/dropdown-menu.css +125 -125
  136. package/src/components/file-icon.css +5 -5
  137. package/src/components/file-icons/sprite.svg +11707 -11707
  138. package/src/components/hover-card.css +61 -61
  139. package/src/components/icon-button.css +140 -140
  140. package/src/components/icon.css +34 -34
  141. package/src/components/image-preview.css +63 -63
  142. package/src/components/inline-input.css +17 -17
  143. package/src/components/keybind.css +18 -18
  144. package/src/components/list.css +278 -278
  145. package/src/components/logo.css +4 -4
  146. package/src/components/markdown.css +209 -209
  147. package/src/components/message-nav.css +122 -122
  148. package/src/components/message-part.css +803 -803
  149. package/src/components/popover.css +98 -98
  150. package/src/components/progress-circle.css +12 -12
  151. package/src/components/provider-icon.css +5 -5
  152. package/src/components/provider-icons/sprite.svg +882 -882
  153. package/src/components/radio-group.css +157 -157
  154. package/src/components/resize-handle.css +46 -46
  155. package/src/components/select.css +202 -202
  156. package/src/components/session-review.css +323 -323
  157. package/src/components/session-turn.css +514 -514
  158. package/src/components/spinner.css +6 -6
  159. package/src/components/sticky-accordion-header.css +16 -16
  160. package/src/components/switch.css +132 -132
  161. package/src/components/tabs.css +359 -359
  162. package/src/components/tag.css +37 -37
  163. package/src/components/text-field.css +134 -134
  164. package/src/components/toast.css +205 -205
  165. package/src/components/tooltip.css +74 -74
  166. package/src/components/typewriter.css +14 -14
  167. package/src/styles/animations.css +130 -130
  168. package/src/styles/base.css +393 -393
  169. package/src/styles/colors.css +592 -592
  170. package/src/styles/index.css +52 -52
  171. package/src/styles/tailwind/colors.css +244 -244
  172. package/src/styles/tailwind/index.css +72 -72
  173. package/src/styles/tailwind/utilities.css +113 -113
  174. package/src/styles/theme.css +592 -592
  175. package/src/styles/utilities.css +131 -131
  176. package/src/assets/fonts/cascadia-code-nerd-font-bold.woff2 +0 -1
  177. package/src/assets/fonts/cascadia-code-nerd-font.woff2 +0 -1
  178. package/src/assets/fonts/fira-code-nerd-font-bold.woff2 +0 -1
  179. package/src/assets/fonts/fira-code-nerd-font.woff2 +0 -1
  180. package/src/assets/fonts/geist-mono-bold.woff2 +0 -1
  181. package/src/assets/fonts/geist-mono-medium.woff2 +0 -1
  182. package/src/assets/fonts/geist-mono.woff2 +0 -1
  183. package/src/assets/fonts/hack-nerd-font-bold.woff2 +0 -1
  184. package/src/assets/fonts/hack-nerd-font.woff2 +0 -1
  185. package/src/assets/fonts/ibm-plex-mono-bold.woff2 +0 -1
  186. package/src/assets/fonts/ibm-plex-mono-medium.woff2 +0 -1
  187. package/src/assets/fonts/ibm-plex-mono.woff2 +0 -1
  188. package/src/assets/fonts/inconsolata-nerd-font-bold.woff2 +0 -1
  189. package/src/assets/fonts/inconsolata-nerd-font.woff2 +0 -1
  190. package/src/assets/fonts/intel-one-mono-nerd-font-bold.woff2 +0 -1
  191. package/src/assets/fonts/intel-one-mono-nerd-font.woff2 +0 -1
  192. package/src/assets/fonts/jetbrains-mono-nerd-font-bold.woff2 +0 -1
  193. package/src/assets/fonts/jetbrains-mono-nerd-font.woff2 +0 -1
  194. package/src/assets/fonts/meslo-lgs-nerd-font-bold.woff2 +0 -1
  195. package/src/assets/fonts/meslo-lgs-nerd-font.woff2 +0 -1
  196. package/src/assets/fonts/roboto-mono-nerd-font-bold.woff2 +0 -1
  197. package/src/assets/fonts/roboto-mono-nerd-font.woff2 +0 -1
  198. package/src/assets/fonts/source-code-pro-nerd-font-bold.woff2 +0 -1
  199. package/src/assets/fonts/source-code-pro-nerd-font.woff2 +0 -1
  200. package/src/assets/fonts/ubuntu-mono-nerd-font-bold.woff2 +0 -1
  201. package/src/assets/fonts/ubuntu-mono-nerd-font.woff2 +0 -1
@@ -1,803 +1,803 @@
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(--text-base);
18
- display: flex;
19
- flex-direction: column;
20
- gap: 8px;
21
-
22
- [data-slot="user-message-attachments"] {
23
- display: flex;
24
- flex-wrap: wrap;
25
- gap: 8px;
26
- }
27
-
28
- [data-slot="user-message-attachment"] {
29
- display: flex;
30
- flex-direction: column;
31
- align-items: center;
32
- justify-content: center;
33
- border-radius: 6px;
34
- overflow: hidden;
35
- background: var(--surface-weak);
36
- border: 1px solid var(--border-weak-base);
37
- transition: border-color 0.15s ease;
38
-
39
- &:hover {
40
- border-color: var(--border-strong-base);
41
- }
42
-
43
- &[data-type="image"] {
44
- width: 48px;
45
- height: 48px;
46
- }
47
-
48
- &[data-type="file"] {
49
- width: 48px;
50
- height: 48px;
51
- }
52
- }
53
-
54
- [data-slot="user-message-attachment-image"] {
55
- width: 100%;
56
- height: 100%;
57
- object-fit: cover;
58
- }
59
-
60
- [data-slot="user-message-attachment-icon"] {
61
- width: 100%;
62
- height: 100%;
63
- display: flex;
64
- align-items: center;
65
- justify-content: center;
66
- color: var(--icon-weak);
67
-
68
- [data-component="icon"] {
69
- width: 20px;
70
- height: 20px;
71
- }
72
- }
73
-
74
- [data-slot="user-message-text"] {
75
- position: relative;
76
- white-space: pre-wrap;
77
- word-break: break-word;
78
- overflow: hidden;
79
- background: var(--surface-weak);
80
- border: 1px solid var(--border-weak-base);
81
- padding: 8px 12px;
82
- border-radius: 4px;
83
-
84
- [data-slot="user-message-copy-wrapper"] {
85
- position: absolute;
86
- top: 7px;
87
- right: 7px;
88
- opacity: 0;
89
- transition: opacity 0.15s ease;
90
- }
91
-
92
- &:hover [data-slot="user-message-copy-wrapper"] {
93
- opacity: 1;
94
- }
95
- }
96
-
97
- .text-text-strong {
98
- color: var(--text-strong);
99
- }
100
-
101
- .font-medium {
102
- font-weight: var(--font-weight-medium);
103
- }
104
- }
105
-
106
- [data-component="text-part"] {
107
- width: 100%;
108
-
109
- [data-slot="text-part-body"] {
110
- position: relative;
111
- margin-top: 32px;
112
- }
113
-
114
- [data-slot="text-part-copy-wrapper"] {
115
- position: absolute;
116
- top: 8px;
117
- right: 8px;
118
- opacity: 0;
119
- transition: opacity 0.15s ease;
120
- z-index: 1;
121
- }
122
-
123
- [data-slot="text-part-body"]:hover [data-slot="text-part-copy-wrapper"] {
124
- opacity: 1;
125
- }
126
-
127
- [data-component="markdown"] {
128
- margin-top: 0;
129
- font-size: var(--font-size-base);
130
- }
131
- }
132
-
133
- [data-component="reasoning-part"] {
134
- width: 100%;
135
- color: var(--text-base);
136
- opacity: 0.8;
137
- line-height: var(--line-height-large);
138
-
139
- [data-component="markdown"] {
140
- margin-top: 24px;
141
- font-style: italic !important;
142
-
143
- p:has(strong) {
144
- margin-top: 24px;
145
- margin-bottom: 0;
146
-
147
- &:first-child {
148
- margin-top: 0;
149
- }
150
- }
151
- }
152
- }
153
-
154
- [data-component="tool-error"] {
155
- display: flex;
156
- align-items: start;
157
- gap: 8px;
158
-
159
- [data-slot="icon-svg"] {
160
- color: var(--icon-critical-base);
161
- margin-top: 4px;
162
- }
163
-
164
- [data-slot="message-part-tool-error-content"] {
165
- display: flex;
166
- align-items: start;
167
- gap: 8px;
168
- }
169
-
170
- [data-slot="message-part-tool-error-title"] {
171
- font-family: var(--font-family-sans);
172
- font-size: var(--font-size-base);
173
- font-style: normal;
174
- font-weight: var(--font-weight-medium);
175
- line-height: var(--line-height-large);
176
- letter-spacing: var(--letter-spacing-normal);
177
- color: var(--text-on-critical-base);
178
- white-space: nowrap;
179
- }
180
-
181
- [data-slot="message-part-tool-error-message"] {
182
- color: var(--text-on-critical-weak);
183
- max-height: 240px;
184
- overflow-y: auto;
185
- word-break: break-word;
186
- }
187
- }
188
-
189
- [data-component="tool-output"] {
190
- white-space: pre;
191
- padding: 8px 12px;
192
- height: fit-content;
193
- display: flex;
194
- flex-direction: column;
195
- align-items: flex-start;
196
- justify-content: flex-start;
197
-
198
- [data-component="markdown"] {
199
- width: 100%;
200
- min-width: 0;
201
-
202
- pre {
203
- margin: 0;
204
- padding: 0;
205
- background-color: transparent !important;
206
- border: none !important;
207
- }
208
- }
209
-
210
- pre {
211
- margin: 0;
212
- padding: 0;
213
- background: none;
214
- }
215
-
216
- &[data-scrollable] {
217
- height: auto;
218
- max-height: 240px;
219
- overflow-y: auto;
220
- scrollbar-width: none;
221
- -ms-overflow-style: none;
222
-
223
- &::-webkit-scrollbar {
224
- display: none;
225
- }
226
-
227
- [data-component="markdown"] {
228
- overflow: visible;
229
- }
230
- }
231
- }
232
-
233
- [data-component="edit-trigger"],
234
- [data-component="write-trigger"] {
235
- display: flex;
236
- align-items: center;
237
- justify-content: space-between;
238
- gap: 8px;
239
- width: 100%;
240
-
241
- [data-slot="message-part-title-area"] {
242
- flex-grow: 1;
243
- display: flex;
244
- align-items: center;
245
- gap: 8px;
246
- min-width: 0;
247
- }
248
-
249
- [data-slot="message-part-title"] {
250
- flex-shrink: 0;
251
- display: flex;
252
- align-items: center;
253
- gap: 4px;
254
- font-family: var(--font-family-sans);
255
- font-size: var(--font-size-base);
256
- font-style: normal;
257
- font-weight: var(--font-weight-medium);
258
- line-height: var(--line-height-large);
259
- letter-spacing: var(--letter-spacing-normal);
260
- color: var(--text-base);
261
- }
262
-
263
- [data-slot="message-part-title-text"] {
264
- text-transform: capitalize;
265
- }
266
-
267
- [data-slot="message-part-title-filename"] {
268
- /* No text-transform - preserve original filename casing */
269
- }
270
-
271
- [data-slot="message-part-path"] {
272
- display: flex;
273
- flex-grow: 1;
274
- min-width: 0;
275
- }
276
-
277
- [data-slot="message-part-directory"] {
278
- color: var(--text-weak);
279
- text-overflow: ellipsis;
280
- overflow: hidden;
281
- white-space: nowrap;
282
- direction: rtl;
283
- text-align: left;
284
- }
285
-
286
- [data-slot="message-part-filename"] {
287
- color: var(--text-strong);
288
- flex-shrink: 0;
289
- }
290
-
291
- [data-slot="message-part-actions"] {
292
- display: flex;
293
- gap: 16px;
294
- align-items: center;
295
- justify-content: flex-end;
296
- }
297
- }
298
-
299
- [data-component="edit-content"] {
300
- border-top: 1px solid var(--border-weaker-base);
301
- max-height: 420px;
302
- overflow-y: auto;
303
-
304
- scrollbar-width: none;
305
- -ms-overflow-style: none;
306
-
307
- &::-webkit-scrollbar {
308
- display: none;
309
- }
310
- }
311
-
312
- [data-component="write-content"] {
313
- border-top: 1px solid var(--border-weaker-base);
314
- max-height: 240px;
315
- overflow-y: auto;
316
-
317
- [data-component="code"] {
318
- padding-bottom: 0px !important;
319
- }
320
-
321
- /* Hide scrollbar */
322
- scrollbar-width: none;
323
- -ms-overflow-style: none;
324
-
325
- &::-webkit-scrollbar {
326
- display: none;
327
- }
328
- }
329
-
330
- [data-component="tool-action"] {
331
- width: 24px;
332
- height: 24px;
333
- display: flex;
334
- align-items: center;
335
- justify-content: center;
336
- }
337
-
338
- [data-component="todos"] {
339
- padding: 10px 12px 24px 48px;
340
- display: flex;
341
- flex-direction: column;
342
- gap: 8px;
343
-
344
- [data-slot="message-part-todo-content"] {
345
- &[data-completed="completed"] {
346
- text-decoration: line-through;
347
- color: var(--text-weaker);
348
- }
349
- }
350
- }
351
-
352
- [data-component="task-tools"] {
353
- padding: 8px 12px;
354
- display: flex;
355
- flex-direction: column;
356
- gap: 6px;
357
-
358
- [data-slot="task-tool-item"] {
359
- display: flex;
360
- align-items: center;
361
- gap: 8px;
362
- color: var(--text-weak);
363
-
364
- [data-slot="icon-svg"] {
365
- flex-shrink: 0;
366
- color: var(--icon-weak);
367
- }
368
- }
369
-
370
- [data-slot="task-tool-title"] {
371
- font-family: var(--font-family-sans);
372
- font-size: var(--font-size-small);
373
- font-weight: var(--font-weight-medium);
374
- line-height: var(--line-height-large);
375
- color: var(--text-weak);
376
- }
377
-
378
- [data-slot="task-tool-subtitle"] {
379
- font-family: var(--font-family-sans);
380
- font-size: var(--font-size-small);
381
- font-weight: var(--font-weight-regular);
382
- line-height: var(--line-height-large);
383
- color: var(--text-weaker);
384
- overflow: hidden;
385
- text-overflow: ellipsis;
386
- white-space: nowrap;
387
- }
388
- }
389
-
390
- [data-component="diagnostics"] {
391
- display: flex;
392
- flex-direction: column;
393
- gap: 4px;
394
- padding: 8px 12px;
395
- background-color: var(--surface-critical-weak);
396
- border-top: 1px solid var(--border-critical-base);
397
-
398
- [data-slot="diagnostic"] {
399
- display: flex;
400
- align-items: baseline;
401
- gap: 6px;
402
- font-family: var(--font-family-mono);
403
- font-size: var(--font-size-small);
404
- line-height: var(--line-height-large);
405
- }
406
-
407
- [data-slot="diagnostic-label"] {
408
- color: var(--text-on-critical-base);
409
- font-weight: var(--font-weight-medium);
410
- text-transform: uppercase;
411
- letter-spacing: -0.5px;
412
- flex-shrink: 0;
413
- }
414
-
415
- [data-slot="diagnostic-location"] {
416
- color: var(--text-on-critical-weak);
417
- flex-shrink: 0;
418
- }
419
-
420
- [data-slot="diagnostic-message"] {
421
- color: var(--text-on-critical-base);
422
- word-break: break-word;
423
- display: -webkit-box;
424
- -webkit-box-orient: vertical;
425
- -webkit-line-clamp: 3;
426
- line-clamp: 3;
427
- overflow: hidden;
428
- }
429
- }
430
-
431
- [data-component="user-message"] [data-slot="user-message-text"],
432
- [data-component="text-part"],
433
- [data-component="reasoning-part"],
434
- [data-component="tool-error"],
435
- [data-component="tool-output"],
436
- [data-component="edit-content"],
437
- [data-component="write-content"],
438
- [data-component="todos"],
439
- [data-component="diagnostics"],
440
- .error-card {
441
- -webkit-user-select: text;
442
- user-select: text;
443
- }
444
-
445
- [data-component="tool-part-wrapper"] {
446
- width: 100%;
447
-
448
- &[data-permission="true"],
449
- &[data-question="true"] {
450
- position: sticky;
451
- top: calc(2px + var(--sticky-header-height, 40px));
452
- bottom: 0px;
453
- z-index: 20;
454
- border-radius: 6px;
455
- border: none;
456
- box-shadow: var(--shadow-xs-border-base);
457
- background-color: var(--surface-raised-base);
458
- overflow: visible;
459
- overflow-anchor: none;
460
-
461
- & > *:first-child {
462
- border-top-left-radius: 6px;
463
- border-top-right-radius: 6px;
464
- overflow: hidden;
465
- }
466
-
467
- & > *:last-child {
468
- border-bottom-left-radius: 6px;
469
- border-bottom-right-radius: 6px;
470
- overflow: hidden;
471
- }
472
-
473
- [data-component="collapsible"] {
474
- border: none;
475
- }
476
-
477
- [data-component="card"] {
478
- border: none;
479
- }
480
- }
481
-
482
- &[data-permission="true"] {
483
- &::before {
484
- content: "";
485
- position: absolute;
486
- inset: -1.5px;
487
- top: -5px;
488
- border-radius: 7.5px;
489
- border: 1.5px solid transparent;
490
- background:
491
- linear-gradient(var(--background-base) 0 0) padding-box,
492
- conic-gradient(
493
- from var(--border-angle),
494
- transparent 0deg,
495
- transparent 0deg,
496
- var(--border-warning-strong, var(--border-warning-selected)) 300deg,
497
- var(--border-warning-base) 360deg
498
- )
499
- border-box;
500
- animation: chase-border 2.5s linear infinite;
501
- pointer-events: none;
502
- z-index: -1;
503
- }
504
- }
505
-
506
- &[data-question="true"] {
507
- background: var(--background-base);
508
- border: 1px solid var(--border-weak-base);
509
- }
510
- }
511
-
512
- @property --border-angle {
513
- syntax: "<angle>";
514
- initial-value: 0deg;
515
- inherits: false;
516
- }
517
-
518
- @keyframes chase-border {
519
- from {
520
- --border-angle: 0deg;
521
- }
522
-
523
- to {
524
- --border-angle: 360deg;
525
- }
526
- }
527
-
528
- [data-component="permission-prompt"] {
529
- display: flex;
530
- flex-direction: column;
531
- padding: 8px 12px;
532
- background-color: var(--surface-raised-strong);
533
- border-radius: 0 0 6px 6px;
534
-
535
- [data-slot="permission-actions"] {
536
- display: flex;
537
- align-items: center;
538
- gap: 8px;
539
- justify-content: flex-end;
540
- }
541
- }
542
-
543
- [data-component="question-prompt"] {
544
- display: flex;
545
- flex-direction: column;
546
- padding: 12px;
547
- background-color: var(--surface-inset-base);
548
- border-radius: 0 0 6px 6px;
549
- gap: 12px;
550
-
551
- [data-slot="question-tabs"] {
552
- display: flex;
553
- gap: 4px;
554
- flex-wrap: wrap;
555
-
556
- [data-slot="question-tab"] {
557
- padding: 4px 12px;
558
- font-size: 13px;
559
- border-radius: 4px;
560
- background-color: var(--surface-base);
561
- color: var(--text-base);
562
- border: none;
563
- cursor: pointer;
564
- transition:
565
- color 0.15s,
566
- background-color 0.15s;
567
-
568
- &:hover {
569
- background-color: var(--surface-base-hover);
570
- }
571
-
572
- &[data-active="true"] {
573
- background-color: var(--surface-raised-base);
574
- }
575
-
576
- &[data-answered="true"] {
577
- color: var(--text-strong);
578
- }
579
- }
580
- }
581
-
582
- [data-slot="question-content"] {
583
- display: flex;
584
- flex-direction: column;
585
- gap: 8px;
586
-
587
- [data-slot="question-text"] {
588
- font-size: 14px;
589
- color: var(--text-base);
590
- line-height: 1.5;
591
- }
592
- }
593
-
594
- [data-slot="question-options"] {
595
- display: flex;
596
- flex-direction: column;
597
- gap: 4px;
598
-
599
- [data-slot="question-option"] {
600
- display: flex;
601
- flex-direction: column;
602
- align-items: flex-start;
603
- gap: 2px;
604
- padding: 8px 12px;
605
- background-color: var(--surface-base);
606
- border: 1px solid var(--border-weaker-base);
607
- border-radius: 6px;
608
- cursor: pointer;
609
- text-align: left;
610
- width: 100%;
611
- transition:
612
- background-color 0.15s,
613
- border-color 0.15s;
614
- position: relative;
615
-
616
- &:hover {
617
- background-color: var(--surface-base-hover);
618
- border-color: var(--border-default);
619
- }
620
-
621
- &[data-picked="true"] {
622
- [data-component="icon"] {
623
- position: absolute;
624
- right: 12px;
625
- top: 50%;
626
- transform: translateY(-50%);
627
- color: var(--text-strong);
628
- }
629
- }
630
-
631
- [data-slot="option-label"] {
632
- font-size: 14px;
633
- color: var(--text-base);
634
- font-weight: 500;
635
- }
636
-
637
- [data-slot="option-description"] {
638
- font-size: 12px;
639
- color: var(--text-weak);
640
- }
641
- }
642
-
643
- [data-slot="custom-input-form"] {
644
- display: flex;
645
- gap: 8px;
646
- padding: 8px 0;
647
- align-items: stretch;
648
-
649
- [data-slot="custom-input"] {
650
- flex: 1;
651
- padding: 8px 12px;
652
- font-size: 14px;
653
- border: 1px solid var(--border-default);
654
- border-radius: 6px;
655
- background-color: var(--surface-base);
656
- color: var(--text-base);
657
- outline: none;
658
-
659
- &:focus {
660
- border-color: var(--border-focus);
661
- }
662
-
663
- &::placeholder {
664
- color: var(--text-weak);
665
- }
666
- }
667
-
668
- [data-component="button"] {
669
- height: auto;
670
- }
671
- }
672
- }
673
-
674
- [data-slot="question-review"] {
675
- display: flex;
676
- flex-direction: column;
677
- gap: 12px;
678
-
679
- [data-slot="review-title"] {
680
- display: none;
681
- }
682
-
683
- [data-slot="review-item"] {
684
- display: flex;
685
- flex-direction: column;
686
- gap: 2px;
687
- font-size: 13px;
688
-
689
- [data-slot="review-label"] {
690
- color: var(--text-weak);
691
- }
692
-
693
- [data-slot="review-value"] {
694
- color: var(--text-strong);
695
-
696
- &[data-answered="false"] {
697
- color: var(--text-weak);
698
- }
699
- }
700
- }
701
- }
702
-
703
- [data-slot="question-actions"] {
704
- display: flex;
705
- align-items: center;
706
- gap: 8px;
707
- justify-content: flex-end;
708
- }
709
- }
710
-
711
- [data-component="question-answers"] {
712
- display: flex;
713
- flex-direction: column;
714
- gap: 12px;
715
- padding: 8px 12px;
716
-
717
- [data-slot="question-answer-item"] {
718
- display: flex;
719
- flex-direction: column;
720
- gap: 2px;
721
- font-size: 13px;
722
-
723
- [data-slot="question-text"] {
724
- color: var(--text-weak);
725
- }
726
-
727
- [data-slot="answer-text"] {
728
- color: var(--text-strong);
729
- }
730
- }
731
- }
732
-
733
- [data-component="apply-patch-files"] {
734
- display: flex;
735
- flex-direction: column;
736
- }
737
-
738
- [data-component="apply-patch-file"] {
739
- display: flex;
740
- flex-direction: column;
741
- border-top: 1px solid var(--border-weaker-base);
742
-
743
- &:first-child {
744
- border-top: 1px solid var(--border-weaker-base);
745
- }
746
-
747
- [data-slot="apply-patch-file-header"] {
748
- display: flex;
749
- align-items: center;
750
- gap: 8px;
751
- padding: 8px 12px;
752
- background-color: var(--surface-inset-base);
753
- }
754
-
755
- [data-slot="apply-patch-file-action"] {
756
- font-family: var(--font-family-sans);
757
- font-size: var(--font-size-small);
758
- font-weight: var(--font-weight-medium);
759
- line-height: var(--line-height-large);
760
- color: var(--text-base);
761
- flex-shrink: 0;
762
-
763
- &[data-type="delete"] {
764
- color: var(--text-critical-base);
765
- }
766
-
767
- &[data-type="add"] {
768
- color: var(--text-success-base);
769
- }
770
-
771
- &[data-type="move"] {
772
- color: var(--text-warning-base);
773
- }
774
- }
775
-
776
- [data-slot="apply-patch-file-path"] {
777
- font-family: var(--font-family-mono);
778
- font-size: var(--font-size-small);
779
- color: var(--text-weak);
780
- overflow: hidden;
781
- text-overflow: ellipsis;
782
- white-space: nowrap;
783
- flex-grow: 1;
784
- }
785
-
786
- [data-slot="apply-patch-deletion-count"] {
787
- font-family: var(--font-family-mono);
788
- font-size: var(--font-size-small);
789
- color: var(--text-critical-base);
790
- flex-shrink: 0;
791
- }
792
- }
793
-
794
- [data-component="apply-patch-file-diff"] {
795
- max-height: 420px;
796
- overflow-y: auto;
797
- scrollbar-width: none;
798
- -ms-overflow-style: none;
799
-
800
- &::-webkit-scrollbar {
801
- display: none;
802
- }
803
- }
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(--text-base);
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 8px;
21
+
22
+ [data-slot="user-message-attachments"] {
23
+ display: flex;
24
+ flex-wrap: wrap;
25
+ gap: 8px;
26
+ }
27
+
28
+ [data-slot="user-message-attachment"] {
29
+ display: flex;
30
+ flex-direction: column;
31
+ align-items: center;
32
+ justify-content: center;
33
+ border-radius: 6px;
34
+ overflow: hidden;
35
+ background: var(--surface-weak);
36
+ border: 1px solid var(--border-weak-base);
37
+ transition: border-color 0.15s ease;
38
+
39
+ &:hover {
40
+ border-color: var(--border-strong-base);
41
+ }
42
+
43
+ &[data-type="image"] {
44
+ width: 48px;
45
+ height: 48px;
46
+ }
47
+
48
+ &[data-type="file"] {
49
+ width: 48px;
50
+ height: 48px;
51
+ }
52
+ }
53
+
54
+ [data-slot="user-message-attachment-image"] {
55
+ width: 100%;
56
+ height: 100%;
57
+ object-fit: cover;
58
+ }
59
+
60
+ [data-slot="user-message-attachment-icon"] {
61
+ width: 100%;
62
+ height: 100%;
63
+ display: flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ color: var(--icon-weak);
67
+
68
+ [data-component="icon"] {
69
+ width: 20px;
70
+ height: 20px;
71
+ }
72
+ }
73
+
74
+ [data-slot="user-message-text"] {
75
+ position: relative;
76
+ white-space: pre-wrap;
77
+ word-break: break-word;
78
+ overflow: hidden;
79
+ background: var(--surface-weak);
80
+ border: 1px solid var(--border-weak-base);
81
+ padding: 8px 12px;
82
+ border-radius: 4px;
83
+
84
+ [data-slot="user-message-copy-wrapper"] {
85
+ position: absolute;
86
+ top: 7px;
87
+ right: 7px;
88
+ opacity: 0;
89
+ transition: opacity 0.15s ease;
90
+ }
91
+
92
+ &:hover [data-slot="user-message-copy-wrapper"] {
93
+ opacity: 1;
94
+ }
95
+ }
96
+
97
+ .text-text-strong {
98
+ color: var(--text-strong);
99
+ }
100
+
101
+ .font-medium {
102
+ font-weight: var(--font-weight-medium);
103
+ }
104
+ }
105
+
106
+ [data-component="text-part"] {
107
+ width: 100%;
108
+
109
+ [data-slot="text-part-body"] {
110
+ position: relative;
111
+ margin-top: 32px;
112
+ }
113
+
114
+ [data-slot="text-part-copy-wrapper"] {
115
+ position: absolute;
116
+ top: 8px;
117
+ right: 8px;
118
+ opacity: 0;
119
+ transition: opacity 0.15s ease;
120
+ z-index: 1;
121
+ }
122
+
123
+ [data-slot="text-part-body"]:hover [data-slot="text-part-copy-wrapper"] {
124
+ opacity: 1;
125
+ }
126
+
127
+ [data-component="markdown"] {
128
+ margin-top: 0;
129
+ font-size: var(--font-size-base);
130
+ }
131
+ }
132
+
133
+ [data-component="reasoning-part"] {
134
+ width: 100%;
135
+ color: var(--text-base);
136
+ opacity: 0.8;
137
+ line-height: var(--line-height-large);
138
+
139
+ [data-component="markdown"] {
140
+ margin-top: 24px;
141
+ font-style: italic !important;
142
+
143
+ p:has(strong) {
144
+ margin-top: 24px;
145
+ margin-bottom: 0;
146
+
147
+ &:first-child {
148
+ margin-top: 0;
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ [data-component="tool-error"] {
155
+ display: flex;
156
+ align-items: start;
157
+ gap: 8px;
158
+
159
+ [data-slot="icon-svg"] {
160
+ color: var(--icon-critical-base);
161
+ margin-top: 4px;
162
+ }
163
+
164
+ [data-slot="message-part-tool-error-content"] {
165
+ display: flex;
166
+ align-items: start;
167
+ gap: 8px;
168
+ }
169
+
170
+ [data-slot="message-part-tool-error-title"] {
171
+ font-family: var(--font-family-sans);
172
+ font-size: var(--font-size-base);
173
+ font-style: normal;
174
+ font-weight: var(--font-weight-medium);
175
+ line-height: var(--line-height-large);
176
+ letter-spacing: var(--letter-spacing-normal);
177
+ color: var(--text-on-critical-base);
178
+ white-space: nowrap;
179
+ }
180
+
181
+ [data-slot="message-part-tool-error-message"] {
182
+ color: var(--text-on-critical-weak);
183
+ max-height: 240px;
184
+ overflow-y: auto;
185
+ word-break: break-word;
186
+ }
187
+ }
188
+
189
+ [data-component="tool-output"] {
190
+ white-space: pre;
191
+ padding: 8px 12px;
192
+ height: fit-content;
193
+ display: flex;
194
+ flex-direction: column;
195
+ align-items: flex-start;
196
+ justify-content: flex-start;
197
+
198
+ [data-component="markdown"] {
199
+ width: 100%;
200
+ min-width: 0;
201
+
202
+ pre {
203
+ margin: 0;
204
+ padding: 0;
205
+ background-color: transparent !important;
206
+ border: none !important;
207
+ }
208
+ }
209
+
210
+ pre {
211
+ margin: 0;
212
+ padding: 0;
213
+ background: none;
214
+ }
215
+
216
+ &[data-scrollable] {
217
+ height: auto;
218
+ max-height: 240px;
219
+ overflow-y: auto;
220
+ scrollbar-width: none;
221
+ -ms-overflow-style: none;
222
+
223
+ &::-webkit-scrollbar {
224
+ display: none;
225
+ }
226
+
227
+ [data-component="markdown"] {
228
+ overflow: visible;
229
+ }
230
+ }
231
+ }
232
+
233
+ [data-component="edit-trigger"],
234
+ [data-component="write-trigger"] {
235
+ display: flex;
236
+ align-items: center;
237
+ justify-content: space-between;
238
+ gap: 8px;
239
+ width: 100%;
240
+
241
+ [data-slot="message-part-title-area"] {
242
+ flex-grow: 1;
243
+ display: flex;
244
+ align-items: center;
245
+ gap: 8px;
246
+ min-width: 0;
247
+ }
248
+
249
+ [data-slot="message-part-title"] {
250
+ flex-shrink: 0;
251
+ display: flex;
252
+ align-items: center;
253
+ gap: 4px;
254
+ font-family: var(--font-family-sans);
255
+ font-size: var(--font-size-base);
256
+ font-style: normal;
257
+ font-weight: var(--font-weight-medium);
258
+ line-height: var(--line-height-large);
259
+ letter-spacing: var(--letter-spacing-normal);
260
+ color: var(--text-base);
261
+ }
262
+
263
+ [data-slot="message-part-title-text"] {
264
+ text-transform: capitalize;
265
+ }
266
+
267
+ [data-slot="message-part-title-filename"] {
268
+ /* No text-transform - preserve original filename casing */
269
+ }
270
+
271
+ [data-slot="message-part-path"] {
272
+ display: flex;
273
+ flex-grow: 1;
274
+ min-width: 0;
275
+ }
276
+
277
+ [data-slot="message-part-directory"] {
278
+ color: var(--text-weak);
279
+ text-overflow: ellipsis;
280
+ overflow: hidden;
281
+ white-space: nowrap;
282
+ direction: rtl;
283
+ text-align: left;
284
+ }
285
+
286
+ [data-slot="message-part-filename"] {
287
+ color: var(--text-strong);
288
+ flex-shrink: 0;
289
+ }
290
+
291
+ [data-slot="message-part-actions"] {
292
+ display: flex;
293
+ gap: 16px;
294
+ align-items: center;
295
+ justify-content: flex-end;
296
+ }
297
+ }
298
+
299
+ [data-component="edit-content"] {
300
+ border-top: 1px solid var(--border-weaker-base);
301
+ max-height: 420px;
302
+ overflow-y: auto;
303
+
304
+ scrollbar-width: none;
305
+ -ms-overflow-style: none;
306
+
307
+ &::-webkit-scrollbar {
308
+ display: none;
309
+ }
310
+ }
311
+
312
+ [data-component="write-content"] {
313
+ border-top: 1px solid var(--border-weaker-base);
314
+ max-height: 240px;
315
+ overflow-y: auto;
316
+
317
+ [data-component="code"] {
318
+ padding-bottom: 0px !important;
319
+ }
320
+
321
+ /* Hide scrollbar */
322
+ scrollbar-width: none;
323
+ -ms-overflow-style: none;
324
+
325
+ &::-webkit-scrollbar {
326
+ display: none;
327
+ }
328
+ }
329
+
330
+ [data-component="tool-action"] {
331
+ width: 24px;
332
+ height: 24px;
333
+ display: flex;
334
+ align-items: center;
335
+ justify-content: center;
336
+ }
337
+
338
+ [data-component="todos"] {
339
+ padding: 10px 12px 24px 48px;
340
+ display: flex;
341
+ flex-direction: column;
342
+ gap: 8px;
343
+
344
+ [data-slot="message-part-todo-content"] {
345
+ &[data-completed="completed"] {
346
+ text-decoration: line-through;
347
+ color: var(--text-weaker);
348
+ }
349
+ }
350
+ }
351
+
352
+ [data-component="task-tools"] {
353
+ padding: 8px 12px;
354
+ display: flex;
355
+ flex-direction: column;
356
+ gap: 6px;
357
+
358
+ [data-slot="task-tool-item"] {
359
+ display: flex;
360
+ align-items: center;
361
+ gap: 8px;
362
+ color: var(--text-weak);
363
+
364
+ [data-slot="icon-svg"] {
365
+ flex-shrink: 0;
366
+ color: var(--icon-weak);
367
+ }
368
+ }
369
+
370
+ [data-slot="task-tool-title"] {
371
+ font-family: var(--font-family-sans);
372
+ font-size: var(--font-size-small);
373
+ font-weight: var(--font-weight-medium);
374
+ line-height: var(--line-height-large);
375
+ color: var(--text-weak);
376
+ }
377
+
378
+ [data-slot="task-tool-subtitle"] {
379
+ font-family: var(--font-family-sans);
380
+ font-size: var(--font-size-small);
381
+ font-weight: var(--font-weight-regular);
382
+ line-height: var(--line-height-large);
383
+ color: var(--text-weaker);
384
+ overflow: hidden;
385
+ text-overflow: ellipsis;
386
+ white-space: nowrap;
387
+ }
388
+ }
389
+
390
+ [data-component="diagnostics"] {
391
+ display: flex;
392
+ flex-direction: column;
393
+ gap: 4px;
394
+ padding: 8px 12px;
395
+ background-color: var(--surface-critical-weak);
396
+ border-top: 1px solid var(--border-critical-base);
397
+
398
+ [data-slot="diagnostic"] {
399
+ display: flex;
400
+ align-items: baseline;
401
+ gap: 6px;
402
+ font-family: var(--font-family-mono);
403
+ font-size: var(--font-size-small);
404
+ line-height: var(--line-height-large);
405
+ }
406
+
407
+ [data-slot="diagnostic-label"] {
408
+ color: var(--text-on-critical-base);
409
+ font-weight: var(--font-weight-medium);
410
+ text-transform: uppercase;
411
+ letter-spacing: -0.5px;
412
+ flex-shrink: 0;
413
+ }
414
+
415
+ [data-slot="diagnostic-location"] {
416
+ color: var(--text-on-critical-weak);
417
+ flex-shrink: 0;
418
+ }
419
+
420
+ [data-slot="diagnostic-message"] {
421
+ color: var(--text-on-critical-base);
422
+ word-break: break-word;
423
+ display: -webkit-box;
424
+ -webkit-box-orient: vertical;
425
+ -webkit-line-clamp: 3;
426
+ line-clamp: 3;
427
+ overflow: hidden;
428
+ }
429
+ }
430
+
431
+ [data-component="user-message"] [data-slot="user-message-text"],
432
+ [data-component="text-part"],
433
+ [data-component="reasoning-part"],
434
+ [data-component="tool-error"],
435
+ [data-component="tool-output"],
436
+ [data-component="edit-content"],
437
+ [data-component="write-content"],
438
+ [data-component="todos"],
439
+ [data-component="diagnostics"],
440
+ .error-card {
441
+ -webkit-user-select: text;
442
+ user-select: text;
443
+ }
444
+
445
+ [data-component="tool-part-wrapper"] {
446
+ width: 100%;
447
+
448
+ &[data-permission="true"],
449
+ &[data-question="true"] {
450
+ position: sticky;
451
+ top: calc(2px + var(--sticky-header-height, 40px));
452
+ bottom: 0px;
453
+ z-index: 20;
454
+ border-radius: 6px;
455
+ border: none;
456
+ box-shadow: var(--shadow-xs-border-base);
457
+ background-color: var(--surface-raised-base);
458
+ overflow: visible;
459
+ overflow-anchor: none;
460
+
461
+ & > *:first-child {
462
+ border-top-left-radius: 6px;
463
+ border-top-right-radius: 6px;
464
+ overflow: hidden;
465
+ }
466
+
467
+ & > *:last-child {
468
+ border-bottom-left-radius: 6px;
469
+ border-bottom-right-radius: 6px;
470
+ overflow: hidden;
471
+ }
472
+
473
+ [data-component="collapsible"] {
474
+ border: none;
475
+ }
476
+
477
+ [data-component="card"] {
478
+ border: none;
479
+ }
480
+ }
481
+
482
+ &[data-permission="true"] {
483
+ &::before {
484
+ content: "";
485
+ position: absolute;
486
+ inset: -1.5px;
487
+ top: -5px;
488
+ border-radius: 7.5px;
489
+ border: 1.5px solid transparent;
490
+ background:
491
+ linear-gradient(var(--background-base) 0 0) padding-box,
492
+ conic-gradient(
493
+ from var(--border-angle),
494
+ transparent 0deg,
495
+ transparent 0deg,
496
+ var(--border-warning-strong, var(--border-warning-selected)) 300deg,
497
+ var(--border-warning-base) 360deg
498
+ )
499
+ border-box;
500
+ animation: chase-border 2.5s linear infinite;
501
+ pointer-events: none;
502
+ z-index: -1;
503
+ }
504
+ }
505
+
506
+ &[data-question="true"] {
507
+ background: var(--background-base);
508
+ border: 1px solid var(--border-weak-base);
509
+ }
510
+ }
511
+
512
+ @property --border-angle {
513
+ syntax: "<angle>";
514
+ initial-value: 0deg;
515
+ inherits: false;
516
+ }
517
+
518
+ @keyframes chase-border {
519
+ from {
520
+ --border-angle: 0deg;
521
+ }
522
+
523
+ to {
524
+ --border-angle: 360deg;
525
+ }
526
+ }
527
+
528
+ [data-component="permission-prompt"] {
529
+ display: flex;
530
+ flex-direction: column;
531
+ padding: 8px 12px;
532
+ background-color: var(--surface-raised-strong);
533
+ border-radius: 0 0 6px 6px;
534
+
535
+ [data-slot="permission-actions"] {
536
+ display: flex;
537
+ align-items: center;
538
+ gap: 8px;
539
+ justify-content: flex-end;
540
+ }
541
+ }
542
+
543
+ [data-component="question-prompt"] {
544
+ display: flex;
545
+ flex-direction: column;
546
+ padding: 12px;
547
+ background-color: var(--surface-inset-base);
548
+ border-radius: 0 0 6px 6px;
549
+ gap: 12px;
550
+
551
+ [data-slot="question-tabs"] {
552
+ display: flex;
553
+ gap: 4px;
554
+ flex-wrap: wrap;
555
+
556
+ [data-slot="question-tab"] {
557
+ padding: 4px 12px;
558
+ font-size: 13px;
559
+ border-radius: 4px;
560
+ background-color: var(--surface-base);
561
+ color: var(--text-base);
562
+ border: none;
563
+ cursor: pointer;
564
+ transition:
565
+ color 0.15s,
566
+ background-color 0.15s;
567
+
568
+ &:hover {
569
+ background-color: var(--surface-base-hover);
570
+ }
571
+
572
+ &[data-active="true"] {
573
+ background-color: var(--surface-raised-base);
574
+ }
575
+
576
+ &[data-answered="true"] {
577
+ color: var(--text-strong);
578
+ }
579
+ }
580
+ }
581
+
582
+ [data-slot="question-content"] {
583
+ display: flex;
584
+ flex-direction: column;
585
+ gap: 8px;
586
+
587
+ [data-slot="question-text"] {
588
+ font-size: 14px;
589
+ color: var(--text-base);
590
+ line-height: 1.5;
591
+ }
592
+ }
593
+
594
+ [data-slot="question-options"] {
595
+ display: flex;
596
+ flex-direction: column;
597
+ gap: 4px;
598
+
599
+ [data-slot="question-option"] {
600
+ display: flex;
601
+ flex-direction: column;
602
+ align-items: flex-start;
603
+ gap: 2px;
604
+ padding: 8px 12px;
605
+ background-color: var(--surface-base);
606
+ border: 1px solid var(--border-weaker-base);
607
+ border-radius: 6px;
608
+ cursor: pointer;
609
+ text-align: left;
610
+ width: 100%;
611
+ transition:
612
+ background-color 0.15s,
613
+ border-color 0.15s;
614
+ position: relative;
615
+
616
+ &:hover {
617
+ background-color: var(--surface-base-hover);
618
+ border-color: var(--border-default);
619
+ }
620
+
621
+ &[data-picked="true"] {
622
+ [data-component="icon"] {
623
+ position: absolute;
624
+ right: 12px;
625
+ top: 50%;
626
+ transform: translateY(-50%);
627
+ color: var(--text-strong);
628
+ }
629
+ }
630
+
631
+ [data-slot="option-label"] {
632
+ font-size: 14px;
633
+ color: var(--text-base);
634
+ font-weight: 500;
635
+ }
636
+
637
+ [data-slot="option-description"] {
638
+ font-size: 12px;
639
+ color: var(--text-weak);
640
+ }
641
+ }
642
+
643
+ [data-slot="custom-input-form"] {
644
+ display: flex;
645
+ gap: 8px;
646
+ padding: 8px 0;
647
+ align-items: stretch;
648
+
649
+ [data-slot="custom-input"] {
650
+ flex: 1;
651
+ padding: 8px 12px;
652
+ font-size: 14px;
653
+ border: 1px solid var(--border-default);
654
+ border-radius: 6px;
655
+ background-color: var(--surface-base);
656
+ color: var(--text-base);
657
+ outline: none;
658
+
659
+ &:focus {
660
+ border-color: var(--border-focus);
661
+ }
662
+
663
+ &::placeholder {
664
+ color: var(--text-weak);
665
+ }
666
+ }
667
+
668
+ [data-component="button"] {
669
+ height: auto;
670
+ }
671
+ }
672
+ }
673
+
674
+ [data-slot="question-review"] {
675
+ display: flex;
676
+ flex-direction: column;
677
+ gap: 12px;
678
+
679
+ [data-slot="review-title"] {
680
+ display: none;
681
+ }
682
+
683
+ [data-slot="review-item"] {
684
+ display: flex;
685
+ flex-direction: column;
686
+ gap: 2px;
687
+ font-size: 13px;
688
+
689
+ [data-slot="review-label"] {
690
+ color: var(--text-weak);
691
+ }
692
+
693
+ [data-slot="review-value"] {
694
+ color: var(--text-strong);
695
+
696
+ &[data-answered="false"] {
697
+ color: var(--text-weak);
698
+ }
699
+ }
700
+ }
701
+ }
702
+
703
+ [data-slot="question-actions"] {
704
+ display: flex;
705
+ align-items: center;
706
+ gap: 8px;
707
+ justify-content: flex-end;
708
+ }
709
+ }
710
+
711
+ [data-component="question-answers"] {
712
+ display: flex;
713
+ flex-direction: column;
714
+ gap: 12px;
715
+ padding: 8px 12px;
716
+
717
+ [data-slot="question-answer-item"] {
718
+ display: flex;
719
+ flex-direction: column;
720
+ gap: 2px;
721
+ font-size: 13px;
722
+
723
+ [data-slot="question-text"] {
724
+ color: var(--text-weak);
725
+ }
726
+
727
+ [data-slot="answer-text"] {
728
+ color: var(--text-strong);
729
+ }
730
+ }
731
+ }
732
+
733
+ [data-component="apply-patch-files"] {
734
+ display: flex;
735
+ flex-direction: column;
736
+ }
737
+
738
+ [data-component="apply-patch-file"] {
739
+ display: flex;
740
+ flex-direction: column;
741
+ border-top: 1px solid var(--border-weaker-base);
742
+
743
+ &:first-child {
744
+ border-top: 1px solid var(--border-weaker-base);
745
+ }
746
+
747
+ [data-slot="apply-patch-file-header"] {
748
+ display: flex;
749
+ align-items: center;
750
+ gap: 8px;
751
+ padding: 8px 12px;
752
+ background-color: var(--surface-inset-base);
753
+ }
754
+
755
+ [data-slot="apply-patch-file-action"] {
756
+ font-family: var(--font-family-sans);
757
+ font-size: var(--font-size-small);
758
+ font-weight: var(--font-weight-medium);
759
+ line-height: var(--line-height-large);
760
+ color: var(--text-base);
761
+ flex-shrink: 0;
762
+
763
+ &[data-type="delete"] {
764
+ color: var(--text-critical-base);
765
+ }
766
+
767
+ &[data-type="add"] {
768
+ color: var(--text-success-base);
769
+ }
770
+
771
+ &[data-type="move"] {
772
+ color: var(--text-warning-base);
773
+ }
774
+ }
775
+
776
+ [data-slot="apply-patch-file-path"] {
777
+ font-family: var(--font-family-mono);
778
+ font-size: var(--font-size-small);
779
+ color: var(--text-weak);
780
+ overflow: hidden;
781
+ text-overflow: ellipsis;
782
+ white-space: nowrap;
783
+ flex-grow: 1;
784
+ }
785
+
786
+ [data-slot="apply-patch-deletion-count"] {
787
+ font-family: var(--font-family-mono);
788
+ font-size: var(--font-size-small);
789
+ color: var(--text-critical-base);
790
+ flex-shrink: 0;
791
+ }
792
+ }
793
+
794
+ [data-component="apply-patch-file-diff"] {
795
+ max-height: 420px;
796
+ overflow-y: auto;
797
+ scrollbar-width: none;
798
+ -ms-overflow-style: none;
799
+
800
+ &::-webkit-scrollbar {
801
+ display: none;
802
+ }
803
+ }