koneck 2.87.1 → 2.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +20 -11
- package/dist/engine.js.map +1 -1
- package/dist/web/ui-client.d.ts.map +1 -1
- package/dist/web/ui-client.js +65 -2
- package/dist/web/ui-client.js.map +1 -1
- package/dist/web/ui-css.d.ts.map +1 -1
- package/dist/web/ui-css.js +259 -215
- package/dist/web/ui-css.js.map +1 -1
- package/package.json +1 -1
package/dist/web/ui-css.js
CHANGED
|
@@ -48,7 +48,15 @@ export function css(markUrl) {
|
|
|
48
48
|
:root{
|
|
49
49
|
/* light, and the default when nothing has been chosen */
|
|
50
50
|
--bg:#f7f9fa; --panel:#ffffff; --panel-2:#eef2f4; --line:#d5dee2; --line-2:#c3d0d6;
|
|
51
|
-
|
|
51
|
+
/*
|
|
52
|
+
* Measured against the surfaces they sit on, not chosen by eye.
|
|
53
|
+
*
|
|
54
|
+
* --dim was #6b8390: 3.98:1 on a white panel and 3.53:1 on the grey one, against the 4.5 that
|
|
55
|
+
* ordinary text needs to be readable. It is used for command output, timings and hints — the
|
|
56
|
+
* small text somebody actually has to read — and it was reported as not visible enough. #57707f
|
|
57
|
+
* clears it on both: 5.21:1 and 4.63:1.
|
|
58
|
+
*/
|
|
59
|
+
--ink:#0f1c22; --muted:#4a606b; --dim:#57707f;
|
|
52
60
|
--cyan:#0d7f92; --cyan-ink:#ffffff; --amber:#8a5a00; --green:#0f7a4a; --red:#b4232a;
|
|
53
61
|
/* Code colours, one per terminal colour the highlighter uses. */
|
|
54
62
|
--blue:#1b5fa8; --yellow:#8a5a00; --magenta:#8a3b9e;
|
|
@@ -91,31 +99,31 @@ aside{width:272px;flex:0 0 272px;background:var(--panel);border-right:1px solid
|
|
|
91
99
|
aside.hide{display:none}
|
|
92
100
|
.brand{display:flex;align-items:center;gap:10px;padding:15px 15px 12px}
|
|
93
101
|
.brand .mark{width:26px;height:25px;color:var(--cyan)}
|
|
94
|
-
.brand b{font-size:
|
|
95
|
-
.brand .tag{font-size:
|
|
102
|
+
.brand b{font-size:calc(var(--ui) * 0.9286);letter-spacing:.15em;font-weight:600}
|
|
103
|
+
.brand .tag{font-size:calc(var(--ui) * 0.6429);letter-spacing:.12em;color:var(--dim);
|
|
96
104
|
border:1px solid var(--line);border-radius:4px;padding:2px 5px}
|
|
97
105
|
.newbtn{margin:0 12px 12px;padding:9px;border:1px solid var(--line);background:var(--panel-2);
|
|
98
106
|
border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:7px;
|
|
99
107
|
transition:border-color .14s,color .14s;font-weight:500}
|
|
100
108
|
.newbtn:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
101
|
-
.shead{padding:9px 15px 5px;font-size:
|
|
109
|
+
.shead{padding:9px 15px 5px;font-size:calc(var(--ui) * 0.7143);letter-spacing:.12em;color:var(--dim);
|
|
102
110
|
text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
|
|
103
111
|
.slist{overflow-y:auto;flex:1;min-height:0;padding:0 8px 10px}
|
|
104
112
|
.srow{padding:8px 10px;border-radius:8px;margin-bottom:2px;border:1px solid transparent;
|
|
105
113
|
cursor:pointer;width:100%;text-align:left;display:block}
|
|
106
114
|
.srow:hover{background:var(--panel-2)}
|
|
107
115
|
.srow.on{background:var(--panel-2);border-color:var(--line-2)}
|
|
108
|
-
.srow .t{font-size:
|
|
109
|
-
.srow .m{font-size:
|
|
116
|
+
.srow .t{font-size:calc(var(--ui) * 0.8929);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
117
|
+
.srow .m{font-size:calc(var(--ui) * 0.75);color:var(--dim);margin-top:2px;display:flex;gap:7px;align-items:center;
|
|
110
118
|
white-space:nowrap;overflow:hidden}
|
|
111
119
|
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:0 0 6px}
|
|
112
120
|
.dot.busy{background:var(--amber);animation:pulse 1.1s infinite}
|
|
113
121
|
.dot.past{background:var(--dim)}
|
|
114
122
|
.srow .run{color:var(--amber)}
|
|
115
123
|
@keyframes pulse{50%{opacity:.3}}
|
|
116
|
-
.foot{border-top:1px solid var(--line);padding:9px 12px;font-size:
|
|
124
|
+
.foot{border-top:1px solid var(--line);padding:9px 12px;font-size:calc(var(--ui) * 0.75);color:var(--dim);
|
|
117
125
|
display:flex;justify-content:space-between;align-items:center;gap:8px}
|
|
118
|
-
.themebtn{border:1px solid var(--line);border-radius:7px;padding:3px 8px;font-size:
|
|
126
|
+
.themebtn{border:1px solid var(--line);border-radius:7px;padding:3px 8px;font-size:calc(var(--ui) * 0.75);
|
|
119
127
|
color:var(--muted)}
|
|
120
128
|
.themebtn:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
121
129
|
|
|
@@ -133,16 +141,16 @@ main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position
|
|
|
133
141
|
* actually at the item's coordinates, which answered "the hero panel".
|
|
134
142
|
*/
|
|
135
143
|
header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:flex;
|
|
136
|
-
align-items:center;gap:8px;padding:0 14px;background:var(--panel);font-size:
|
|
144
|
+
align-items:center;gap:8px;padding:0 14px;background:var(--panel);font-size:calc(var(--ui) * 0.8571)}
|
|
137
145
|
/* The pills, which are what needed to scroll in the first place. */
|
|
138
146
|
.hpills{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;
|
|
139
147
|
scrollbar-width:none;padding:2px 0}
|
|
140
148
|
.hpills::-webkit-scrollbar{display:none}
|
|
141
149
|
.iconbtn{width:28px;height:28px;border-radius:7px;border:1px solid transparent;color:var(--muted);
|
|
142
|
-
display:grid;place-items:center;font-size:
|
|
150
|
+
display:grid;place-items:center;font-size:calc(var(--ui) * 1.0714)}
|
|
143
151
|
.iconbtn:hover{background:var(--panel-2);color:var(--ink)}
|
|
144
152
|
.tabs{display:flex;gap:2px;background:var(--panel-2);border-radius:8px;padding:2px}
|
|
145
|
-
.tab{padding:4px 12px;border-radius:6px;font-size:
|
|
153
|
+
.tab{padding:4px 12px;border-radius:6px;font-size:calc(var(--ui) * 0.8571);color:var(--muted)}
|
|
146
154
|
.tab.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
|
|
147
155
|
.tab .n{color:var(--dim);margin-left:5px;font-variant-numeric:tabular-nums}
|
|
148
156
|
/*
|
|
@@ -181,29 +189,42 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
181
189
|
.wrap{max-width:840px;margin:0 auto;padding:24px}
|
|
182
190
|
.hero{text-align:center;padding:12vh 0 0;color:var(--muted)}
|
|
183
191
|
.hero .mark{width:64px;height:63px;color:var(--cyan);margin:0 auto 14px}
|
|
184
|
-
.hero h1{font-size:
|
|
185
|
-
.hero p{font-size:
|
|
192
|
+
.hero h1{font-size:calc(var(--ui) * 1.5714);margin:0;color:var(--ink);font-weight:600}
|
|
193
|
+
.hero p{font-size:calc(var(--ui) * 0.9286);margin:8px 0 0}
|
|
186
194
|
.hero .ex{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
|
|
187
195
|
.hero .ex button{border:1px solid var(--line);border-radius:999px;padding:5px 13px;
|
|
188
|
-
font-size:
|
|
196
|
+
font-size:calc(var(--ui) * 0.8571);color:var(--muted);background:var(--panel)}
|
|
189
197
|
.hero .ex button:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
190
198
|
|
|
191
199
|
/* ── transcript ──────────────────────────────────────────── */
|
|
192
200
|
.msg{margin-bottom:18px}
|
|
193
201
|
.you{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);
|
|
194
202
|
padding:11px 14px;white-space:pre-wrap;word-break:break-word}
|
|
195
|
-
.who{display:flex;align-items:center;gap:7px;font-size:
|
|
203
|
+
.who{display:flex;align-items:center;gap:7px;font-size:calc(var(--ui) * 0.75);letter-spacing:.11em;
|
|
196
204
|
color:var(--dim);text-transform:uppercase;margin-bottom:7px}
|
|
197
205
|
.who .mark{width:13px;height:13px;color:var(--cyan)}
|
|
198
|
-
|
|
206
|
+
/*
|
|
207
|
+
* A reply is prose now, not preformatted text.
|
|
208
|
+
*
|
|
209
|
+
* pre-wrap was holding the line breaks because nothing else was: there were no paragraphs and no
|
|
210
|
+
* lists, so every newline the model wrote had to survive literally. With both rendered, keeping it
|
|
211
|
+
* would double every gap — a paragraph's margin and the blank line that made it.
|
|
212
|
+
*/
|
|
213
|
+
.reply{word-break:break-word;font-size:var(--ui);line-height:1.7}
|
|
214
|
+
.reply > :first-child{margin-top:0}
|
|
215
|
+
.reply > :last-child{margin-bottom:0}
|
|
216
|
+
.reply p{margin:0 0 .75em}
|
|
217
|
+
.reply ul,.reply ol{margin:.5em 0 .8em;padding-left:1.4em}
|
|
218
|
+
.reply li{margin:.22em 0}
|
|
219
|
+
.reply li > p{margin:0}
|
|
199
220
|
.reply code{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;
|
|
200
|
-
padding:1px 5px;font-family:var(--mono);font-size:
|
|
221
|
+
padding:1px 5px;font-family:var(--mono);font-size:calc(var(--ui) * 0.8929)}
|
|
201
222
|
.reply pre{background:var(--panel);border:1px solid var(--line);border-radius:8px;
|
|
202
223
|
padding:12px 14px;overflow-x:auto;margin:10px 0;white-space:pre}
|
|
203
|
-
.reply pre code{background:none;border:0;padding:0;font-size:
|
|
204
|
-
.reply h3{font-size:
|
|
224
|
+
.reply pre code{background:none;border:0;padding:0;font-size:calc(var(--ui) * 0.8929);line-height:1.5}
|
|
225
|
+
.reply h3{font-size:calc(var(--ui) * 1.0357);margin:16px 0 6px}
|
|
205
226
|
.reply strong{font-weight:600}
|
|
206
|
-
.reply table{border-collapse:collapse;margin:10px 0;font-size:
|
|
227
|
+
.reply table{border-collapse:collapse;margin:10px 0;font-size:calc(var(--ui) * 0.8929);display:block;overflow-x:auto}
|
|
207
228
|
.reply th,.reply td{border:1px solid var(--line);padding:5px 9px;text-align:left}
|
|
208
229
|
.reply th{background:var(--panel-2);color:var(--muted);font-weight:600}
|
|
209
230
|
|
|
@@ -211,20 +232,20 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
211
232
|
background:var(--panel);margin:8px 0;overflow:hidden}
|
|
212
233
|
.tool.ok{border-left-color:var(--green)} .tool.bad{border-left-color:var(--red)}
|
|
213
234
|
.tool.run{border-left-color:var(--amber)}
|
|
214
|
-
.tool .th{display:flex;align-items:center;gap:9px;padding:8px 12px;font-size:
|
|
235
|
+
.tool .th{display:flex;align-items:center;gap:9px;padding:8px 12px;font-size:calc(var(--ui) * 0.8929);width:100%;
|
|
215
236
|
text-align:left}
|
|
216
237
|
.tool .th:hover{background:var(--panel-2)}
|
|
217
|
-
.tool .nm{font-family:var(--mono);color:var(--cyan);font-size:
|
|
238
|
+
.tool .nm{font-family:var(--mono);color:var(--cyan);font-size:calc(var(--ui) * 0.8571)}
|
|
218
239
|
.tool .dt{color:var(--muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
219
|
-
font-family:var(--mono);font-size:
|
|
220
|
-
.tool .ms{color:var(--dim);font-variant-numeric:tabular-nums;font-size:
|
|
240
|
+
font-family:var(--mono);font-size:calc(var(--ui) * 0.8214)}
|
|
241
|
+
.tool .ms{color:var(--dim);font-variant-numeric:tabular-nums;font-size:calc(var(--ui) * 0.7857)}
|
|
221
242
|
/*
|
|
222
243
|
* A tool's output keeps a ceiling, unlike prose: it can be a whole file, and a whole file in the
|
|
223
244
|
* flow of a conversation is not something anybody wants to scroll past. Generous enough to read a
|
|
224
245
|
* normal result without a second scrollbar.
|
|
225
246
|
*/
|
|
226
247
|
.tool .body{border-top:1px solid var(--line);padding:9px 12px;font-family:var(--mono);
|
|
227
|
-
font-size:
|
|
248
|
+
font-size:calc(var(--ui) * 0.8214);color:var(--muted);white-space:pre-wrap;max-height:60vh;overflow:auto}
|
|
228
249
|
/*
|
|
229
250
|
* Thinking reads as prose, not as a window to scroll inside.
|
|
230
251
|
*
|
|
@@ -241,28 +262,51 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
241
262
|
* thinking and roughly about what — and the text is never dropped, only hidden.
|
|
242
263
|
*/
|
|
243
264
|
.thinkbox{border-left:2px solid var(--line-2);margin:10px 0;padding-left:13px}
|
|
244
|
-
.thinkhead{display:flex;align-items:center;gap:9px;font-size:
|
|
265
|
+
.thinkhead{display:flex;align-items:center;gap:9px;font-size:calc(var(--ui) * 0.75);letter-spacing:.09em;
|
|
245
266
|
text-transform:uppercase;color:var(--dim)}
|
|
246
|
-
.thinkhead button{margin-left:auto;font-size:
|
|
267
|
+
.thinkhead button{margin-left:auto;font-size:calc(var(--ui) * 0.75);letter-spacing:.04em;text-transform:none;
|
|
247
268
|
color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 9px}
|
|
248
269
|
.thinkhead button:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
249
|
-
|
|
270
|
+
/*
|
|
271
|
+
* Reasoning, set as prose rather than as a dump.
|
|
272
|
+
*
|
|
273
|
+
* pre-wrap was right when this was plain text and wrong the moment it became markdown: it would
|
|
274
|
+
* hold every blank line the renderer already turns into a paragraph, and double the spacing. The
|
|
275
|
+
* shapes a model actually reasons in — a heading, a numbered sequence, a short list, a snippet of
|
|
276
|
+
* code — each get the room they need and no more, at a size that stays under the reply it belongs
|
|
277
|
+
* to.
|
|
278
|
+
*/
|
|
279
|
+
.think{padding:2px 0;color:var(--muted);font-size:calc(var(--ui) * 0.9286);line-height:1.65;
|
|
250
280
|
word-break:break-word}
|
|
281
|
+
.think > :first-child{margin-top:0}
|
|
282
|
+
.think > :last-child{margin-bottom:0}
|
|
283
|
+
.think p{margin:0 0 .6em}
|
|
284
|
+
.think ul,.think ol{margin:.4em 0 .6em;padding-left:1.3em}
|
|
285
|
+
.think li{margin:.18em 0}
|
|
286
|
+
.think h1,.think h2,.think h3,.think h4{font-size:calc(var(--ui) * 0.9286);font-weight:600;
|
|
287
|
+
color:var(--ink);margin:.8em 0 .3em}
|
|
288
|
+
.think code{font-family:var(--mono);font-size:.92em;background:var(--panel-2);
|
|
289
|
+
border-radius:4px;padding:1px 4px}
|
|
290
|
+
.think pre{background:var(--panel-2);border-radius:7px;padding:8px 10px;overflow-x:auto;
|
|
291
|
+
margin:.5em 0}
|
|
292
|
+
.think pre code{background:none;padding:0}
|
|
293
|
+
.think strong{color:var(--ink);font-weight:600}
|
|
294
|
+
.think a{color:var(--cyan)}
|
|
251
295
|
/* Four lines and a fade, so it is plainly cut off rather than mysteriously short. */
|
|
252
296
|
.thinkbox.closed .think{max-height:6.6em;overflow:hidden;
|
|
253
297
|
-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);
|
|
254
298
|
mask-image:linear-gradient(to bottom,#000 60%,transparent)}
|
|
255
299
|
.notice{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:8px;
|
|
256
|
-
padding:10px 13px;margin:9px 0;font-size:
|
|
300
|
+
padding:10px 13px;margin:9px 0;font-size:calc(var(--ui) * 0.8929);color:var(--muted);white-space:pre-wrap;
|
|
257
301
|
background:var(--panel)}
|
|
258
302
|
.notice.info{border-left-color:var(--cyan)}
|
|
259
303
|
.err{border:1px solid var(--red);border-left:3px solid var(--red);border-radius:8px;
|
|
260
|
-
padding:10px 13px;margin:9px 0;font-size:
|
|
304
|
+
padding:10px 13px;margin:9px 0;font-size:calc(var(--ui) * 0.8929);color:var(--red);white-space:pre-wrap;
|
|
261
305
|
background:var(--panel)}
|
|
262
306
|
|
|
263
307
|
.plan{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin:9px 0;
|
|
264
|
-
padding:11px 13px;font-size:
|
|
265
|
-
.plan h4{margin:0 0 8px;font-size:
|
|
308
|
+
padding:11px 13px;font-size:calc(var(--ui) * 0.8929)}
|
|
309
|
+
.plan h4{margin:0 0 8px;font-size:calc(var(--ui) * 0.75);letter-spacing:.11em;color:var(--dim);
|
|
266
310
|
text-transform:uppercase;display:flex;justify-content:space-between}
|
|
267
311
|
.step{display:flex;gap:9px;padding:2px 0;color:var(--muted)}
|
|
268
312
|
.step .bx{width:14px;color:var(--dim);flex:0 0 14px;text-align:center;font-family:var(--mono)}
|
|
@@ -272,8 +316,8 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
272
316
|
|
|
273
317
|
.ask{border:1px solid var(--amber);border-radius:var(--radius);background:var(--panel);
|
|
274
318
|
padding:12px 14px;margin:11px 0;box-shadow:var(--shadow)}
|
|
275
|
-
.ask .q{font-size:
|
|
276
|
-
.ask .a{font-family:var(--mono);font-size:
|
|
319
|
+
.ask .q{font-size:calc(var(--ui) * 0.9286);margin-bottom:5px;font-weight:500}
|
|
320
|
+
.ask .a{font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);color:var(--muted);margin-bottom:11px;
|
|
277
321
|
white-space:pre-wrap;max-height:140px;overflow:auto;background:var(--panel-2);
|
|
278
322
|
border-radius:6px;padding:7px 9px}
|
|
279
323
|
.ask .btns{display:flex;gap:8px}
|
|
@@ -307,33 +351,33 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
307
351
|
.ask .btns button.yes.chosen{background:var(--green);border-color:var(--green);color:var(--bg)}
|
|
308
352
|
.ask .btns button.always.chosen{background:var(--cyan);border-color:var(--cyan);color:var(--cyan-ink)}
|
|
309
353
|
.ask .btns button.no.chosen{background:var(--red);border-color:var(--red);color:var(--bg)}
|
|
310
|
-
.ask .said{margin-top:10px;font-size:
|
|
354
|
+
.ask .said{margin-top:10px;font-size:calc(var(--ui) * 0.8571);color:var(--muted)}
|
|
311
355
|
.ask.wasyes .said{color:var(--green)}
|
|
312
356
|
.ask.wasno .said{color:var(--red)}
|
|
313
357
|
|
|
314
|
-
.busy{display:flex;align-items:center;gap:10px;color:var(--amber);font-size:
|
|
358
|
+
.busy{display:flex;align-items:center;gap:10px;color:var(--amber);font-size:calc(var(--ui) * 0.8929);margin:8px 0}
|
|
315
359
|
.sp{width:11px;height:11px;border:2px solid var(--amber);border-right-color:transparent;
|
|
316
360
|
border-radius:50%;animation:spin .8s linear infinite}
|
|
317
361
|
@keyframes spin{to{transform:rotate(360deg)}}
|
|
318
362
|
|
|
319
363
|
/* ── changes ─────────────────────────────────────────────── */
|
|
320
|
-
.chead{display:flex;align-items:center;gap:14px;margin-bottom:14px;font-size:
|
|
364
|
+
.chead{display:flex;align-items:center;gap:14px;margin-bottom:14px;font-size:calc(var(--ui) * 0.8929);
|
|
321
365
|
color:var(--muted);flex-wrap:wrap}
|
|
322
366
|
.chead .plus{color:var(--green);font-variant-numeric:tabular-nums}
|
|
323
367
|
.chead .minus{color:var(--red);font-variant-numeric:tabular-nums}
|
|
324
368
|
.file{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:10px;
|
|
325
369
|
overflow:hidden}
|
|
326
370
|
.file .fh{display:flex;align-items:center;gap:10px;padding:9px 12px;width:100%;text-align:left;
|
|
327
|
-
font-size:
|
|
371
|
+
font-size:calc(var(--ui) * 0.8929)}
|
|
328
372
|
.file .fh:hover{background:var(--panel-2)}
|
|
329
|
-
.file .kind{font-size:
|
|
373
|
+
.file .kind{font-size:calc(var(--ui) * 0.6786);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;
|
|
330
374
|
border-radius:4px;border:1px solid var(--line);color:var(--muted);flex:0 0 auto}
|
|
331
375
|
.file .kind.added{color:var(--green);border-color:var(--green)}
|
|
332
376
|
.file .kind.deleted{color:var(--red);border-color:var(--red)}
|
|
333
377
|
.file .fp{font-family:var(--mono);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
334
378
|
direction:rtl;text-align:left}
|
|
335
|
-
.file .cnt{font-size:
|
|
336
|
-
.diff{border-top:1px solid var(--line);font-family:var(--mono);font-size:
|
|
379
|
+
.file .cnt{font-size:calc(var(--ui) * 0.7857);font-variant-numeric:tabular-nums;flex:0 0 auto}
|
|
380
|
+
.diff{border-top:1px solid var(--line);font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);line-height:1.45;
|
|
337
381
|
overflow-x:auto;max-height:520px;overflow-y:auto}
|
|
338
382
|
.diff div{padding:0 12px;white-space:pre}
|
|
339
383
|
/*
|
|
@@ -361,14 +405,14 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
361
405
|
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;
|
|
362
406
|
margin-bottom:18px}
|
|
363
407
|
.card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:11px 13px}
|
|
364
|
-
.card .k{font-size:
|
|
365
|
-
.card .v{font-size:
|
|
366
|
-
.card .s{font-size:
|
|
408
|
+
.card .k{font-size:calc(var(--ui) * 0.7143);letter-spacing:.11em;color:var(--dim);text-transform:uppercase}
|
|
409
|
+
.card .v{font-size:calc(var(--ui) * 1.3571);margin-top:3px;font-variant-numeric:tabular-nums;font-weight:600}
|
|
410
|
+
.card .s{font-size:calc(var(--ui) * 0.7857);color:var(--muted);margin-top:2px}
|
|
367
411
|
.bars{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
|
|
368
|
-
.brow{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:
|
|
412
|
+
.brow{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:calc(var(--ui) * 0.8571);
|
|
369
413
|
border-bottom:1px solid var(--line)}
|
|
370
414
|
.brow:last-child{border-bottom:0}
|
|
371
|
-
.brow .lbl{width:118px;flex:0 0 118px;color:var(--muted);font-family:var(--mono);font-size:
|
|
415
|
+
.brow .lbl{width:118px;flex:0 0 118px;color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui) * 0.7857);
|
|
372
416
|
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
373
417
|
.brow .track{flex:1;height:15px;background:var(--panel-2);border-radius:4px;overflow:hidden;
|
|
374
418
|
display:flex;min-width:60px}
|
|
@@ -377,10 +421,10 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
377
421
|
.brow .seg.gen{background:var(--cyan)}
|
|
378
422
|
.brow .seg.tool{background:var(--amber)}
|
|
379
423
|
.brow .val{width:74px;flex:0 0 74px;text-align:right;color:var(--dim);
|
|
380
|
-
font-variant-numeric:tabular-nums;font-size:
|
|
381
|
-
.legend{display:flex;gap:16px;margin:10px 0 0;font-size:
|
|
424
|
+
font-variant-numeric:tabular-nums;font-size:calc(var(--ui) * 0.7857)}
|
|
425
|
+
.legend{display:flex;gap:16px;margin:10px 0 0;font-size:calc(var(--ui) * 0.7857);color:var(--muted)}
|
|
382
426
|
.legend i{width:9px;height:9px;border-radius:2px;display:inline-block;margin-right:5px}
|
|
383
|
-
.empty{text-align:center;padding:12vh 0;color:var(--dim);font-size:
|
|
427
|
+
.empty{text-align:center;padding:12vh 0;color:var(--dim);font-size:calc(var(--ui) * 0.9286)}
|
|
384
428
|
|
|
385
429
|
/* ── file tree ───────────────────────────────────────────── */
|
|
386
430
|
/* Like #chatview: the tab itself does not scroll, so the panes inside it can. */
|
|
@@ -388,23 +432,23 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
388
432
|
.split{display:flex;flex:1;min-height:0;min-width:0}
|
|
389
433
|
.tree{width:300px;flex:0 0 300px;border-right:1px solid var(--line);overflow-y:auto;padding:8px 0}
|
|
390
434
|
.tnode{display:flex;align-items:center;gap:6px;padding:3px 12px;width:100%;text-align:left;
|
|
391
|
-
font-size:
|
|
435
|
+
font-size:calc(var(--ui) * 0.8929);font-family:var(--mono);color:var(--muted);white-space:nowrap}
|
|
392
436
|
.tnode:hover{background:var(--panel-2);color:var(--ink)}
|
|
393
437
|
.tnode.on{background:var(--panel-2);color:var(--cyan)}
|
|
394
438
|
.tnode .ic{width:13px;flex:0 0 13px;color:var(--dim);text-align:center}
|
|
395
439
|
.tnode.d .ic{color:var(--cyan)}
|
|
396
|
-
.tnode .sz{margin-left:auto;font-size:
|
|
440
|
+
.tnode .sz{margin-left:auto;font-size:calc(var(--ui) * 0.75);color:var(--dim)}
|
|
397
441
|
.fileview{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}
|
|
398
442
|
.fvhead{position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line);
|
|
399
|
-
padding:8px 14px;font-family:var(--mono);font-size:
|
|
400
|
-
.fvhead .fsz{color:var(--dim);font-size:
|
|
443
|
+
padding:8px 14px;font-family:var(--mono);font-size:calc(var(--ui) * 0.8571);display:flex;gap:12px;align-items:center}
|
|
444
|
+
.fvhead .fsz{color:var(--dim);font-size:calc(var(--ui) * 0.7857)}
|
|
401
445
|
/*
|
|
402
446
|
* The line numbers are one element holding "1, newline, 2, newline, 3", so they need the same
|
|
403
447
|
* white-space: pre the code has. Without it the newlines collapsed to spaces and the gutter became a
|
|
404
448
|
* wrapping line of every number in the file — which filled the pane and pushed the code out of it.
|
|
405
449
|
* Reported as "the numbers take all the space", and that is literally what was happening.
|
|
406
450
|
*/
|
|
407
|
-
.code{display:flex;font-family:var(--mono);font-size:
|
|
451
|
+
.code{display:flex;font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);line-height:1.5;align-items:stretch}
|
|
408
452
|
.code .gut{flex:0 0 auto;padding:10px 10px 10px 14px;text-align:right;color:var(--dim);
|
|
409
453
|
background:var(--panel);border-right:1px solid var(--line);user-select:none;
|
|
410
454
|
font-variant-numeric:tabular-nums;white-space:pre}
|
|
@@ -415,39 +459,39 @@ header{height:47px;flex:0 0 47px;border-bottom:1px solid var(--line);display:fle
|
|
|
415
459
|
/* A two-state switch, used for whole-session/by-turn and for search scope. */
|
|
416
460
|
.segbar{display:inline-flex;gap:2px;background:var(--panel-2);border-radius:8px;padding:2px;
|
|
417
461
|
margin-bottom:14px}
|
|
418
|
-
.seg{padding:4px 12px;border-radius:6px;font-size:
|
|
462
|
+
.seg{padding:4px 12px;border-radius:6px;font-size:calc(var(--ui) * 0.8571);color:var(--muted)}
|
|
419
463
|
.seg.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
|
|
420
|
-
.turnhead{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font-size:
|
|
464
|
+
.turnhead{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font-size:calc(var(--ui) * 0.8571);
|
|
421
465
|
padding-bottom:6px;border-bottom:1px solid var(--line)}
|
|
422
466
|
.turnhead .tn{font-weight:600}
|
|
423
|
-
.turnhead .tm{color:var(--dim);font-size:
|
|
467
|
+
.turnhead .tm{color:var(--dim);font-size:calc(var(--ui) * 0.7857)}
|
|
424
468
|
.turnhead .plus{color:var(--green);font-variant-numeric:tabular-nums}
|
|
425
469
|
.turnhead .minus{color:var(--red);font-variant-numeric:tabular-nums}
|
|
426
470
|
|
|
427
471
|
/* ── search ──────────────────────────────────────────────── */
|
|
428
472
|
.searchbar{display:flex;gap:9px;margin-bottom:16px}
|
|
429
473
|
.searchbar input{flex:1;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--line);
|
|
430
|
-
background:var(--panel-2);font-size:
|
|
474
|
+
background:var(--panel-2);font-size:calc(var(--ui) * 0.9643)}
|
|
431
475
|
.searchbar input:focus{outline:0;border-color:var(--cyan)}
|
|
432
476
|
.searchbar button{padding:9px 18px;border-radius:var(--radius);border:1px solid var(--line);
|
|
433
477
|
background:var(--panel-2)}
|
|
434
478
|
.searchbar button:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
435
|
-
.smeta{font-size:
|
|
479
|
+
.smeta{font-size:calc(var(--ui) * 0.8214);color:var(--dim);margin-bottom:12px}
|
|
436
480
|
.hit{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:8px;
|
|
437
481
|
padding:9px 12px;width:100%;text-align:left;display:block}
|
|
438
482
|
.hit:hover{border-color:var(--cyan)}
|
|
439
|
-
.hit .hh{display:flex;gap:9px;align-items:center;font-size:
|
|
483
|
+
.hit .hh{display:flex;gap:9px;align-items:center;font-size:calc(var(--ui) * 0.75);color:var(--dim);
|
|
440
484
|
margin-bottom:5px}
|
|
441
485
|
.hit .role{border:1px solid var(--line);border-radius:4px;padding:1px 5px;letter-spacing:.06em;
|
|
442
|
-
text-transform:uppercase;font-size:
|
|
486
|
+
text-transform:uppercase;font-size:calc(var(--ui) * 0.6786)}
|
|
443
487
|
.hit .role.user{color:var(--cyan);border-color:var(--cyan)}
|
|
444
488
|
.hit .role.assistant{color:var(--green);border-color:var(--green)}
|
|
445
489
|
.hit .role.tool{color:var(--amber);border-color:var(--amber)}
|
|
446
|
-
.hit .tk{font-size:
|
|
490
|
+
.hit .tk{font-size:calc(var(--ui) * 0.8929);color:var(--muted);overflow:hidden;text-overflow:ellipsis;
|
|
447
491
|
white-space:nowrap;flex:1}
|
|
448
|
-
.hit .ws{border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:
|
|
492
|
+
.hit .ws{border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:calc(var(--ui) * 0.6786);
|
|
449
493
|
color:var(--violet);border-color:var(--violet);letter-spacing:.05em;white-space:nowrap}
|
|
450
|
-
.hit .sn{font-size:
|
|
494
|
+
.hit .sn{font-size:calc(var(--ui) * 0.8929);font-family:var(--mono);color:var(--ink);word-break:break-word}
|
|
451
495
|
.hit .sn mark{background:var(--cyan);color:var(--cyan-ink);border-radius:2px;padding:0 1px}
|
|
452
496
|
|
|
453
497
|
/* ── composer ────────────────────────────────────────────── */
|
|
@@ -456,14 +500,14 @@ footer{flex:0 0 auto;border-top:1px solid var(--line);background:var(--panel);pa
|
|
|
456
500
|
/* The running strip. Fixed above the composer, so "is it working?" never needs a scroll. */
|
|
457
501
|
.live{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding:8px 12px;
|
|
458
502
|
border:1px solid var(--amber);border-radius:var(--radius);background:var(--panel-2);
|
|
459
|
-
font-size:
|
|
503
|
+
font-size:calc(var(--ui) * 0.8929)}
|
|
460
504
|
.live[hidden]{display:none}
|
|
461
505
|
.live .lw{color:var(--amber);font-weight:500}
|
|
462
|
-
.live .lt{font-family:var(--mono);font-size:
|
|
506
|
+
.live .lt{font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);color:var(--muted);flex:1;overflow:hidden;
|
|
463
507
|
text-overflow:ellipsis;white-space:nowrap}
|
|
464
|
-
.live .lel{color:var(--dim);font-variant-numeric:tabular-nums;font-size:
|
|
508
|
+
.live .lel{color:var(--dim);font-variant-numeric:tabular-nums;font-size:calc(var(--ui) * 0.8214)}
|
|
465
509
|
.live .lstop{border:1px solid var(--red);color:var(--red);border-radius:999px;padding:2px 10px;
|
|
466
|
-
font-size:
|
|
510
|
+
font-size:calc(var(--ui) * 0.8214)}
|
|
467
511
|
/*
|
|
468
512
|
* The @ picker.
|
|
469
513
|
*
|
|
@@ -475,34 +519,34 @@ footer{flex:0 0 auto;border-top:1px solid var(--line);background:var(--panel);pa
|
|
|
475
519
|
background:var(--panel);max-height:min(46vh,340px);overflow-y:auto;overflow-x:hidden;
|
|
476
520
|
box-shadow:0 -6px 26px rgba(0,0,0,.22)}
|
|
477
521
|
.mention[hidden]{display:none}
|
|
478
|
-
.mhead{display:flex;align-items:center;gap:8px;padding:7px 11px;font-size:
|
|
522
|
+
.mhead{display:flex;align-items:center;gap:8px;padding:7px 11px;font-size:calc(var(--ui) * 0.75);
|
|
479
523
|
letter-spacing:.09em;text-transform:uppercase;color:var(--dim);
|
|
480
524
|
border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}
|
|
481
525
|
.mhead .mgap{flex:1}
|
|
482
|
-
.mhead .mkeys{text-transform:none;letter-spacing:0;font-size:
|
|
526
|
+
.mhead .mkeys{text-transform:none;letter-spacing:0;font-size:calc(var(--ui) * 0.7857)}
|
|
483
527
|
.mrow{display:flex;align-items:baseline;gap:9px;padding:6px 11px;cursor:pointer;
|
|
484
528
|
border-left:2px solid transparent}
|
|
485
529
|
.mrow:hover{background:var(--panel-2)}
|
|
486
530
|
.mrow.on{background:var(--panel-2);border-left-color:var(--cyan)}
|
|
487
531
|
/* The name carries the weight; the directory it sits in is context, not the answer. */
|
|
488
|
-
.mrow .mp{font-family:var(--mono);font-size:
|
|
532
|
+
.mrow .mp{font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);color:var(--muted);flex:1;min-width:0;
|
|
489
533
|
overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}
|
|
490
534
|
.mrow .mp b{color:var(--ink);font-weight:600}
|
|
491
535
|
.mrow .mwhy{display:flex;gap:5px;flex:0 0 auto}
|
|
492
536
|
/* Why it is where it is, said in the row rather than in a tooltip nobody opens. */
|
|
493
|
-
.mwhy span{font-size:
|
|
537
|
+
.mwhy span{font-size:calc(var(--ui) * 0.6786);letter-spacing:.04em;padding:1px 6px;border-radius:999px;
|
|
494
538
|
border:1px solid var(--line-2);color:var(--dim);white-space:nowrap}
|
|
495
539
|
.mwhy span.s{border-color:var(--cyan);color:var(--cyan)}
|
|
496
540
|
.mwhy span.g{border-color:var(--amber);color:var(--amber)}
|
|
497
541
|
/* Tabular so the costs form a column you can compare down, rather than a ragged edge. */
|
|
498
|
-
.mrow .mcost{flex:0 0 auto;font-size:
|
|
499
|
-
.mrow .mdir{flex:0 0 auto;font-size:
|
|
500
|
-
.mnone{padding:10px 11px;font-size:
|
|
542
|
+
.mrow .mcost{flex:0 0 auto;font-size:calc(var(--ui) * 0.7857);color:var(--dim);font-variant-numeric:tabular-nums}
|
|
543
|
+
.mrow .mdir{flex:0 0 auto;font-size:calc(var(--ui) * 0.7857);color:var(--dim)}
|
|
544
|
+
.mnone{padding:10px 11px;font-size:calc(var(--ui) * 0.8929);color:var(--dim)}
|
|
501
545
|
/* What an @ attached, under the message it was in. */
|
|
502
546
|
/* Where a long transcript was trimmed. A rule through it, so it reads as a join rather than a row. */
|
|
503
547
|
.gap{display:flex;align-items:center;gap:11px;margin:18px 0}
|
|
504
548
|
.gap .gl{flex:1;height:1px;background:var(--line-2)}
|
|
505
|
-
.gap .gt{flex:0 0 auto;font-size:
|
|
549
|
+
.gap .gt{flex:0 0 auto;font-size:calc(var(--ui) * 0.7857);color:var(--dim);white-space:nowrap}
|
|
506
550
|
/*
|
|
507
551
|
* Back to the newest.
|
|
508
552
|
*
|
|
@@ -511,13 +555,13 @@ footer{flex:0 0 auto;border-top:1px solid var(--line);background:var(--panel);pa
|
|
|
511
555
|
*/
|
|
512
556
|
.tobottom{position:absolute;left:50%;transform:translateX(-50%);bottom:96px;z-index:40;
|
|
513
557
|
display:flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;
|
|
514
|
-
border:1px solid var(--cyan);background:var(--panel);color:var(--cyan);font-size:
|
|
558
|
+
border:1px solid var(--cyan);background:var(--panel);color:var(--cyan);font-size:calc(var(--ui) * 0.8214);
|
|
515
559
|
box-shadow:var(--shadow);cursor:pointer}
|
|
516
560
|
.tobottom:hover{background:var(--panel-2)}
|
|
517
561
|
.tobottom[hidden]{display:none}
|
|
518
562
|
|
|
519
563
|
/* A heading inside a settings section: quieter than a section, louder than a row. */
|
|
520
|
-
.sgroup{margin:18px 0 2px;font-size:
|
|
564
|
+
.sgroup{margin:18px 0 2px;font-size:calc(var(--ui) * 0.7857);letter-spacing:.09em;text-transform:uppercase;
|
|
521
565
|
color:var(--muted);font-weight:600}
|
|
522
566
|
.sgroup:first-child{margin-top:4px}
|
|
523
567
|
/*
|
|
@@ -541,20 +585,20 @@ footer{flex:0 0 auto;border-top:1px solid var(--line);background:var(--panel);pa
|
|
|
541
585
|
border-radius:var(--radius);box-shadow:var(--shadow);padding:9px}
|
|
542
586
|
.termhist[hidden]{display:none}
|
|
543
587
|
.termhist input{width:100%;background:var(--panel-2);border:1px solid var(--line);
|
|
544
|
-
border-radius:7px;padding:7px 10px;font-family:var(--mono);font-size:
|
|
588
|
+
border-radius:7px;padding:7px 10px;font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);color:var(--ink)}
|
|
545
589
|
.thlist{max-height:min(40vh,300px);overflow-y:auto;margin-top:7px}
|
|
546
|
-
.throw{display:block;width:100%;text-align:left;font-family:var(--mono);font-size:
|
|
590
|
+
.throw{display:block;width:100%;text-align:left;font-family:var(--mono);font-size:calc(var(--ui) * 0.8571);
|
|
547
591
|
padding:5px 9px;border-radius:6px;border:0;background:none;color:var(--muted);cursor:pointer;
|
|
548
592
|
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
549
593
|
.throw:hover,.throw.on{background:var(--panel-2);color:var(--ink)}
|
|
550
|
-
.thnone{padding:9px;font-size:
|
|
551
|
-
.thhint{margin-top:6px;font-size:
|
|
594
|
+
.thnone{padding:9px;font-size:calc(var(--ui) * 0.8929);color:var(--dim)}
|
|
595
|
+
.thhint{margin-top:6px;font-size:calc(var(--ui) * 0.75);color:var(--dim)}
|
|
552
596
|
.urefs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
|
|
553
|
-
.uref{font-family:var(--mono);font-size:
|
|
597
|
+
.uref{font-family:var(--mono);font-size:calc(var(--ui) * 0.75);color:var(--dim);padding:1px 7px;
|
|
554
598
|
border:1px solid var(--line-2);border-radius:999px}
|
|
555
599
|
.uref.bad{border-color:var(--red);color:var(--red)}
|
|
556
600
|
/* "yours" beside a declared provider: a label, not an emphasis. */
|
|
557
|
-
.pmine{font-style:normal;font-size:
|
|
601
|
+
.pmine{font-style:normal;font-size:calc(var(--ui) * 0.6786);letter-spacing:.05em;color:var(--cyan);
|
|
558
602
|
border:1px solid var(--cyan);border-radius:999px;padding:1px 6px;margin-left:7px}
|
|
559
603
|
.attached{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}
|
|
560
604
|
.attached[hidden]{display:none}
|
|
@@ -562,9 +606,9 @@ footer{flex:0 0 auto;border-top:1px solid var(--line);background:var(--panel);pa
|
|
|
562
606
|
border:1px solid var(--line)}
|
|
563
607
|
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
|
|
564
608
|
.thumb button{position:absolute;top:1px;right:1px;width:17px;height:17px;border-radius:50%;
|
|
565
|
-
background:var(--bg);color:var(--ink);font-size:
|
|
609
|
+
background:var(--bg);color:var(--ink);font-size:calc(var(--ui) * 0.7857);line-height:1;border:1px solid var(--line)}
|
|
566
610
|
.attach{width:28px;height:28px;flex:0 0 28px;border-radius:8px;border:1px solid var(--line);
|
|
567
|
-
color:var(--muted);font-size:
|
|
611
|
+
color:var(--muted);font-size:calc(var(--ui) * 1.1429);display:grid;place-items:center}
|
|
568
612
|
.attach:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
569
613
|
.cin.drop{border-color:var(--cyan);background:var(--panel)}
|
|
570
614
|
footer[hidden]{display:none}
|
|
@@ -583,41 +627,41 @@ footer[hidden]{display:none}
|
|
|
583
627
|
* flex-grow reading 1 the whole time.
|
|
584
628
|
*/
|
|
585
629
|
.cin textarea{flex:1;background:none;border:0;outline:0;resize:none;max-height:200px;
|
|
586
|
-
line-height:1.5;font-size:
|
|
630
|
+
line-height:1.5;font-size:var(--ui)}
|
|
587
631
|
textarea::placeholder{color:var(--dim)}
|
|
588
632
|
.send{width:31px;height:31px;flex:0 0 31px;border-radius:50%;
|
|
589
|
-
background:var(--cyan);color:var(--cyan-ink);font-size:
|
|
633
|
+
background:var(--cyan);color:var(--cyan-ink);font-size:calc(var(--ui) * 1.0714);display:grid;place-items:center}
|
|
590
634
|
.send:disabled{background:var(--line);color:var(--dim);cursor:not-allowed}
|
|
591
|
-
.chint{display:flex;gap:13px;margin-top:7px;font-size:
|
|
635
|
+
.chint{display:flex;gap:13px;margin-top:7px;font-size:calc(var(--ui) * 0.75);color:var(--dim)}
|
|
592
636
|
.chint kbd{border:1px solid var(--line);border-radius:4px;padding:0 4px;font-family:var(--mono)}
|
|
593
|
-
.tinybtn{border:1px solid var(--line);border-radius:5px;padding:1px 7px;font-size:
|
|
637
|
+
.tinybtn{border:1px solid var(--line);border-radius:5px;padding:1px 7px;font-size:calc(var(--ui) * 0.75);
|
|
594
638
|
color:var(--muted)}
|
|
595
639
|
.tinybtn:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
596
640
|
.tinybtn:disabled{opacity:.45;cursor:not-allowed}
|
|
597
641
|
|
|
598
642
|
/* sub-agents, while they run */
|
|
599
643
|
.agents{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin:9px 0;
|
|
600
|
-
padding:10px 13px;font-size:
|
|
601
|
-
.agents h4{margin:0 0 8px;font-size:
|
|
644
|
+
padding:10px 13px;font-size:calc(var(--ui) * 0.8929)}
|
|
645
|
+
.agents h4{margin:0 0 8px;font-size:calc(var(--ui) * 0.75);letter-spacing:.11em;color:var(--dim);
|
|
602
646
|
text-transform:uppercase;display:flex;justify-content:space-between}
|
|
603
647
|
.arow{display:flex;align-items:center;gap:10px;padding:3px 0}
|
|
604
|
-
.arow .ai{width:20px;flex:0 0 20px;color:var(--dim);font-family:var(--mono);font-size:
|
|
648
|
+
.arow .ai{width:20px;flex:0 0 20px;color:var(--dim);font-family:var(--mono);font-size:calc(var(--ui) * 0.7857)}
|
|
605
649
|
.arow .at{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
|
|
606
|
-
.arow .as{font-size:
|
|
650
|
+
.arow .as{font-size:calc(var(--ui) * 0.6786);letter-spacing:.07em;text-transform:uppercase;padding:1px 6px;
|
|
607
651
|
border-radius:4px;border:1px solid var(--line);flex:0 0 auto}
|
|
608
652
|
.arow.running .as{color:var(--amber);border-color:var(--amber)}
|
|
609
653
|
.arow.done .as{color:var(--green);border-color:var(--green)}
|
|
610
654
|
.arow.failed .as{color:var(--red);border-color:var(--red)}
|
|
611
|
-
.arow .an{color:var(--dim);font-size:
|
|
612
|
-
.readonly{max-width:840px;margin:0 auto;padding:0 24px;font-size:
|
|
655
|
+
.arow .an{color:var(--dim);font-size:calc(var(--ui) * 0.7857);font-variant-numeric:tabular-nums;flex:0 0 auto}
|
|
656
|
+
.readonly{max-width:840px;margin:0 auto;padding:0 24px;font-size:calc(var(--ui) * 0.8571);color:var(--dim);
|
|
613
657
|
display:flex;gap:9px;align-items:center}
|
|
614
658
|
|
|
615
659
|
.moderow{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;
|
|
616
660
|
padding:9px 11px;margin-bottom:7px;background:var(--panel-2)}
|
|
617
661
|
.moderow:hover{border-color:var(--cyan)}
|
|
618
662
|
.moderow.on{border-color:var(--cyan)}
|
|
619
|
-
.moderow b{display:block;font-size:
|
|
620
|
-
.moderow span{font-size:
|
|
663
|
+
.moderow b{display:block;font-size:calc(var(--ui) * 0.9286);font-weight:600}
|
|
664
|
+
.moderow span{font-size:calc(var(--ui) * 0.8214);color:var(--muted)}
|
|
621
665
|
|
|
622
666
|
/* ── refactor ────────────────────────────────────────────── */
|
|
623
667
|
.opgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;
|
|
@@ -626,17 +670,17 @@ textarea::placeholder{color:var(--dim)}
|
|
|
626
670
|
text-align:left;width:100%}
|
|
627
671
|
.op:hover{border-color:var(--cyan)}
|
|
628
672
|
.op.on{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(77,214,232,.12)}
|
|
629
|
-
.op b{display:block;font-size:
|
|
630
|
-
.op span{font-size:
|
|
673
|
+
.op b{display:block;font-size:calc(var(--ui) * 0.9286);font-weight:600;margin-bottom:3px}
|
|
674
|
+
.op span{font-size:calc(var(--ui) * 0.8214);color:var(--muted);line-height:1.4}
|
|
631
675
|
.fform{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:13px;
|
|
632
676
|
margin-bottom:14px}
|
|
633
677
|
.frow{display:flex;gap:11px;align-items:center;margin-bottom:9px}
|
|
634
|
-
.frow label{flex:0 0 130px;font-size:
|
|
678
|
+
.frow label{flex:0 0 130px;font-size:calc(var(--ui) * 0.8214);color:var(--muted)}
|
|
635
679
|
.frow input{flex:1;padding:7px 10px;border-radius:7px;border:1px solid var(--line);
|
|
636
|
-
background:var(--panel-2);font-family:var(--mono);font-size:
|
|
680
|
+
background:var(--panel-2);font-family:var(--mono);font-size:calc(var(--ui) * 0.8929)}
|
|
637
681
|
.frow input:focus{outline:0;border-color:var(--cyan)}
|
|
638
682
|
.fbtns{display:flex;gap:8px;align-items:center;margin-top:11px}
|
|
639
|
-
.fbtns .hint{font-size:
|
|
683
|
+
.fbtns .hint{font-size:calc(var(--ui) * 0.8214);color:var(--dim);flex:1}
|
|
640
684
|
|
|
641
685
|
/* ── command palette ─────────────────────────────────────── */
|
|
642
686
|
#palette{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40;display:flex;
|
|
@@ -644,17 +688,17 @@ textarea::placeholder{color:var(--dim)}
|
|
|
644
688
|
#palette[hidden]{display:none}
|
|
645
689
|
.pbox{width:min(620px,92vw);background:var(--panel);border:1px solid var(--line-2);
|
|
646
690
|
border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
|
|
647
|
-
.pbox input{width:100%;padding:14px 16px;border:0;outline:0;background:none;font-size:
|
|
691
|
+
.pbox input{width:100%;padding:14px 16px;border:0;outline:0;background:none;font-size:calc(var(--ui) * 1.0714)}
|
|
648
692
|
#plist{max-height:min(52vh,440px);overflow-y:auto;border-top:1px solid var(--line)}
|
|
649
693
|
.prow{display:flex;align-items:center;gap:11px;padding:9px 16px;width:100%;text-align:left;
|
|
650
|
-
font-size:
|
|
694
|
+
font-size:calc(var(--ui) * 0.9286)}
|
|
651
695
|
.prow.on{background:var(--panel-2)}
|
|
652
696
|
.prow .pk{font-family:var(--mono);color:var(--cyan);flex:0 0 auto}
|
|
653
|
-
.prow .pd{color:var(--muted);font-size:
|
|
697
|
+
.prow .pd{color:var(--muted);font-size:calc(var(--ui) * 0.8571);overflow:hidden;text-overflow:ellipsis;
|
|
654
698
|
white-space:nowrap}
|
|
655
|
-
.prow .pg{margin-left:auto;font-size:
|
|
699
|
+
.prow .pg{margin-left:auto;font-size:calc(var(--ui) * 0.7143);letter-spacing:.08em;color:var(--dim);
|
|
656
700
|
text-transform:uppercase;flex:0 0 auto}
|
|
657
|
-
.pfoot{border-top:1px solid var(--line);padding:7px 16px;font-size:
|
|
701
|
+
.pfoot{border-top:1px solid var(--line);padding:7px 16px;font-size:calc(var(--ui) * 0.75);color:var(--dim)}
|
|
658
702
|
.pfoot kbd{border:1px solid var(--line);border-radius:4px;padding:0 4px;font-family:var(--mono)}
|
|
659
703
|
|
|
660
704
|
/* ── review, restore, settings ────────────────────────────── */
|
|
@@ -662,72 +706,72 @@ textarea::placeholder{color:var(--dim)}
|
|
|
662
706
|
background:var(--panel);margin-bottom:8px;overflow:hidden}
|
|
663
707
|
.check.ok{border-left-color:var(--green)} .check.bad{border-left-color:var(--red)}
|
|
664
708
|
.check .ch{display:flex;align-items:center;gap:10px;padding:9px 12px;width:100%;text-align:left;
|
|
665
|
-
font-size:
|
|
709
|
+
font-size:calc(var(--ui) * 0.9286)}
|
|
666
710
|
.check .ch:hover{background:var(--panel-2)}
|
|
667
|
-
.check .cmd{font-family:var(--mono);font-size:
|
|
711
|
+
.check .cmd{font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);color:var(--muted);flex:1;overflow:hidden;
|
|
668
712
|
text-overflow:ellipsis;white-space:nowrap}
|
|
669
|
-
.check .verdict{font-size:
|
|
713
|
+
.check .verdict{font-size:calc(var(--ui) * 0.7143);letter-spacing:.07em;text-transform:uppercase;padding:2px 6px;
|
|
670
714
|
border-radius:4px;border:1px solid var(--line)}
|
|
671
715
|
.check.ok .verdict{color:var(--green);border-color:var(--green)}
|
|
672
716
|
.check.bad .verdict{color:var(--red);border-color:var(--red)}
|
|
673
717
|
.check .out{border-top:1px solid var(--line);padding:9px 12px;font-family:var(--mono);
|
|
674
|
-
font-size:
|
|
718
|
+
font-size:calc(var(--ui) * 0.8214);color:var(--muted);white-space:pre-wrap;max-height:340px;overflow:auto}
|
|
675
719
|
.verdictbar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;
|
|
676
720
|
margin-bottom:14px;border:1px solid var(--line);background:var(--panel)}
|
|
677
721
|
.verdictbar.ready{border-left:3px solid var(--green)}
|
|
678
722
|
.verdictbar.notready{border-left:3px solid var(--amber)}
|
|
679
|
-
.verdictbar b{font-size:
|
|
723
|
+
.verdictbar b{font-size:var(--ui)}
|
|
680
724
|
.act{padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);
|
|
681
|
-
font-size:
|
|
725
|
+
font-size:calc(var(--ui) * 0.8929)}
|
|
682
726
|
.act:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
683
727
|
.act.warn:hover{border-color:var(--red);color:var(--red)}
|
|
684
728
|
.cprow{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;
|
|
685
|
-
background:var(--panel);padding:10px 12px;margin-bottom:7px;font-size:
|
|
729
|
+
background:var(--panel);padding:10px 12px;margin-bottom:7px;font-size:calc(var(--ui) * 0.8929)}
|
|
686
730
|
.cprow .cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
687
|
-
.cprow .cs{color:var(--dim);font-size:
|
|
731
|
+
.cprow .cs{color:var(--dim);font-size:calc(var(--ui) * 0.7857);white-space:nowrap}
|
|
688
732
|
.setrow{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:11px 13px;
|
|
689
733
|
margin-bottom:8px;display:flex;gap:14px;align-items:flex-start}
|
|
690
734
|
.setrow .si{flex:1;min-width:0}
|
|
691
|
-
.setrow .sl{font-size:
|
|
692
|
-
.setrow .sd{font-size:
|
|
735
|
+
.setrow .sl{font-size:calc(var(--ui) * 0.9286);font-weight:500}
|
|
736
|
+
.setrow .sd{font-size:calc(var(--ui) * 0.8214);color:var(--muted);margin-top:2px}
|
|
693
737
|
/* A type row is a label and a control, side by side. */
|
|
694
738
|
.setrow select{flex:0 0 auto;max-width:52%;padding:6px 9px;border-radius:7px;
|
|
695
|
-
border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:
|
|
739
|
+
border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:calc(var(--ui) * 0.8571)}
|
|
696
740
|
.setrow .sc{flex:0 0 200px;display:flex;gap:6px;align-items:center}
|
|
697
741
|
.setrow input[type=text],.setrow input[type=number],.setrow select{width:100%;padding:6px 9px;
|
|
698
|
-
border-radius:7px;border:1px solid var(--line);background:var(--panel-2);font-size:
|
|
742
|
+
border-radius:7px;border:1px solid var(--line);background:var(--panel-2);font-size:calc(var(--ui) * 0.8929)}
|
|
699
743
|
.setrow .toggle{width:42px;height:22px;border-radius:999px;border:1px solid var(--line);
|
|
700
744
|
background:var(--panel-2);position:relative;flex:0 0 42px}
|
|
701
745
|
.setrow .toggle i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
|
|
702
746
|
background:var(--dim);transition:left .13s,background .13s}
|
|
703
747
|
.setrow .toggle.on{border-color:var(--cyan)}
|
|
704
748
|
.setrow .toggle.on i{left:22px;background:var(--cyan)}
|
|
705
|
-
.setrow .clr{color:var(--dim);font-size:
|
|
749
|
+
.setrow .clr{color:var(--dim);font-size:calc(var(--ui) * 0.7857);flex:0 0 auto}
|
|
706
750
|
.setrow .clr:hover{color:var(--red)}
|
|
707
|
-
.hrow{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:
|
|
751
|
+
.hrow{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:calc(var(--ui) * 0.8929);
|
|
708
752
|
border-bottom:1px solid var(--line)}
|
|
709
753
|
.hrow:last-child{border-bottom:0}
|
|
710
|
-
.hrow .hs{font-size:
|
|
754
|
+
.hrow .hs{font-size:calc(var(--ui) * 0.7143);letter-spacing:.07em;text-transform:uppercase;padding:2px 6px;
|
|
711
755
|
border-radius:4px;border:1px solid var(--line);flex:0 0 auto}
|
|
712
756
|
.hrow .hs.pass{color:var(--green);border-color:var(--green)}
|
|
713
757
|
.hrow .hs.warn{color:var(--amber);border-color:var(--amber)}
|
|
714
758
|
.hrow .hs.fail{color:var(--red);border-color:var(--red)}
|
|
715
759
|
.hrow .hn{flex:1}
|
|
716
|
-
.hrow .hr{color:var(--muted);font-size:
|
|
717
|
-
.sect{font-size:
|
|
760
|
+
.hrow .hr{color:var(--muted);font-size:calc(var(--ui) * 0.8214)}
|
|
761
|
+
.sect{font-size:calc(var(--ui) * 0.75);letter-spacing:.12em;color:var(--dim);text-transform:uppercase;
|
|
718
762
|
margin:22px 0 10px}
|
|
719
763
|
.sect:first-child{margin-top:0}
|
|
720
764
|
textarea.big{width:100%;min-height:220px;padding:11px 13px;border-radius:8px;
|
|
721
|
-
border:1px solid var(--line);background:var(--panel-2);font-family:var(--mono);font-size:
|
|
765
|
+
border:1px solid var(--line);background:var(--panel-2);font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);
|
|
722
766
|
line-height:1.5;resize:vertical}
|
|
723
767
|
|
|
724
768
|
dialog{border:1px solid var(--line);background:var(--panel);color:var(--ink);
|
|
725
769
|
border-radius:var(--radius);padding:0;max-width:450px;width:92%;box-shadow:var(--shadow)}
|
|
726
770
|
dialog::backdrop{background:rgba(0,0,0,.5)}
|
|
727
771
|
.dlg{padding:18px}
|
|
728
|
-
.dlg h3{margin:0 0 5px;font-size:
|
|
729
|
-
.dlg p{margin:0 0 14px;color:var(--muted);font-size:
|
|
730
|
-
.dlg label{display:block;font-size:
|
|
772
|
+
.dlg h3{margin:0 0 5px;font-size:calc(var(--ui) * 1.0714)}
|
|
773
|
+
.dlg p{margin:0 0 14px;color:var(--muted);font-size:calc(var(--ui) * 0.8929)}
|
|
774
|
+
.dlg label{display:block;font-size:calc(var(--ui) * 0.75);letter-spacing:.09em;color:var(--dim);
|
|
731
775
|
text-transform:uppercase;margin:0 0 4px}
|
|
732
776
|
.dlg input,.dlg select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--line);
|
|
733
777
|
background:var(--panel-2);margin-bottom:11px}
|
|
@@ -742,28 +786,28 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
742
786
|
.provrow{display:flex;gap:8px;align-items:start}
|
|
743
787
|
.provrow select{flex:1}
|
|
744
788
|
.addprov{padding:8px 11px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);
|
|
745
|
-
color:var(--muted);font-size:
|
|
789
|
+
color:var(--muted);font-size:calc(var(--ui) * 0.8571);white-space:nowrap;margin-bottom:11px;cursor:pointer}
|
|
746
790
|
.addprov:hover{color:var(--cyan);border-color:var(--cyan)}
|
|
747
|
-
.mnote{font-size:
|
|
748
|
-
.mnote code{font-family:var(--mono);font-size:
|
|
791
|
+
.mnote{font-size:calc(var(--ui) * 0.8214);color:var(--dim);margin:-4px 0 10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
792
|
+
.mnote code{font-family:var(--mono);font-size:calc(var(--ui) * 0.7857);color:var(--muted);background:var(--panel-2);
|
|
749
793
|
padding:1px 4px;border-radius:4px}
|
|
750
|
-
.keykeep{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:
|
|
794
|
+
.keykeep{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:calc(var(--ui) * 0.8214);
|
|
751
795
|
color:var(--muted);cursor:pointer}
|
|
752
796
|
.keykeep input{accent-color:var(--cyan);cursor:pointer}
|
|
753
797
|
.keydrop{margin-left:7px;padding:2px 8px;border-radius:6px;border:1px solid var(--line-2);
|
|
754
|
-
color:var(--muted);background:transparent;cursor:pointer;font-size:
|
|
798
|
+
color:var(--muted);background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.7857)}
|
|
755
799
|
.keydrop:hover{border-color:var(--red);color:var(--red)}
|
|
756
800
|
.keygo{margin:0 0 12px;padding:6px 13px;border-radius:8px;border:1px solid var(--cyan);
|
|
757
|
-
color:var(--cyan);background:transparent;cursor:pointer;font-size:
|
|
801
|
+
color:var(--cyan);background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.8571)}
|
|
758
802
|
.keygo:hover{background:var(--panel-2)}
|
|
759
803
|
#keysaid{display:block;margin:-6px 0 12px;color:var(--green)}
|
|
760
804
|
#keysaid:empty{display:none}
|
|
761
805
|
.mnote em{color:var(--muted);font-style:normal;font-weight:500}
|
|
762
|
-
.perr{font-size:
|
|
806
|
+
.perr{font-size:calc(var(--ui) * 0.8571);color:var(--red);margin:0 0 10px;line-height:1.5}
|
|
763
807
|
.mlist{max-height:270px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;
|
|
764
808
|
background:var(--panel-2);margin-bottom:13px}
|
|
765
809
|
.mlist:empty{display:none}
|
|
766
|
-
.mgroup{padding:6px 11px;font-size:
|
|
810
|
+
.mgroup{padding:6px 11px;font-size:calc(var(--ui) * 0.7143);letter-spacing:.09em;text-transform:uppercase;
|
|
767
811
|
color:var(--dim);background:var(--panel);position:sticky;top:0;
|
|
768
812
|
border-bottom:1px solid var(--line)}
|
|
769
813
|
.mrow{display:flex;gap:10px;align-items:baseline;padding:7px 11px;cursor:pointer;
|
|
@@ -771,8 +815,8 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
771
815
|
.mrow:last-child{border-bottom:0}
|
|
772
816
|
.mrow:hover{background:var(--panel)}
|
|
773
817
|
.mrow.on{background:var(--panel);box-shadow:inset 2px 0 0 var(--cyan)}
|
|
774
|
-
.mrow .mid{font-family:var(--mono);font-size:
|
|
775
|
-
.mrow .mdet{font-size:
|
|
818
|
+
.mrow .mid{font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);flex:1;min-width:0;overflow-wrap:anywhere}
|
|
819
|
+
.mrow .mdet{font-size:calc(var(--ui) * 0.7857);color:var(--dim);white-space:nowrap;flex:0 0 auto}
|
|
776
820
|
.mrow.on .mid{color:var(--cyan)}
|
|
777
821
|
/*
|
|
778
822
|
* The file being worked on, beside the conversation.
|
|
@@ -796,8 +840,8 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
796
840
|
.watch{flex:0 0 var(--panelw,44%);max-width:82%;min-width:220px;border-left:1px solid var(--line);
|
|
797
841
|
display:flex;flex-direction:column;background:var(--panel-2)}
|
|
798
842
|
.whead{display:flex;gap:9px;align-items:center;padding:9px 12px;background:var(--panel);
|
|
799
|
-
border-bottom:1px solid var(--line);font-size:
|
|
800
|
-
.whead .wt{color:var(--cyan);font-size:
|
|
843
|
+
border-bottom:1px solid var(--line);font-size:calc(var(--ui) * 0.8214);flex:0 0 auto}
|
|
844
|
+
.whead .wt{color:var(--cyan);font-size:calc(var(--ui) * 0.7143);letter-spacing:.09em;text-transform:uppercase;
|
|
801
845
|
flex:0 0 auto}
|
|
802
846
|
/*
|
|
803
847
|
* A path truncated at the front, without bidi rearranging it.
|
|
@@ -814,18 +858,18 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
814
858
|
* filename.
|
|
815
859
|
*/
|
|
816
860
|
.pathltr{direction:ltr;unicode-bidi:isolate}
|
|
817
|
-
.whead .wp{font-family:var(--mono);font-size:
|
|
861
|
+
.whead .wp{font-family:var(--mono);font-size:calc(var(--ui) * 0.8571);flex:1;min-width:0;overflow:hidden;
|
|
818
862
|
text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}
|
|
819
|
-
.whead .wms{flex:0 0 auto;font-size:
|
|
863
|
+
.whead .wms{flex:0 0 auto;font-size:calc(var(--ui) * 0.75);color:var(--dim);font-variant-numeric:tabular-nums;
|
|
820
864
|
font-family:var(--mono)}
|
|
821
865
|
/* A real hit area: a 15px glyph is a thing you aim at, not a thing you click. */
|
|
822
|
-
.whead .wx{flex:0 0 auto;background:none;border:0;color:var(--dim);font-size:
|
|
866
|
+
.whead .wx{flex:0 0 auto;background:none;border:0;color:var(--dim);font-size:calc(var(--ui) * 1.2143);cursor:pointer;
|
|
823
867
|
line-height:1;padding:2px 8px;margin:-4px -6px -4px 0;border-radius:6px}
|
|
824
868
|
.whead .wx:hover{color:var(--red);background:var(--panel-2)}
|
|
825
869
|
.wbody{flex:1;overflow:auto;min-height:0;position:relative}
|
|
826
870
|
.wbody .code{min-height:100%}
|
|
827
871
|
.wbody .diff{border-top:0}
|
|
828
|
-
.wempty{padding:22px 14px;color:var(--dim);font-size:
|
|
872
|
+
.wempty{padding:22px 14px;color:var(--dim);font-size:calc(var(--ui) * 0.8929);line-height:1.6}
|
|
829
873
|
|
|
830
874
|
/*
|
|
831
875
|
* Where it is looking, not just what at.
|
|
@@ -842,7 +886,7 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
842
886
|
* line box by construction, so row N of the gutter is row N of the source and no highlight can
|
|
843
887
|
* make them drift.
|
|
844
888
|
*/
|
|
845
|
-
.rows{display:flex;font-family:var(--mono);font-size:
|
|
889
|
+
.rows{display:flex;font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);line-height:1.5;align-items:stretch}
|
|
846
890
|
.rows .gut{flex:0 0 auto;padding:10px 10px 10px 14px;text-align:right;color:var(--dim);
|
|
847
891
|
background:var(--panel);border-right:1px solid var(--line);user-select:none;
|
|
848
892
|
font-variant-numeric:tabular-nums}
|
|
@@ -851,20 +895,20 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
851
895
|
.rows .gut > div.on{color:var(--cyan);background:var(--attn-bg)}
|
|
852
896
|
|
|
853
897
|
.fo{margin:2px 0 14px;padding:11px 0 0;border-top:1px solid var(--line-2)}
|
|
854
|
-
.folabel{display:flex;align-items:center;gap:8px;font-size:
|
|
898
|
+
.folabel{display:flex;align-items:center;gap:8px;font-size:calc(var(--ui) * 0.8571);color:var(--fg);cursor:pointer}
|
|
855
899
|
.folabel input,.fochk input{accent-color:var(--cyan);cursor:pointer}
|
|
856
|
-
.forow{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0;font-size:
|
|
900
|
+
.forow{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0;font-size:calc(var(--ui) * 0.8214);
|
|
857
901
|
color:var(--muted)}
|
|
858
902
|
.forow select{background:var(--panel-2);color:var(--fg);border:1px solid var(--line-2);
|
|
859
|
-
border-radius:6px;padding:3px 6px;font-size:
|
|
903
|
+
border-radius:6px;padding:3px 6px;font-size:calc(var(--ui) * 0.8214)}
|
|
860
904
|
.fochk{display:flex;align-items:center;gap:5px;cursor:pointer}
|
|
861
905
|
#folist{width:100%;box-sizing:border-box;background:var(--panel-2);color:var(--fg);
|
|
862
906
|
border:1px solid var(--line-2);border-radius:7px;padding:6px 9px;font-family:var(--mono);
|
|
863
|
-
font-size:
|
|
907
|
+
font-size:calc(var(--ui) * 0.8214);margin:2px 0 4px}
|
|
864
908
|
#fosaid{color:var(--green)}
|
|
865
909
|
|
|
866
910
|
/* A file being written, while it is being written. */
|
|
867
|
-
.wwrite{padding:8px 13px;color:var(--cyan);font-size:
|
|
911
|
+
.wwrite{padding:8px 13px;color:var(--cyan);font-size:calc(var(--ui) * 0.8214);border-bottom:1px solid var(--line-2)}
|
|
868
912
|
.wwbody{min-height:0}
|
|
869
913
|
|
|
870
914
|
/*
|
|
@@ -876,7 +920,7 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
876
920
|
*/
|
|
877
921
|
.cunder{display:flex;align-items:center;gap:7px;padding:7px 2px 0}
|
|
878
922
|
.cmodel,.cpace{padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);
|
|
879
|
-
background:transparent;color:var(--muted);cursor:pointer;font-size:
|
|
923
|
+
background:transparent;color:var(--muted);cursor:pointer;font-size:calc(var(--ui) * 0.8214);font-family:inherit}
|
|
880
924
|
.cmodel:hover,.cpace:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
881
925
|
.cmodel #cmodelname{color:var(--fg)}
|
|
882
926
|
.cgap{flex:1}
|
|
@@ -895,12 +939,12 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
895
939
|
* a different and worse confusion than showing nothing at all.
|
|
896
940
|
*/
|
|
897
941
|
.carried{display:flex;align-items:center;gap:10px;margin:16px 0 6px;color:var(--dim);
|
|
898
|
-
font-size:
|
|
942
|
+
font-size:calc(var(--ui) * 0.75);text-transform:uppercase;letter-spacing:.06em}
|
|
899
943
|
.carried::before,.carried::after{content:'';flex:1;height:1px;background:var(--line)}
|
|
900
944
|
|
|
901
945
|
/* The command that carries this session to a terminal: shown as something to be run, not read. */
|
|
902
946
|
.ttycmd{margin:0 0 10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line-2);
|
|
903
|
-
background:var(--panel-2);font-family:var(--mono);font-size:
|
|
947
|
+
background:var(--panel-2);font-family:var(--mono);font-size:calc(var(--ui) * 0.8571);color:var(--cyan);
|
|
904
948
|
white-space:pre-wrap;word-break:break-all}
|
|
905
949
|
|
|
906
950
|
/*
|
|
@@ -921,32 +965,32 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
921
965
|
#wsdlg{max-width:640px}
|
|
922
966
|
.wsdlg{width:100%;box-sizing:border-box;min-width:0}
|
|
923
967
|
#wsfind{width:100%;box-sizing:border-box;padding:8px 11px;border-radius:8px;
|
|
924
|
-
border:1px solid var(--line-2);background:var(--panel-2);color:var(--fg);font-size:
|
|
968
|
+
border:1px solid var(--line-2);background:var(--panel-2);color:var(--fg);font-size:calc(var(--ui) * 0.9286);
|
|
925
969
|
margin:2px 0 12px}
|
|
926
970
|
.wssec{margin:0 0 12px}
|
|
927
|
-
.wshead{display:flex;align-items:center;gap:7px;font-size:
|
|
971
|
+
.wshead{display:flex;align-items:center;gap:7px;font-size:calc(var(--ui) * 0.75);color:var(--dim);
|
|
928
972
|
text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px}
|
|
929
973
|
.wsup{padding:1px 7px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted);
|
|
930
|
-
background:transparent;cursor:pointer;font-size:
|
|
974
|
+
background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.7857)}
|
|
931
975
|
.wsup:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
932
|
-
.wswhere{font-family:var(--mono);font-size:
|
|
976
|
+
.wswhere{font-family:var(--mono);font-size:calc(var(--ui) * 0.7857);color:var(--muted);text-transform:none;
|
|
933
977
|
letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
934
978
|
.wslist{max-height:180px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);
|
|
935
979
|
border-radius:8px;background:var(--panel-2)}
|
|
936
|
-
.wsrow{display:flex;align-items:center;gap:9px;padding:7px 11px;cursor:pointer;font-size:
|
|
980
|
+
.wsrow{display:flex;align-items:center;gap:9px;padding:7px 11px;cursor:pointer;font-size:calc(var(--ui) * 0.8929);
|
|
937
981
|
border-bottom:1px solid var(--line);min-width:0}
|
|
938
982
|
.wsrow:last-child{border-bottom:0}
|
|
939
983
|
.wsrow:hover{background:var(--panel)}
|
|
940
984
|
.wsrow.on{background:var(--panel);box-shadow:inset 2px 0 0 var(--cyan)}
|
|
941
985
|
.wsrow .wsn{color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
|
|
942
986
|
/* A folder that looks like a project reads as one, so a long list can be skimmed. */
|
|
943
|
-
.wsrow .wsp{color:var(--cyan);font-size:
|
|
987
|
+
.wsrow .wsp{color:var(--cyan);font-size:calc(var(--ui) * 0.7143);border:1px solid var(--cyan);border-radius:999px;
|
|
944
988
|
padding:0 5px;flex:0 0 auto}
|
|
945
989
|
/* Allowed to shrink and then to trail off, rather than to widen the dialog. */
|
|
946
|
-
.wsrow .wsm{margin-left:auto;color:var(--dim);font-size:
|
|
990
|
+
.wsrow .wsm{margin-left:auto;color:var(--dim);font-size:calc(var(--ui) * 0.75);min-width:0;
|
|
947
991
|
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
948
|
-
.wsrow .wsinto{flex:0 0 auto;color:var(--dim);font-size:
|
|
949
|
-
.wsempty{padding:10px 11px;color:var(--dim);font-size:
|
|
992
|
+
.wsrow .wsinto{flex:0 0 auto;color:var(--dim);font-size:calc(var(--ui) * 0.8571)}
|
|
993
|
+
.wsempty{padding:10px 11px;color:var(--dim);font-size:calc(var(--ui) * 0.8571)}
|
|
950
994
|
/*
|
|
951
995
|
* The ways to reach a folder, as a list of things to do rather than a form.
|
|
952
996
|
*
|
|
@@ -957,23 +1001,23 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
957
1001
|
.wsmenu{border:1px solid var(--line);border-radius:8px;background:var(--panel-2);overflow:hidden}
|
|
958
1002
|
.wsitem{display:flex;align-items:center;gap:10px;width:100%;padding:8px 11px;
|
|
959
1003
|
background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;
|
|
960
|
-
font-size:
|
|
1004
|
+
font-size:calc(var(--ui) * 0.8929);font-family:inherit;text-align:left;color:var(--fg)}
|
|
961
1005
|
.wsitem:last-child{border-bottom:0}
|
|
962
1006
|
.wsitem:hover{background:var(--panel)}
|
|
963
1007
|
.wsitem[aria-disabled="true"]{opacity:.5;cursor:default}
|
|
964
|
-
.wsico{flex:0 0 16px;text-align:center;color:var(--cyan);font-size:
|
|
1008
|
+
.wsico{flex:0 0 16px;text-align:center;color:var(--cyan);font-size:calc(var(--ui) * 0.8571)}
|
|
965
1009
|
|
|
966
1010
|
/* A tool call with nothing to open — what was asked, and how it went. */
|
|
967
1011
|
.callhead{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line-2)}
|
|
968
|
-
.callverb{color:var(--cyan);font-size:
|
|
969
|
-
.callname{font-family:var(--mono);font-size:
|
|
970
|
-
.callok{margin-left:auto;color:var(--green);font-size:
|
|
971
|
-
.callbad{margin-left:auto;color:var(--red);font-size:
|
|
972
|
-
.callrun{margin-left:auto;color:var(--muted);font-size:
|
|
973
|
-
.calldetail{padding:8px 13px 0;color:var(--muted);font-size:
|
|
974
|
-
.calllabel{padding:11px 13px 4px;color:var(--dim);font-size:
|
|
1012
|
+
.callverb{color:var(--cyan);font-size:calc(var(--ui) * 0.8571);text-transform:lowercase}
|
|
1013
|
+
.callname{font-family:var(--mono);font-size:calc(var(--ui) * 0.8571);color:var(--fg)}
|
|
1014
|
+
.callok{margin-left:auto;color:var(--green);font-size:calc(var(--ui) * 0.7857)}
|
|
1015
|
+
.callbad{margin-left:auto;color:var(--red);font-size:calc(var(--ui) * 0.7857)}
|
|
1016
|
+
.callrun{margin-left:auto;color:var(--muted);font-size:calc(var(--ui) * 0.7857)}
|
|
1017
|
+
.calldetail{padding:8px 13px 0;color:var(--muted);font-size:calc(var(--ui) * 0.8571);word-break:break-word}
|
|
1018
|
+
.calllabel{padding:11px 13px 4px;color:var(--dim);font-size:calc(var(--ui) * 0.75);text-transform:uppercase;
|
|
975
1019
|
letter-spacing:.06em}
|
|
976
|
-
.callargs{margin:0;padding:0 13px 12px;font-family:var(--mono);font-size:
|
|
1020
|
+
.callargs{margin:0;padding:0 13px 12px;font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);line-height:1.55;
|
|
977
1021
|
color:var(--muted);white-space:pre-wrap;word-break:break-word}
|
|
978
1022
|
|
|
979
1023
|
/*
|
|
@@ -1001,7 +1045,7 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
1001
1045
|
.rows .src .hit{background:var(--attn-hit);border-radius:2px}
|
|
1002
1046
|
|
|
1003
1047
|
/* A command, as it runs. */
|
|
1004
|
-
.wterm{font-family:var(--mono);font-size:
|
|
1048
|
+
.wterm{font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);line-height:1.5;padding:10px 13px;
|
|
1005
1049
|
white-space:pre-wrap;word-break:break-word;color:var(--muted)}
|
|
1006
1050
|
.wterm .cmd{color:var(--cyan);display:block;margin-bottom:7px}
|
|
1007
1051
|
.wterm .ln{display:block}
|
|
@@ -1012,7 +1056,7 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
1012
1056
|
border-top:1px solid var(--line);background:var(--panel)}
|
|
1013
1057
|
.wtrail::-webkit-scrollbar{height:0}
|
|
1014
1058
|
.wchip{flex:0 0 auto;display:flex;gap:5px;align-items:center;padding:3px 9px;border-radius:999px;
|
|
1015
|
-
border:1px solid var(--line);background:var(--panel-2);font-size:
|
|
1059
|
+
border:1px solid var(--line);background:var(--panel-2);font-size:calc(var(--ui) * 0.7857);cursor:pointer;
|
|
1016
1060
|
white-space:nowrap;color:var(--muted);font-family:var(--mono)}
|
|
1017
1061
|
.wchip:hover{border-color:var(--cyan);color:var(--ink)}
|
|
1018
1062
|
.wchip.on{border-color:var(--cyan);color:var(--cyan)}
|
|
@@ -1032,18 +1076,18 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
1032
1076
|
.agcard.running{border-color:var(--amber)}
|
|
1033
1077
|
.agcard.done{border-color:var(--green)}
|
|
1034
1078
|
.agcard.failed{border-color:var(--red)}
|
|
1035
|
-
.aghead{display:flex;align-items:center;gap:9px;font-size:
|
|
1079
|
+
.aghead{display:flex;align-items:center;gap:9px;font-size:calc(var(--ui) * 0.8571)}
|
|
1036
1080
|
.aghead .agn{font-family:var(--mono);color:var(--ink);font-weight:600}
|
|
1037
1081
|
.aghead .aggap{flex:1}
|
|
1038
|
-
.aghead .agm{color:var(--dim);font-variant-numeric:tabular-nums;font-size:
|
|
1039
|
-
.ags{font-size:
|
|
1082
|
+
.aghead .agm{color:var(--dim);font-variant-numeric:tabular-nums;font-size:calc(var(--ui) * 0.7857)}
|
|
1083
|
+
.ags{font-size:calc(var(--ui) * 0.7143);letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;
|
|
1040
1084
|
border-radius:999px;border:1px solid var(--line-2);color:var(--dim)}
|
|
1041
1085
|
.ags.running{border-color:var(--amber);color:var(--amber)}
|
|
1042
1086
|
.ags.done{border-color:var(--green);color:var(--green)}
|
|
1043
1087
|
.ags.failed{border-color:var(--red);color:var(--red)}
|
|
1044
|
-
.agmeta{display:flex;gap:12px;margin-top:6px;font-size:
|
|
1088
|
+
.agmeta{display:flex;gap:12px;margin-top:6px;font-size:calc(var(--ui) * 0.7857);color:var(--muted)}
|
|
1045
1089
|
/* The brief in full: half a sub-agent's instructions answers nothing about what it is doing. */
|
|
1046
|
-
.agtask{margin-top:8px;font-family:var(--mono);font-size:
|
|
1090
|
+
.agtask{margin-top:8px;font-family:var(--mono);font-size:calc(var(--ui) * 0.8214);line-height:1.55;
|
|
1047
1091
|
color:var(--muted);white-space:pre-wrap;word-break:break-word}
|
|
1048
1092
|
|
|
1049
1093
|
@media (max-width:1100px){ .watch{display:none} }
|
|
@@ -1054,20 +1098,20 @@ dialog:has(.dlg.wide){max-width:560px}
|
|
|
1054
1098
|
*/
|
|
1055
1099
|
.aside{border:1px dashed var(--line);border-left:2px solid var(--violet);border-radius:8px;
|
|
1056
1100
|
padding:10px 13px;margin:10px 0;background:var(--panel-2)}
|
|
1057
|
-
.aside .ah{font-size:
|
|
1101
|
+
.aside .ah{font-size:calc(var(--ui) * 0.75);letter-spacing:.06em;text-transform:uppercase;color:var(--violet);
|
|
1058
1102
|
margin-bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
1059
|
-
.aside .ab{font-size:
|
|
1103
|
+
.aside .ab{font-size:calc(var(--ui) * 0.9286);line-height:1.6}
|
|
1060
1104
|
.aside .ab.err{color:var(--red)}
|
|
1061
|
-
.aside .af{margin-top:7px;font-size:
|
|
1105
|
+
.aside .af{margin-top:7px;font-size:calc(var(--ui) * 0.7857);color:var(--dim);font-family:var(--mono)}
|
|
1062
1106
|
|
|
1063
1107
|
/* What a resumed session says for itself, at the top of the continuation. */
|
|
1064
1108
|
.resumed{border:1px solid var(--cyan);border-radius:var(--radius);padding:11px 14px;margin:10px 0;
|
|
1065
1109
|
background:var(--panel-2)}
|
|
1066
|
-
.resumed .rh{font-size:
|
|
1110
|
+
.resumed .rh{font-size:calc(var(--ui) * 0.7857);letter-spacing:.05em;text-transform:uppercase;color:var(--cyan);
|
|
1067
1111
|
margin-bottom:7px}
|
|
1068
|
-
.resumed .rl{margin:6px 0;font-size:
|
|
1069
|
-
.resumed .ri{color:var(--muted);font-family:var(--mono);font-size:
|
|
1070
|
-
.resumed .rn{font-size:
|
|
1112
|
+
.resumed .rl{margin:6px 0;font-size:calc(var(--ui) * 0.8929);line-height:1.6}
|
|
1113
|
+
.resumed .ri{color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui) * 0.8571)}
|
|
1114
|
+
.resumed .rn{font-size:calc(var(--ui) * 0.8571);color:var(--dim);margin-top:7px}
|
|
1071
1115
|
|
|
1072
1116
|
/*
|
|
1073
1117
|
* Typography you choose.
|
|
@@ -1106,12 +1150,12 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1106
1150
|
#terminalview{display:flex;flex-direction:column;overflow:hidden;position:relative}
|
|
1107
1151
|
.termtop{display:flex;gap:8px;align-items:center;padding:9px 14px;background:var(--panel);
|
|
1108
1152
|
border-bottom:1px solid var(--line);flex:0 0 auto}
|
|
1109
|
-
.termttl{font-size:
|
|
1153
|
+
.termttl{font-size:calc(var(--ui) * 0.8571);color:var(--muted);letter-spacing:.02em}
|
|
1110
1154
|
.termgap{flex:0 0 10px}
|
|
1111
1155
|
.termbtn{padding:4px 10px;border-radius:7px;border:1px solid var(--line-2);color:var(--muted);
|
|
1112
|
-
background:transparent;cursor:pointer;font-size:
|
|
1156
|
+
background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.8214)}
|
|
1113
1157
|
.termbtn:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
1114
|
-
.termchk{display:flex;gap:5px;align-items:center;font-size:
|
|
1158
|
+
.termchk{display:flex;gap:5px;align-items:center;font-size:calc(var(--ui) * 0.8214);color:var(--muted);cursor:pointer}
|
|
1115
1159
|
.termchk input{accent-color:var(--cyan);cursor:pointer}
|
|
1116
1160
|
#tbgop{width:88px;accent-color:var(--cyan)}
|
|
1117
1161
|
|
|
@@ -1161,25 +1205,25 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1161
1205
|
padding:0}
|
|
1162
1206
|
.termin::placeholder{color:var(--dim)}
|
|
1163
1207
|
.termstop{flex:0 0 auto;padding:2px 9px;border-radius:6px;border:1px solid var(--red);
|
|
1164
|
-
color:var(--red);background:transparent;cursor:pointer;font-size:
|
|
1208
|
+
color:var(--red);background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.75)}
|
|
1165
1209
|
.termpanes .oe{color:var(--red)}
|
|
1166
1210
|
|
|
1167
1211
|
/* ── the page, as it really renders ───────────────────────────────────────────────────────── */
|
|
1168
1212
|
.pvbar{display:flex;gap:8px;align-items:center;padding:11px 14px;background:var(--panel);
|
|
1169
1213
|
border-bottom:1px solid var(--line);flex:0 0 auto}
|
|
1170
1214
|
.pvbar input{flex:1;min-width:0;padding:8px 11px;border-radius:8px;border:1px solid var(--line);
|
|
1171
|
-
background:var(--panel-2);font-family:var(--mono);font-size:
|
|
1215
|
+
background:var(--panel-2);font-family:var(--mono);font-size:calc(var(--ui) * 0.8929)}
|
|
1172
1216
|
.pvbar .pvnav{flex:0 0 auto;width:28px;height:28px;border-radius:7px;border:1px solid var(--line);
|
|
1173
|
-
background:transparent;color:var(--muted);cursor:pointer;font-size:
|
|
1217
|
+
background:transparent;color:var(--muted);cursor:pointer;font-size:calc(var(--ui) * 1.0714);line-height:1;
|
|
1174
1218
|
display:flex;align-items:center;justify-content:center}
|
|
1175
1219
|
.pvbar .pvnav:hover:not(:disabled){color:var(--ink);border-color:var(--cyan)}
|
|
1176
1220
|
.pvbar .pvnav:disabled{opacity:.35;cursor:default}
|
|
1177
1221
|
.pvbar .pvgo{padding:8px 15px;border-radius:8px;border:1px solid var(--cyan);color:var(--cyan);
|
|
1178
|
-
background:transparent;cursor:pointer;font-size:
|
|
1222
|
+
background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.8929)}
|
|
1179
1223
|
.pvbar .pvbtn{padding:8px 12px;border-radius:8px;border:1px solid var(--line);color:var(--muted);
|
|
1180
|
-
background:transparent;cursor:pointer;font-size:
|
|
1224
|
+
background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.8571)}
|
|
1181
1225
|
.pvbar .pvbtn:hover{color:var(--ink)}
|
|
1182
|
-
.pvinfo{font-size:
|
|
1226
|
+
.pvinfo{font-size:calc(var(--ui) * 0.7857);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
|
|
1183
1227
|
max-width:24%}
|
|
1184
1228
|
.pvbody{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column;
|
|
1185
1229
|
align-items:center;padding:12px;background:var(--panel-2)}
|
|
@@ -1196,21 +1240,21 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1196
1240
|
.pvshot:focus{outline:2px solid var(--cyan);outline-offset:1px}
|
|
1197
1241
|
.pvshot{max-width:100%;border:1px solid var(--line);border-radius:8px;cursor:default;
|
|
1198
1242
|
background:#fff;box-shadow:var(--shadow)}
|
|
1199
|
-
.pvhint{margin-top:11px;font-size:
|
|
1243
|
+
.pvhint{margin-top:11px;font-size:calc(var(--ui) * 0.8214);color:var(--dim);text-align:center;line-height:1.6}
|
|
1200
1244
|
/* The same numbered elements the agent is given, so a person can drive the flow it is stuck on. */
|
|
1201
1245
|
.pvctl{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:9px;max-width:100%}
|
|
1202
1246
|
.pvchip{padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel);
|
|
1203
|
-
color:var(--muted);font-size:
|
|
1247
|
+
color:var(--muted);font-size:calc(var(--ui) * 0.7857);cursor:pointer;max-width:190px;overflow:hidden;
|
|
1204
1248
|
text-overflow:ellipsis;white-space:nowrap}
|
|
1205
1249
|
.pvchip:hover{border-color:var(--cyan);color:var(--cyan)}
|
|
1206
|
-
.pvnone{padding:40px 20px;color:var(--dim);font-size:
|
|
1250
|
+
.pvnone{padding:40px 20px;color:var(--dim);font-size:calc(var(--ui) * 0.9286);text-align:center;line-height:1.7;
|
|
1207
1251
|
max-width:520px}
|
|
1208
1252
|
|
|
1209
1253
|
/* ── an editable file ─────────────────────────────────────────────────────────────────────── */
|
|
1210
1254
|
.edbar{display:flex;gap:9px;align-items:center;padding:8px 14px;background:var(--panel);
|
|
1211
|
-
border-bottom:1px solid var(--line);flex:0 0 auto;font-size:
|
|
1255
|
+
border-bottom:1px solid var(--line);flex:0 0 auto;font-size:calc(var(--ui) * 0.8214)}
|
|
1212
1256
|
.edbar .ebtn{padding:5px 11px;border-radius:7px;border:1px solid var(--line);background:transparent;
|
|
1213
|
-
color:var(--muted);cursor:pointer;font-size:
|
|
1257
|
+
color:var(--muted);cursor:pointer;font-size:calc(var(--ui) * 0.8214)}
|
|
1214
1258
|
.edbar .ebtn:hover{color:var(--ink)}
|
|
1215
1259
|
.edbar .ebtn.save{border-color:var(--cyan);color:var(--cyan)}
|
|
1216
1260
|
.edbar .ebtn:disabled{opacity:.45;cursor:default}
|
|
@@ -1231,11 +1275,11 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1231
1275
|
.ed{flex:1;display:flex;min-height:0;background:var(--bg)}
|
|
1232
1276
|
.ed .egut{flex:0 0 auto;overflow:hidden;padding:12px 10px 12px 14px;text-align:right;
|
|
1233
1277
|
color:var(--dim);background:var(--panel);border-right:1px solid var(--line);user-select:none;
|
|
1234
|
-
font-family:var(--mono);font-size:
|
|
1278
|
+
font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);line-height:1.5;font-variant-numeric:tabular-nums;
|
|
1235
1279
|
white-space:pre}
|
|
1236
1280
|
.estack{position:relative;flex:1;min-width:0}
|
|
1237
1281
|
.ehl,.edit{position:absolute;inset:0;margin:0;padding:12px 14px;border:0;
|
|
1238
|
-
font-family:var(--mono);font-size:
|
|
1282
|
+
font-family:var(--mono);font-size:calc(var(--ui) * 0.8929);line-height:1.5;tab-size:2;
|
|
1239
1283
|
white-space:pre;overflow:auto;word-break:normal;overflow-wrap:normal}
|
|
1240
1284
|
.ehl{pointer-events:none;color:var(--ink)}
|
|
1241
1285
|
/* Transparent text over the coloured copy, with the caret and the selection still visible. */
|
|
@@ -1263,20 +1307,20 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1263
1307
|
*/
|
|
1264
1308
|
.viewpick{position:relative;flex:0 0 auto}
|
|
1265
1309
|
.vbtn{display:flex;gap:7px;align-items:center;padding:6px 11px;border-radius:8px;
|
|
1266
|
-
border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:
|
|
1310
|
+
border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:calc(var(--ui) * 0.8929);
|
|
1267
1311
|
cursor:pointer;min-width:118px}
|
|
1268
1312
|
.vbtn:hover{border-color:var(--cyan)}
|
|
1269
|
-
.vbtn .vcar{margin-left:auto;color:var(--dim);font-size:
|
|
1313
|
+
.vbtn .vcar{margin-left:auto;color:var(--dim);font-size:calc(var(--ui) * 0.7143)}
|
|
1270
1314
|
.vmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:250px;
|
|
1271
1315
|
background:var(--panel);border:1px solid var(--line);border-radius:10px;
|
|
1272
1316
|
box-shadow:var(--shadow);padding:5px;max-height:70vh;overflow-y:auto}
|
|
1273
1317
|
.vitem{display:flex;gap:9px;align-items:center;width:100%;padding:7px 9px;border:0;
|
|
1274
|
-
border-radius:7px;background:none;color:var(--ink);font-size:
|
|
1318
|
+
border-radius:7px;background:none;color:var(--ink);font-size:calc(var(--ui) * 0.8929);cursor:pointer;
|
|
1275
1319
|
text-align:left}
|
|
1276
1320
|
.vitem:hover,.vitem.cursor{background:var(--panel-2)}
|
|
1277
1321
|
.vitem.on{color:var(--cyan)}
|
|
1278
|
-
.vitem .vk{margin-left:auto;color:var(--dim);font-size:
|
|
1279
|
-
.vitem .vd{color:var(--dim);font-size:
|
|
1322
|
+
.vitem .vk{margin-left:auto;color:var(--dim);font-size:calc(var(--ui) * 0.75);font-family:var(--mono)}
|
|
1323
|
+
.vitem .vd{color:var(--dim);font-size:calc(var(--ui) * 0.7857)}
|
|
1280
1324
|
|
|
1281
1325
|
/* The panel's own width, dragged. */
|
|
1282
1326
|
.wgrip{flex:0 0 5px;cursor:col-resize;background:transparent;position:relative}
|
|
@@ -1286,7 +1330,7 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1286
1330
|
/* work / page, inside the panel rather than as another tab. */
|
|
1287
1331
|
.wmodes{display:flex;gap:2px;flex:0 0 auto;background:var(--panel-2);border-radius:7px;padding:2px}
|
|
1288
1332
|
.wmode{padding:2px 8px;border:0;border-radius:5px;background:none;color:var(--dim);
|
|
1289
|
-
font-size:
|
|
1333
|
+
font-size:calc(var(--ui) * 0.75);cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
|
|
1290
1334
|
.wmode.on{background:var(--panel);color:var(--cyan)}
|
|
1291
1335
|
|
|
1292
1336
|
/* A terminal that shows what a terminal shows. */
|
|
@@ -1306,24 +1350,24 @@ body[data-tint="soft"]{filter:contrast(.92) brightness(1.04)}
|
|
|
1306
1350
|
* thing being composed, not about anything that has happened yet.
|
|
1307
1351
|
*/
|
|
1308
1352
|
.vwarn{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:8px;padding:7px 10px;
|
|
1309
|
-
border:1px solid var(--amber);border-radius:8px;background:var(--panel-2);font-size:
|
|
1353
|
+
border:1px solid var(--amber);border-radius:8px;background:var(--panel-2);font-size:calc(var(--ui) * 0.8214)}
|
|
1310
1354
|
.vwarn .vi{flex:0 0 auto;padding:1px 7px;border-radius:999px;border:1px solid var(--amber);
|
|
1311
|
-
color:var(--amber);font-size:
|
|
1355
|
+
color:var(--amber);font-size:calc(var(--ui) * 0.7143);letter-spacing:.05em;text-transform:uppercase}
|
|
1312
1356
|
.vwarn .vt{flex:1;min-width:0;color:var(--muted);line-height:1.5}
|
|
1313
1357
|
.vwarn .vgo{flex:0 0 auto;padding:4px 10px;border-radius:7px;border:1px solid var(--cyan);
|
|
1314
|
-
color:var(--cyan);background:transparent;cursor:pointer;font-size:
|
|
1358
|
+
color:var(--cyan);background:transparent;cursor:pointer;font-size:calc(var(--ui) * 0.8214);white-space:nowrap}
|
|
1315
1359
|
.vwarn .vgo:hover{background:var(--panel)}
|
|
1316
1360
|
|
|
1317
1361
|
/* Carrying on from a transcript, offered in the bar that says it is read only. */
|
|
1318
1362
|
.readonly .rgap{flex:1}
|
|
1319
|
-
.readonly .rwhy{font-size:
|
|
1363
|
+
.readonly .rwhy{font-size:calc(var(--ui) * 0.8214);color:var(--dim);white-space:nowrap;overflow:hidden;
|
|
1320
1364
|
text-overflow:ellipsis;max-width:46%}
|
|
1321
1365
|
.readonly .rgo{flex:0 0 auto;padding:6px 13px;border-radius:8px;border:1px solid var(--cyan);
|
|
1322
|
-
color:var(--cyan);background:transparent;font-size:
|
|
1366
|
+
color:var(--cyan);background:transparent;font-size:calc(var(--ui) * 0.8571);cursor:pointer;white-space:nowrap}
|
|
1323
1367
|
.readonly .rgo:hover{background:var(--panel-2)}
|
|
1324
1368
|
|
|
1325
1369
|
/* What the turn came to, in the tense that matches — the line the terminal has always printed. */
|
|
1326
|
-
.landed{font-size:
|
|
1370
|
+
.landed{font-size:calc(var(--ui) * 0.8214);color:var(--dim);font-family:var(--mono);margin:2px 0 14px;
|
|
1327
1371
|
letter-spacing:.02em}
|
|
1328
1372
|
.dlg .row{display:flex;gap:8px;justify-content:flex-end}
|
|
1329
1373
|
.dlg .row button{padding:7px 15px;border-radius:8px;border:1px solid var(--line)}
|