1 :root {
2 --sigit-gap: 8px;
3 }
4
5 * {
6 box-sizing: border-box;
7 }
8
9 html,
10 body {
11 height: 100%;
12 margin: 0;
13 padding: 0;
14 }
15
16 body {
17 display: flex;
18 flex-direction: column;
19 font-family: var(--vscode-font-family);
20 font-size: var(--vscode-font-size);
21 color: var(--vscode-foreground);
22 background-color: var(--vscode-sideBar-background);
23 }
24
25 .brand {
26 display: flex;
27 align-items: center;
28 gap: 8px;
29 padding: 8px var(--sigit-gap);
30 border-bottom: 1px solid var(--vscode-panel-border);
31 }
32
33 .brand-logo {
34 width: 20px;
35 height: 20px;
36 border-radius: 4px;
37 flex: none;
38 }
39
40 .brand-name {
41 font-weight: 600;
42 /* Preserve the brand's mixed case; VS Code uppercases the platform header,
43 but this is our own surface. */
44 text-transform: none;
45 }
46
47 .messages {
48 flex: 1;
49 overflow-y: auto;
50 padding: var(--sigit-gap);
51 display: flex;
52 flex-direction: column;
53 gap: var(--sigit-gap);
54 }
55
56 .message {
57 display: flex;
58 }
59
60 .message-user {
61 justify-content: flex-end;
62 }
63
64 .bubble {
65 max-width: 92%;
66 padding: 6px 10px;
67 border-radius: 6px;
68 white-space: pre-wrap;
69 word-wrap: break-word;
70 line-height: 1.4;
71 }
72
73 .message-user .bubble {
74 background-color: var(--vscode-button-background);
75 color: var(--vscode-button-foreground);
76 }
77
78 .message-assistant .bubble {
79 background-color: var(--vscode-editor-inactiveSelectionBackground);
80 color: var(--vscode-foreground);
81 }
82
83 .message-thought .bubble {
84 background-color: transparent;
85 color: var(--vscode-descriptionForeground);
86 font-style: italic;
87 border-left: 2px solid var(--vscode-panel-border);
88 border-radius: 0;
89 }
90
91 .message-tool .bubble {
92 background-color: transparent;
93 color: var(--vscode-descriptionForeground);
94 font-family: var(--vscode-editor-font-family, monospace);
95 font-size: 0.9em;
96 border: 1px solid var(--vscode-panel-border);
97 min-width: 180px;
98 }
99
100 .tool-label {
101 white-space: pre-wrap;
102 word-break: break-word;
103 }
104
105 .tool-progress {
106 margin-top: 6px;
107 height: 4px;
108 border-radius: 2px;
109 background-color: var(--vscode-input-background);
110 overflow: hidden;
111 }
112
113 .tool-progress-bar {
114 height: 100%;
115 width: 0%;
116 background-color: var(--vscode-progressBar-background);
117 transition: width 0.2s ease;
118 }
119
120 .message-tool.tool-completed .bubble {
121 border-color: var(--vscode-testing-iconPassed, #89d185);
122 }
123
124 .message-tool.tool-failed .bubble {
125 border-color: var(--vscode-inputValidation-errorBorder);
126 color: var(--vscode-foreground);
127 }
128
129 .message-error .bubble {
130 background-color: var(--vscode-inputValidation-errorBackground);
131 color: var(--vscode-foreground);
132 border: 1px solid var(--vscode-inputValidation-errorBorder);
133 }
134
135 .status {
136 padding: 2px var(--sigit-gap);
137 font-size: 0.85em;
138 color: var(--vscode-descriptionForeground);
139 min-height: 1.2em;
140 }
141
142 .composer {
143 display: flex;
144 gap: var(--sigit-gap);
145 padding: var(--sigit-gap);
146 border-top: 1px solid var(--vscode-panel-border);
147 }
148
149 .input {
150 flex: 1;
151 resize: none;
152 font-family: inherit;
153 font-size: inherit;
154 color: var(--vscode-input-foreground);
155 background-color: var(--vscode-input-background);
156 border: 1px solid var(--vscode-input-border, transparent);
157 border-radius: 4px;
158 padding: 6px 8px;
159 }
160
161 .input:focus {
162 outline: 1px solid var(--vscode-focusBorder);
163 outline-offset: -1px;
164 }
165
166 .send {
167 align-self: flex-end;
168 color: var(--vscode-button-foreground);
169 background-color: var(--vscode-button-background);
170 border: none;
171 border-radius: 4px;
172 padding: 6px 12px;
173 cursor: pointer;
174 }
175
176 .send:hover {
177 background-color: var(--vscode-button-hoverBackground);
178 }
179
180 .send:disabled {
181 opacity: 0.6;
182 cursor: default;
183 }