@adea-ai/ui 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +5 -0
  2. package/components.json +19 -0
  3. package/package.json +56 -0
  4. package/src/components/account-drawer.tsx +133 -0
  5. package/src/components/on-screen-controls.tsx +156 -0
  6. package/src/components/prop-catalog.tsx +583 -0
  7. package/src/components/scene-settings.tsx +202 -0
  8. package/src/components/theme-provider.tsx +30 -0
  9. package/src/components/theme-toggle.tsx +73 -0
  10. package/src/components/ui/badge.tsx +49 -0
  11. package/src/components/ui/button.tsx +60 -0
  12. package/src/components/ui/card.tsx +18 -0
  13. package/src/components/ui/dialog.tsx +129 -0
  14. package/src/components/ui/drawer.tsx +209 -0
  15. package/src/components/ui/dropdown-menu.tsx +258 -0
  16. package/src/components/ui/empty.tsx +94 -0
  17. package/src/components/ui/field.tsx +224 -0
  18. package/src/components/ui/input.tsx +20 -0
  19. package/src/components/ui/label.tsx +20 -0
  20. package/src/components/ui/radio-group.tsx +38 -0
  21. package/src/components/ui/separator.tsx +21 -0
  22. package/src/components/ui/skeleton.tsx +13 -0
  23. package/src/components/ui/spinner.tsx +16 -0
  24. package/src/components/ui/switch.tsx +32 -0
  25. package/src/components/ui/tabs.tsx +75 -0
  26. package/src/components/ui/toggle-group.tsx +87 -0
  27. package/src/components/ui/toggle.tsx +45 -0
  28. package/src/components/ui/tooltip.tsx +56 -0
  29. package/src/components/version-dialog.tsx +366 -0
  30. package/src/components/workspace-brand.tsx +18 -0
  31. package/src/components/workspace-logo.tsx +17 -0
  32. package/src/index.tsx +55 -0
  33. package/src/lib/utils.ts +6 -0
  34. package/src/lib/version-notes.ts +30 -0
  35. package/src/styles/auth-shell.css +67 -0
  36. package/src/styles/conventional-workspace.css +2846 -0
  37. package/src/styles/globals.css +93 -0
  38. package/src/styles/theme.css +94 -0
  39. package/src/styles/workspace-shell.css +145 -0
  40. package/tsconfig.json +10 -0
@@ -0,0 +1,2846 @@
1
+ .workspace-frame {
2
+ --workspace-rail-width: 4rem;
3
+ position: fixed;
4
+ inset: 0;
5
+ display: grid;
6
+ grid-template-columns: 4rem minmax(0, 1fr);
7
+ min-width: 20rem;
8
+ height: 100svh;
9
+ overflow: clip;
10
+ background: var(--background);
11
+ color: var(--foreground);
12
+ }
13
+
14
+ .workspace-frame__surface {
15
+ position: relative;
16
+ min-width: 0;
17
+ min-height: 0;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .global-rail {
22
+ position: relative;
23
+ z-index: 110;
24
+ display: grid;
25
+ grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
26
+ justify-items: center;
27
+ gap: 0.5rem;
28
+ min-width: 0;
29
+ padding: max(0.75rem, env(safe-area-inset-top)) 0.45rem max(0.75rem, env(safe-area-inset-bottom));
30
+ border-right: 1px solid var(--border);
31
+ background: var(--card);
32
+ color: var(--card-foreground);
33
+ }
34
+
35
+ .global-rail__views,
36
+ .global-rail__footer {
37
+ display: grid;
38
+ justify-items: center;
39
+ gap: 0.25rem;
40
+ }
41
+
42
+ .global-rail__workspace-trigger {
43
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary-foreground) 18%, transparent);
44
+ }
45
+
46
+ .global-rail__workspace {
47
+ position: relative;
48
+ }
49
+
50
+ .global-rail__workspace-menu {
51
+ position: absolute;
52
+ top: 100%;
53
+ left: 0;
54
+ z-index: 130;
55
+ display: grid;
56
+ gap: 0.2rem;
57
+ width: 15rem;
58
+ padding: 0.35rem;
59
+ border: 1px solid var(--border);
60
+ border-radius: 0.65rem;
61
+ background: var(--popover);
62
+ color: var(--popover-foreground);
63
+ box-shadow: 0 0.8rem 2rem rgb(0 0 0 / 0.18);
64
+ }
65
+
66
+ .global-rail__workspace-menu > button {
67
+ display: grid;
68
+ grid-template-columns: auto minmax(0, 1fr);
69
+ gap: 0.55rem;
70
+ align-items: center;
71
+ width: 100%;
72
+ min-height: 2.4rem;
73
+ padding: 0.4rem 0.5rem;
74
+ border: 0;
75
+ border-radius: 0.4rem;
76
+ color: inherit;
77
+ background: transparent;
78
+ font: inherit;
79
+ text-align: left;
80
+ cursor: pointer;
81
+ }
82
+
83
+ .global-rail__workspace-menu > button:hover,
84
+ .global-rail__workspace-menu > button:focus-visible,
85
+ .global-rail__workspace-menu > button[aria-checked="true"] {
86
+ background: var(--accent);
87
+ color: var(--accent-foreground);
88
+ outline: none;
89
+ }
90
+
91
+ .global-rail__workspace-name {
92
+ min-width: 0;
93
+ overflow: hidden;
94
+ text-overflow: ellipsis;
95
+ white-space: nowrap;
96
+ }
97
+
98
+ .global-rail__button {
99
+ position: relative;
100
+ }
101
+
102
+ .global-rail__button svg,
103
+ .global-rail__workspace-trigger svg {
104
+ width: 1.5rem;
105
+ height: 1.5rem;
106
+ }
107
+
108
+ .global-rail__button[aria-pressed="true"]::after {
109
+ position: absolute;
110
+ top: 0.45rem;
111
+ right: -0.46rem;
112
+ bottom: 0.45rem;
113
+ width: 2px;
114
+ border-radius: 999px;
115
+ background: var(--foreground);
116
+ content: "";
117
+ }
118
+
119
+ .global-rail__search {
120
+ display: grid;
121
+ justify-items: center;
122
+ gap: 0.35rem;
123
+ }
124
+
125
+ .global-rail__search kbd {
126
+ color: var(--muted-foreground);
127
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
128
+ font-size: 0.55rem;
129
+ letter-spacing: 0.02em;
130
+ line-height: 1;
131
+ word-spacing: 0.2rem;
132
+ }
133
+
134
+ .global-rail__separator {
135
+ width: 2rem;
136
+ margin: 0.15rem 0;
137
+ }
138
+
139
+ .global-rail__footer {
140
+ grid-row: 6;
141
+ }
142
+
143
+ .global-account-menu {
144
+ min-width: 15rem;
145
+ padding: 0.4rem;
146
+ border-radius: 0.75rem;
147
+ }
148
+
149
+ .global-account-menu [data-slot="dropdown-menu-item"] {
150
+ min-height: 2.25rem;
151
+ gap: 0.65rem;
152
+ padding: 0.45rem 0.55rem;
153
+ font-size: 0.86rem;
154
+ }
155
+
156
+ .global-account-menu [data-slot="dropdown-menu-item"] svg {
157
+ width: 1.05rem;
158
+ height: 1.05rem;
159
+ color: var(--muted-foreground);
160
+ }
161
+
162
+ .global-account-menu [data-slot="dropdown-menu-item"]:not([data-disabled]):hover svg,
163
+ .global-account-menu [data-slot="dropdown-menu-item"]:focus svg {
164
+ color: currentColor;
165
+ }
166
+
167
+ .conventional-workspace,
168
+ .conventional-dialog {
169
+ --cw-bg: var(--background);
170
+ --cw-surface: var(--card);
171
+ --cw-surface-muted: var(--muted);
172
+ --cw-sidebar: var(--card);
173
+ --cw-sidebar-hover: var(--muted);
174
+ /* The conversation surface sits a step away from the sidebar/card tone so
175
+ the chat area reads as its own region. */
176
+ --cw-main: oklch(0.985 0 0);
177
+ --cw-text: var(--foreground);
178
+ --cw-muted: var(--muted-foreground);
179
+ --cw-border: var(--border);
180
+ --cw-accent: var(--primary);
181
+ --cw-accent-strong: var(--primary);
182
+ --cw-accent-soft: var(--secondary);
183
+ --cw-accent-contrast: var(--primary-foreground);
184
+ --cw-danger: var(--destructive);
185
+ --cw-focus: var(--ring);
186
+ }
187
+
188
+ .conventional-workspace {
189
+ position: relative;
190
+ display: grid;
191
+ grid-template: minmax(0, 1fr) / var(--conventional-sidebar-width, 17rem) minmax(0, 1fr);
192
+ min-width: 0;
193
+ width: 100%;
194
+ height: 100svh;
195
+ overflow: clip;
196
+ background: var(--cw-bg);
197
+ color: var(--cw-text);
198
+ font-family: Inter, ui-sans-serif, system-ui, sans-serif;
199
+ }
200
+
201
+ .conventional-workspace *,
202
+ .conventional-workspace *::before,
203
+ .conventional-workspace *::after {
204
+ box-sizing: border-box;
205
+ }
206
+ .conventional-workspace button,
207
+ .conventional-workspace input,
208
+ .conventional-workspace select,
209
+ .conventional-workspace textarea {
210
+ font: inherit;
211
+ }
212
+ .conventional-workspace button:not([data-slot]) {
213
+ color: inherit;
214
+ }
215
+ .conventional-workspace button:not(:disabled),
216
+ .conventional-workspace select:not(:disabled) {
217
+ cursor: pointer;
218
+ }
219
+ .conventional-workspace button:disabled {
220
+ cursor: not-allowed;
221
+ opacity: 0.55;
222
+ }
223
+ .conventional-workspace :focus-visible {
224
+ outline: 3px solid var(--cw-focus);
225
+ outline-offset: 2px;
226
+ }
227
+ .conventional-workspace svg {
228
+ width: 1.1rem;
229
+ height: 1.1rem;
230
+ flex: none;
231
+ }
232
+ .conventional-workspace h1,
233
+ .conventional-workspace h2,
234
+ .conventional-workspace p {
235
+ margin: 0;
236
+ }
237
+
238
+ .conventional-skip-link {
239
+ position: fixed;
240
+ z-index: 100;
241
+ top: 0.5rem;
242
+ left: 0.5rem;
243
+ padding: 0.7rem 1rem;
244
+ transform: translateY(-160%);
245
+ border-radius: 0.4rem;
246
+ background: var(--cw-surface);
247
+ color: var(--cw-text);
248
+ }
249
+ .conventional-skip-link:focus {
250
+ transform: none;
251
+ }
252
+ .conventional-topbar {
253
+ grid-column: 1 / -1;
254
+ display: grid;
255
+ grid-template-columns: 17rem minmax(0, 1fr) auto auto;
256
+ align-items: center;
257
+ border-bottom: 1px solid var(--cw-border);
258
+ background: var(--cw-sidebar);
259
+ color: var(--cw-text);
260
+ }
261
+ .conventional-brand,
262
+ .conventional-topbar__context,
263
+ .conventional-account-button {
264
+ display: flex;
265
+ align-items: center;
266
+ gap: 0.65rem;
267
+ min-height: 2.75rem;
268
+ }
269
+ .conventional-brand {
270
+ align-self: stretch;
271
+ padding: 0 1rem;
272
+ color: inherit;
273
+ text-decoration: none;
274
+ letter-spacing: -0.02em;
275
+ }
276
+ .conventional-brand > span {
277
+ display: grid;
278
+ width: 2rem;
279
+ height: 2rem;
280
+ place-items: center;
281
+ border-radius: 0.45rem;
282
+ background: var(--cw-accent);
283
+ color: var(--cw-accent-contrast);
284
+ font-size: 0.72rem;
285
+ font-weight: 800;
286
+ }
287
+ .conventional-topbar__context {
288
+ padding: 0 1rem;
289
+ color: var(--cw-muted);
290
+ font-size: 0.85rem;
291
+ }
292
+ .conventional-account-button {
293
+ margin-right: 0.65rem;
294
+ padding: 0 0.8rem;
295
+ border: 0;
296
+ border-radius: 0.4rem;
297
+ background: transparent;
298
+ }
299
+ .conventional-account-button:hover {
300
+ background: var(--cw-sidebar-hover);
301
+ }
302
+ .conventional-topbar__view {
303
+ display: flex;
304
+ padding: 0 0.25rem;
305
+ }
306
+
307
+ .conventional-sidebar {
308
+ position: relative;
309
+ grid-row: 1;
310
+ display: grid;
311
+ grid-template-rows: auto auto minmax(0, 1fr);
312
+ min-width: 0;
313
+ overflow: hidden;
314
+ background: var(--cw-sidebar);
315
+ color: var(--cw-text);
316
+ }
317
+ .conventional-sidebar__resize {
318
+ position: absolute;
319
+ z-index: 6;
320
+ top: 0;
321
+ right: 0;
322
+ bottom: 0;
323
+ width: 0.5rem;
324
+ padding: 0;
325
+ border: 0;
326
+ cursor: col-resize;
327
+ background: transparent;
328
+ touch-action: none;
329
+ }
330
+ .conventional-sidebar__resize:hover,
331
+ .conventional-sidebar__resize:focus-visible {
332
+ background: var(--cw-accent-soft);
333
+ }
334
+ .conventional-sidebar__resize:focus-visible {
335
+ outline: 2px solid var(--cw-focus);
336
+ outline-offset: -2px;
337
+ }
338
+ .conventional-sidebar__close {
339
+ display: none;
340
+ }
341
+ .conventional-sidebar__title {
342
+ padding: 0.9rem 1.25rem 0.5rem;
343
+ }
344
+ .conventional-sidebar__title h1 {
345
+ overflow: hidden;
346
+ color: var(--cw-muted);
347
+ font-size: 0.72rem;
348
+ letter-spacing: 0.08em;
349
+ text-overflow: ellipsis;
350
+ text-transform: uppercase;
351
+ white-space: nowrap;
352
+ }
353
+ .conventional-sidebar__quick-actions {
354
+ display: grid;
355
+ gap: 0.15rem;
356
+ padding: 0.25rem 0.6rem 0.75rem;
357
+ border-bottom: 1px solid var(--cw-border);
358
+ }
359
+ .conventional-sidebar button:not([data-slot]) {
360
+ border: 0;
361
+ background: transparent;
362
+ }
363
+ .conventional-sidebar__quick-actions button,
364
+ .conventional-sidebar__settings {
365
+ display: flex;
366
+ align-items: center;
367
+ gap: 0.7rem;
368
+ min-height: 2.5rem;
369
+ padding: 0 0.65rem;
370
+ border-radius: 0.4rem;
371
+ text-align: left;
372
+ }
373
+ .conventional-sidebar__quick-actions button:hover,
374
+ .conventional-sidebar__settings:hover {
375
+ background: var(--cw-sidebar-hover);
376
+ }
377
+ .conventional-sidebar__quick-actions kbd {
378
+ margin-left: auto;
379
+ color: var(--cw-muted);
380
+ font-size: 0.7rem;
381
+ }
382
+ .conventional-sidebar__scroll {
383
+ overflow: auto;
384
+ padding: 0.65rem 0.55rem;
385
+ scrollbar-gutter: stable;
386
+ }
387
+ .conventional-sidebar-section + .conventional-sidebar-section {
388
+ margin-top: 1.25rem;
389
+ }
390
+ .conventional-sidebar-section__heading {
391
+ display: flex;
392
+ align-items: center;
393
+ justify-content: space-between;
394
+ padding: 0 0.45rem 0.35rem;
395
+ }
396
+ .conventional-sidebar-section__heading h2 {
397
+ color: var(--cw-muted);
398
+ font-size: 0.72rem;
399
+ letter-spacing: 0.08em;
400
+ text-transform: uppercase;
401
+ }
402
+ .conventional-sidebar-section__heading button {
403
+ display: grid;
404
+ width: 2rem;
405
+ height: 2rem;
406
+ place-items: center;
407
+ border-radius: 0.35rem;
408
+ }
409
+ .conventional-sidebar-section__heading button:hover {
410
+ background: var(--cw-sidebar-hover);
411
+ }
412
+ .conventional-room-list,
413
+ .conventional-channel-list {
414
+ margin: 0;
415
+ padding: 0;
416
+ list-style: none;
417
+ }
418
+ .conventional-room-row {
419
+ display: flex;
420
+ align-items: center;
421
+ gap: 0.15rem;
422
+ }
423
+ .conventional-room-toggle {
424
+ display: grid;
425
+ width: 2rem;
426
+ height: 2.45rem;
427
+ flex-shrink: 0;
428
+ place-items: center;
429
+ border-radius: 0.35rem;
430
+ color: var(--cw-muted);
431
+ }
432
+ .conventional-room-toggle:hover {
433
+ background: var(--cw-sidebar-hover);
434
+ color: var(--cw-text);
435
+ }
436
+ .conventional-room-toggle svg {
437
+ width: 0.9rem;
438
+ }
439
+ .conventional-room-select,
440
+ .conventional-channel-list button {
441
+ display: flex;
442
+ min-width: 0;
443
+ min-height: 2.45rem;
444
+ align-items: center;
445
+ gap: 0.5rem;
446
+ border-radius: 0.35rem;
447
+ }
448
+ .conventional-unread-badge {
449
+ min-width: 1.35rem;
450
+ margin-left: auto;
451
+ padding: 0.1rem 0.35rem;
452
+ border-radius: 999px;
453
+ background: var(--cw-accent);
454
+ color: var(--cw-accent-contrast) !important;
455
+ font-size: 0.68rem !important;
456
+ font-weight: 800;
457
+ line-height: 1.1;
458
+ text-align: center;
459
+ }
460
+ .conventional-room-select {
461
+ flex: 1;
462
+ justify-content: flex-start;
463
+ padding: 0 0.55rem;
464
+ text-align: left;
465
+ }
466
+ .conventional-room-select > svg {
467
+ width: 1rem;
468
+ height: 1rem;
469
+ flex-shrink: 0;
470
+ color: var(--cw-muted);
471
+ }
472
+ .conventional-room-name,
473
+ .conventional-channel-list button > span {
474
+ overflow: hidden;
475
+ min-width: 0;
476
+ flex: 1;
477
+ text-overflow: ellipsis;
478
+ white-space: nowrap;
479
+ }
480
+ .conventional-room-actions,
481
+ .conventional-channel-actions {
482
+ display: flex;
483
+ flex-shrink: 0;
484
+ align-items: center;
485
+ gap: 0.1rem;
486
+ opacity: 0;
487
+ }
488
+ .conventional-room-row:hover .conventional-room-actions,
489
+ .conventional-room-row:focus-within .conventional-room-actions,
490
+ .conventional-channel-row:hover .conventional-channel-actions,
491
+ .conventional-channel-row:focus-within .conventional-channel-actions {
492
+ opacity: 1;
493
+ }
494
+ .conventional-room-actions button {
495
+ display: grid;
496
+ width: 2rem;
497
+ height: 2.45rem;
498
+ flex-shrink: 0;
499
+ place-items: center;
500
+ border-radius: 0.35rem;
501
+ color: var(--cw-muted);
502
+ }
503
+ .conventional-room-actions button:hover {
504
+ background: var(--cw-sidebar-hover);
505
+ color: var(--cw-text);
506
+ }
507
+ .conventional-room-row:hover .conventional-room-select {
508
+ background: var(--cw-sidebar-hover);
509
+ color: var(--cw-text);
510
+ }
511
+ .conventional-room-row:hover .conventional-room-actions button,
512
+ .conventional-room-row:hover .conventional-room-toggle {
513
+ background: var(--cw-sidebar-hover);
514
+ }
515
+ .conventional-room-row:hover .conventional-room-actions button:hover,
516
+ .conventional-room-row:hover .conventional-room-toggle:hover {
517
+ background: color-mix(in srgb, var(--cw-sidebar-hover) 70%, var(--cw-text));
518
+ }
519
+ .conventional-channel-actions button {
520
+ width: 2rem;
521
+ height: 2rem;
522
+ flex-shrink: 0;
523
+ }
524
+ .conventional-channel-actions [data-slot="dropdown-menu-trigger"],
525
+ .conventional-room-actions [data-slot="dropdown-menu-trigger"] {
526
+ background: var(--cw-sidebar-hover);
527
+ }
528
+ .conventional-channel-actions [data-slot="dropdown-menu-trigger"]:hover,
529
+ .conventional-room-actions [data-slot="dropdown-menu-trigger"]:hover {
530
+ background: color-mix(in srgb, var(--cw-sidebar-hover) 70%, var(--cw-text));
531
+ }
532
+ .conventional-room-actions button svg,
533
+ .conventional-channel-actions button svg {
534
+ width: 0.9rem;
535
+ height: 0.9rem;
536
+ }
537
+ .conventional-channel-row {
538
+ display: flex;
539
+ align-items: center;
540
+ gap: 0.15rem;
541
+ }
542
+ .conventional-channel-row > button:first-child {
543
+ min-width: 0;
544
+ flex: 1;
545
+ }
546
+ .conventional-room-select:hover,
547
+ .conventional-room-select[aria-current="page"],
548
+ .conventional-channel-list > li > button:hover,
549
+ .conventional-channel-list > li > button[aria-current="page"] {
550
+ background: var(--cw-sidebar-hover);
551
+ color: var(--cw-text);
552
+ }
553
+ .conventional-channel-list {
554
+ margin-left: 0;
555
+ }
556
+ .conventional-channel-list--standalone {
557
+ margin-left: 0;
558
+ }
559
+ .conventional-channel-list > li > button {
560
+ width: 100%;
561
+ padding: 0 0.55rem;
562
+ color: var(--cw-muted);
563
+ text-align: left;
564
+ }
565
+ .conventional-sidebar-error {
566
+ margin: 0 0.55rem 0.5rem;
567
+ padding: 0.5rem 0.6rem;
568
+ border-radius: 0.4rem;
569
+ background: color-mix(in srgb, var(--cw-danger) 10%, transparent);
570
+ color: var(--cw-danger);
571
+ font-size: 0.78rem;
572
+ line-height: 1.4;
573
+ }
574
+ .conventional-sidebar-empty {
575
+ padding: 0.5rem;
576
+ color: var(--cw-muted);
577
+ font-size: 0.8rem;
578
+ line-height: 1.45;
579
+ }
580
+ .conventional-sidebar-empty-action {
581
+ display: flex;
582
+ width: 100%;
583
+ min-height: 2.5rem;
584
+ align-items: center;
585
+ gap: 0.5rem;
586
+ padding: 0 0.55rem;
587
+ border-radius: 0.35rem;
588
+ color: var(--cw-muted);
589
+ }
590
+ .conventional-sidebar__settings {
591
+ margin: 0.5rem 0.6rem 0.75rem;
592
+ }
593
+ .conventional-mobile-menu,
594
+ .conventional-sidebar-scrim {
595
+ display: none;
596
+ }
597
+
598
+ .conventional-main {
599
+ grid-column: 2;
600
+ display: flex;
601
+ flex-direction: column;
602
+ min-width: 0;
603
+ min-height: 0;
604
+ overflow: hidden;
605
+ background: var(--cw-main);
606
+ }
607
+ .conventional-main > :not(.conventional-session-notice) {
608
+ flex: 1;
609
+ min-width: 0;
610
+ min-height: 0;
611
+ }
612
+ .conventional-session-notice {
613
+ display: grid;
614
+ grid-template-columns: auto minmax(0, 1fr) auto;
615
+ align-items: start;
616
+ gap: 0.65rem;
617
+ flex: none;
618
+ padding: 0.65rem 1rem;
619
+ border-bottom: 1px solid color-mix(in srgb, #d97706 45%, transparent);
620
+ background: color-mix(in srgb, #d97706 12%, var(--cw-main));
621
+ color: var(--cw-text);
622
+ }
623
+ .conventional-session-notice > svg {
624
+ width: 1.1rem;
625
+ height: 1.1rem;
626
+ margin-top: 0.15rem;
627
+ color: #d97706;
628
+ flex: none;
629
+ }
630
+ .conventional-session-notice h2 {
631
+ font-size: 0.85rem;
632
+ font-weight: 700;
633
+ }
634
+ .conventional-session-notice p {
635
+ color: var(--cw-muted);
636
+ font-size: 0.8rem;
637
+ line-height: 1.45;
638
+ }
639
+ .conventional-session-notice button {
640
+ display: grid;
641
+ width: 2rem;
642
+ height: 2rem;
643
+ place-items: center;
644
+ border: 0;
645
+ border-radius: 0.35rem;
646
+ background: transparent;
647
+ color: var(--cw-muted);
648
+ cursor: pointer;
649
+ }
650
+ .conventional-session-notice button:hover {
651
+ background: color-mix(in srgb, #d97706 18%, transparent);
652
+ color: var(--cw-text);
653
+ }
654
+ .conventional-session-notice button svg {
655
+ width: 1rem;
656
+ height: 1rem;
657
+ }
658
+ .conventional-workspace--loading {
659
+ grid-template: 1fr / 1fr;
660
+ place-items: center;
661
+ }
662
+ .conventional-conversation {
663
+ position: relative;
664
+ display: grid;
665
+ grid-template: auto minmax(0, 1fr) auto / minmax(0, 1fr);
666
+ height: 100%;
667
+ }
668
+ .conventional-conversation--thread-open {
669
+ grid-template-columns: minmax(24rem, 1fr) minmax(20rem, 26rem);
670
+ }
671
+ .conventional-conversation__header {
672
+ grid-column: 1;
673
+ display: grid;
674
+ gap: 0.35rem;
675
+ padding: 0.65rem 1.2rem 0.55rem;
676
+ border-bottom: 1px solid var(--cw-border);
677
+ background: var(--cw-surface);
678
+ }
679
+ .conventional-conversation__header-top {
680
+ display: flex;
681
+ min-height: 4.4rem;
682
+ align-items: center;
683
+ gap: 0.75rem;
684
+ }
685
+ .conventional-conversation__identity {
686
+ min-width: 0;
687
+ flex: 1;
688
+ }
689
+ .conventional-conversation__identity > span,
690
+ .conventional-surface-header span {
691
+ color: var(--cw-muted);
692
+ font-size: 0.72rem;
693
+ font-weight: 700;
694
+ letter-spacing: 0.06em;
695
+ text-transform: uppercase;
696
+ }
697
+ .conventional-conversation__identity h1 {
698
+ overflow: hidden;
699
+ font-size: 1.15rem;
700
+ font-weight: 750;
701
+ letter-spacing: -0.02em;
702
+ text-overflow: ellipsis;
703
+ white-space: nowrap;
704
+ }
705
+ .conventional-conversation__header button,
706
+ .conventional-header-menu {
707
+ display: grid;
708
+ width: 2.75rem;
709
+ height: 2.75rem;
710
+ place-items: center;
711
+ border: 0;
712
+ border-radius: 0.4rem;
713
+ background: transparent;
714
+ }
715
+ .conventional-conversation__header button:hover {
716
+ background: var(--cw-surface-muted);
717
+ }
718
+ .conventional-conversation__actions {
719
+ display: flex;
720
+ align-items: center;
721
+ justify-content: flex-end;
722
+ gap: 0.45rem;
723
+ }
724
+ .conventional-conversation__actions .conventional-status-chip {
725
+ width: 0.55rem;
726
+ min-height: 0.55rem;
727
+ padding: 0;
728
+ border: 0;
729
+ border-radius: 999px;
730
+ background: var(--cw-accent);
731
+ color: transparent;
732
+ font-size: 0;
733
+ }
734
+ .conventional-conversation__people {
735
+ min-width: 0;
736
+ overflow: hidden;
737
+ padding-top: 0.15rem;
738
+ }
739
+ .conventional-conversation__people ul {
740
+ display: flex;
741
+ justify-content: center;
742
+ gap: 0.6rem;
743
+ margin: 0;
744
+ padding: 0.1rem 0 0.25rem;
745
+ list-style: none;
746
+ }
747
+ .conventional-conversation__people li {
748
+ position: relative;
749
+ display: grid;
750
+ width: 2.25rem;
751
+ height: 2.25rem;
752
+ place-items: center;
753
+ flex: 0 0 auto;
754
+ }
755
+ .conventional-conversation__person-avatar {
756
+ display: grid;
757
+ width: 1.95rem;
758
+ height: 1.95rem;
759
+ place-items: center;
760
+ overflow: hidden;
761
+ border: 2px solid var(--cw-surface);
762
+ border-radius: 999px;
763
+ background: var(--cw-accent-soft);
764
+ color: var(--cw-accent-strong);
765
+ font-size: 0.61rem;
766
+ font-weight: 800;
767
+ letter-spacing: 0.02em;
768
+ }
769
+ .conventional-conversation__person-avatar img,
770
+ .conventional-conversation__person-avatar svg {
771
+ width: 100%;
772
+ height: 100%;
773
+ }
774
+ .conventional-conversation__person-avatar img {
775
+ object-fit: cover;
776
+ }
777
+ .conventional-conversation__person-avatar svg {
778
+ width: 1rem;
779
+ height: 1rem;
780
+ }
781
+ .conventional-conversation__person-avatar--user {
782
+ background: var(--cw-surface-muted);
783
+ color: var(--cw-muted);
784
+ }
785
+ .conventional-conversation__person--active .conventional-conversation__person-avatar {
786
+ box-shadow:
787
+ 0 0 0 2px var(--cw-surface),
788
+ 0 0 0 3px var(--cw-accent-strong);
789
+ }
790
+ .conventional-conversation__person-presence {
791
+ position: absolute;
792
+ right: 0.12rem;
793
+ bottom: 0.08rem;
794
+ width: 0.58rem;
795
+ height: 0.58rem;
796
+ border: 2px solid var(--cw-surface);
797
+ border-radius: 999px;
798
+ background: var(--cw-accent);
799
+ }
800
+ .conventional-header-menu {
801
+ display: none !important;
802
+ }
803
+ .conventional-transcript {
804
+ grid-column: 1;
805
+ min-height: 0;
806
+ overflow-y: auto;
807
+ padding: 1.35rem clamp(0.8rem, 3vw, 2.5rem) 1.1rem;
808
+ overscroll-behavior: contain;
809
+ scrollbar-gutter: stable;
810
+ }
811
+ .conventional-date-divider {
812
+ display: flex;
813
+ max-width: 50rem;
814
+ align-items: center;
815
+ gap: 0.7rem;
816
+ margin: 1.1rem auto 0.55rem;
817
+ color: var(--cw-muted);
818
+ font-size: 0.68rem;
819
+ font-weight: 700;
820
+ }
821
+ .conventional-date-divider::before,
822
+ .conventional-date-divider::after {
823
+ height: 1px;
824
+ flex: 1;
825
+ background: var(--cw-border);
826
+ content: "";
827
+ }
828
+ .conventional-date-divider span {
829
+ padding: 0.22rem 0.65rem;
830
+ border: 1px solid var(--cw-border);
831
+ border-radius: 999px;
832
+ background: var(--cw-surface);
833
+ white-space: nowrap;
834
+ }
835
+ .conventional-message {
836
+ display: grid;
837
+ grid-template-columns: 1.9rem minmax(0, 1fr);
838
+ gap: 0.55rem;
839
+ max-width: 50rem;
840
+ margin: 0 auto;
841
+ padding: 0.35rem 0.25rem;
842
+ content-visibility: auto;
843
+ contain-intrinsic-size: 7rem;
844
+ border-radius: 0.75rem;
845
+ }
846
+ .conventional-message:hover {
847
+ background: color-mix(in srgb, var(--cw-surface-muted) 45%, transparent);
848
+ }
849
+ .conventional-message--highlighted {
850
+ background: var(--cw-accent-soft);
851
+ box-shadow: inset 3px 0 var(--cw-accent-strong);
852
+ }
853
+ .conventional-message__avatar {
854
+ display: grid;
855
+ width: 1.9rem;
856
+ height: 1.9rem;
857
+ margin-top: 0.2rem;
858
+ place-items: center;
859
+ overflow: hidden;
860
+ border-radius: 999px;
861
+ background: var(--cw-accent-soft);
862
+ color: var(--cw-accent-strong);
863
+ font-size: 0.59rem;
864
+ font-weight: 800;
865
+ letter-spacing: 0.02em;
866
+ }
867
+ .conventional-message__avatar img {
868
+ width: 100%;
869
+ height: 100%;
870
+ object-fit: cover;
871
+ }
872
+ .conventional-message--system .conventional-message__avatar {
873
+ background: var(--cw-surface-muted);
874
+ color: var(--cw-muted);
875
+ }
876
+ .conventional-message--user {
877
+ grid-template-columns: minmax(0, 1fr) 2.05rem;
878
+ margin-right: 0;
879
+ }
880
+ .conventional-message--user .conventional-message__avatar {
881
+ order: 2;
882
+ width: 2.05rem;
883
+ height: 2.05rem;
884
+ }
885
+ .conventional-message--user .conventional-message__content {
886
+ order: 1;
887
+ min-width: 0;
888
+ }
889
+ .conventional-message--agent {
890
+ margin-left: 0;
891
+ }
892
+ .conventional-message--user .conventional-message__actions {
893
+ justify-content: flex-end;
894
+ }
895
+ .conventional-message__avatar > span {
896
+ display: grid;
897
+ width: 100%;
898
+ height: 100%;
899
+ place-items: center;
900
+ }
901
+ .conventional-message__avatar svg {
902
+ width: 1.05rem;
903
+ height: 1.05rem;
904
+ }
905
+ .conventional-message__content {
906
+ min-width: 0;
907
+ }
908
+ .conventional-message__bubble {
909
+ position: relative;
910
+ width: fit-content;
911
+ max-width: min(100%, 38rem);
912
+ min-width: 4rem;
913
+ padding: 0.62rem 0.82rem 0.46rem;
914
+ border: 1px solid var(--cw-border);
915
+ border-radius: 0.2rem 1rem 1rem 1rem;
916
+ background: var(--cw-surface);
917
+ box-shadow: 0 0.15rem 0.4rem rgb(0 0 0 / 0.04);
918
+ }
919
+ .conventional-message--user .conventional-message__bubble {
920
+ margin-left: auto;
921
+ border-color: transparent;
922
+ border-radius: 1rem 0.2rem 1rem 1rem;
923
+ background: var(--cw-accent-soft);
924
+ box-shadow: none;
925
+ }
926
+ .conventional-message--system .conventional-message__bubble {
927
+ max-width: 100%;
928
+ border-style: dashed;
929
+ border-radius: 0.85rem;
930
+ background: transparent;
931
+ box-shadow: none;
932
+ }
933
+ .conventional-message__body {
934
+ line-height: 1.45;
935
+ overflow-wrap: anywhere;
936
+ }
937
+ .conventional-message__body p {
938
+ white-space: pre-wrap;
939
+ }
940
+ .conventional-message__body p + p {
941
+ margin-top: 0.45rem;
942
+ }
943
+ .conventional-message__meta {
944
+ display: flex;
945
+ align-items: center;
946
+ justify-content: flex-end;
947
+ gap: 0.35rem;
948
+ min-height: 0.75rem;
949
+ margin-top: 0.28rem;
950
+ color: var(--cw-muted);
951
+ font-size: 0.64rem;
952
+ line-height: 1;
953
+ }
954
+ .conventional-message__receipt {
955
+ display: inline-flex;
956
+ color: var(--cw-accent-strong);
957
+ }
958
+ .conventional-message__receipt svg {
959
+ width: 0.8rem;
960
+ height: 0.8rem;
961
+ stroke-width: 2.5;
962
+ }
963
+ .conventional-principal-badge {
964
+ padding: 0.1rem 0.35rem;
965
+ border-radius: 999px;
966
+ background: var(--cw-accent-soft);
967
+ color: var(--cw-accent-strong) !important;
968
+ font-weight: 700;
969
+ }
970
+ .conventional-message__body pre {
971
+ max-width: 100%;
972
+ overflow: auto;
973
+ margin: 0.4rem 0 0;
974
+ padding: 0.7rem;
975
+ border: 1px solid var(--cw-border);
976
+ border-radius: 0.55rem;
977
+ background: var(--cw-bg);
978
+ font-size: 0.78rem;
979
+ }
980
+ .conventional-message__deleted {
981
+ color: var(--cw-muted);
982
+ font-style: italic;
983
+ }
984
+ .conventional-message__actions {
985
+ display: flex;
986
+ min-height: 1.55rem;
987
+ gap: 0.25rem;
988
+ margin-top: 0.22rem;
989
+ opacity: 0;
990
+ }
991
+ .conventional-message:hover .conventional-message__actions,
992
+ .conventional-message:focus-within .conventional-message__actions {
993
+ opacity: 1;
994
+ }
995
+ .conventional-message__actions button,
996
+ .conventional-task-link {
997
+ display: inline-flex;
998
+ min-height: 1.8rem;
999
+ align-items: center;
1000
+ gap: 0.3rem;
1001
+ padding: 0 0.42rem;
1002
+ border: 1px solid var(--cw-border);
1003
+ border-radius: 999px;
1004
+ background: var(--cw-surface);
1005
+ font-size: 0.7rem;
1006
+ }
1007
+ .conventional-message__actions svg {
1008
+ width: 0.75rem;
1009
+ }
1010
+ .conventional-task-link {
1011
+ margin-top: 0.55rem;
1012
+ border-color: transparent;
1013
+ background: var(--cw-surface-muted);
1014
+ color: var(--cw-text);
1015
+ }
1016
+ .conventional-private-content,
1017
+ .conventional-artifact-card {
1018
+ display: flex;
1019
+ align-items: center;
1020
+ gap: 0.6rem;
1021
+ margin-top: 0.55rem;
1022
+ padding: 0.6rem 0.7rem;
1023
+ border: 1px solid var(--cw-border);
1024
+ border-radius: 0.65rem;
1025
+ background: var(--cw-bg);
1026
+ }
1027
+ .conventional-private-content div,
1028
+ .conventional-artifact-card div {
1029
+ display: grid;
1030
+ min-width: 0;
1031
+ gap: 0.12rem;
1032
+ }
1033
+ .conventional-private-content span,
1034
+ .conventional-artifact-card span {
1035
+ color: var(--cw-muted);
1036
+ font-size: 0.7rem;
1037
+ }
1038
+ .conventional-message__artifacts {
1039
+ display: flex;
1040
+ flex-wrap: wrap;
1041
+ gap: 0.4rem;
1042
+ margin-top: 0.55rem;
1043
+ }
1044
+ .conventional-message__artifacts .conventional-artifact-card {
1045
+ display: grid;
1046
+ width: 6.5rem;
1047
+ min-height: 5.5rem;
1048
+ align-content: space-between;
1049
+ align-items: start;
1050
+ margin-top: 0;
1051
+ padding: 0.6rem;
1052
+ border: 0;
1053
+ background: var(--cw-accent-soft);
1054
+ }
1055
+ .conventional-message__artifacts .conventional-artifact-card > svg {
1056
+ width: 1.1rem;
1057
+ height: 1.1rem;
1058
+ color: var(--cw-accent-strong);
1059
+ }
1060
+ .conventional-message__artifacts .conventional-artifact-card strong,
1061
+ .conventional-message__artifacts .conventional-artifact-card span {
1062
+ display: block;
1063
+ overflow: hidden;
1064
+ text-overflow: ellipsis;
1065
+ white-space: nowrap;
1066
+ }
1067
+ .conventional-load-more {
1068
+ display: block;
1069
+ min-height: 2.5rem;
1070
+ margin: 0.75rem auto;
1071
+ padding: 0 0.8rem;
1072
+ border: 1px solid var(--cw-border);
1073
+ border-radius: 0.4rem;
1074
+ background: var(--cw-surface);
1075
+ }
1076
+
1077
+ .conventional-composer {
1078
+ position: relative;
1079
+ grid-column: 1;
1080
+ margin: 0 clamp(0.8rem, 3vw, 2.5rem) 1.15rem;
1081
+ border: 1px solid var(--cw-border);
1082
+ border-radius: 1.35rem;
1083
+ background: var(--cw-surface);
1084
+ box-shadow: 0 0.35rem 1.2rem rgb(0 0 0 / 0.07);
1085
+ }
1086
+ .conventional-composer__context {
1087
+ padding: 0.45rem 0.9rem;
1088
+ border-bottom: 1px solid var(--cw-border);
1089
+ color: var(--cw-muted);
1090
+ font-size: 0.72rem;
1091
+ }
1092
+ .conventional-composer__editor {
1093
+ position: relative;
1094
+ }
1095
+ .conventional-composer textarea {
1096
+ display: block;
1097
+ width: 100%;
1098
+ min-height: 4.1rem;
1099
+ max-height: 12rem;
1100
+ resize: vertical;
1101
+ padding: 0.9rem 3.4rem 0.85rem;
1102
+ border: 0;
1103
+ border-radius: inherit;
1104
+ outline: 0;
1105
+ background: transparent;
1106
+ color: var(--cw-text);
1107
+ line-height: 1.45;
1108
+ }
1109
+ .conventional-composer textarea:focus,
1110
+ .conventional-composer textarea:focus-visible {
1111
+ outline: none;
1112
+ box-shadow: none;
1113
+ }
1114
+ .conventional-composer:has(textarea:focus) {
1115
+ outline: 3px solid var(--cw-focus);
1116
+ outline-offset: 2px;
1117
+ }
1118
+ .conventional-composer__toolbar {
1119
+ position: relative;
1120
+ display: block;
1121
+ height: 0;
1122
+ min-height: 0;
1123
+ padding: 0;
1124
+ border: 0;
1125
+ }
1126
+ .conventional-composer__toolbar > div {
1127
+ position: absolute;
1128
+ bottom: 0.65rem;
1129
+ display: flex;
1130
+ align-items: center;
1131
+ gap: 0.15rem;
1132
+ }
1133
+ .conventional-composer__attachment-control {
1134
+ left: 0.55rem;
1135
+ position: absolute !important;
1136
+ }
1137
+ .conventional-composer__voice-control {
1138
+ right: 0.55rem;
1139
+ }
1140
+ .conventional-composer__toolbar > div > button {
1141
+ display: grid;
1142
+ width: 2.3rem;
1143
+ height: 2.3rem;
1144
+ place-items: center;
1145
+ border: 0;
1146
+ border-radius: 999px;
1147
+ background: transparent;
1148
+ }
1149
+ .conventional-composer__toolbar > div > button:hover {
1150
+ background: var(--cw-surface-muted);
1151
+ }
1152
+ .conventional-composer__toolbar > p {
1153
+ flex: 1;
1154
+ color: var(--cw-muted);
1155
+ font-size: 0.7rem;
1156
+ }
1157
+ .conventional-send-button,
1158
+ .conventional-primary-button {
1159
+ display: inline-flex;
1160
+ min-height: 2.4rem;
1161
+ flex-shrink: 0;
1162
+ align-items: center;
1163
+ justify-content: center;
1164
+ gap: 0.4rem;
1165
+ padding: 0 0.75rem;
1166
+ border: 0;
1167
+ border-radius: 0.4rem;
1168
+ background: var(--cw-accent-strong);
1169
+ color: var(--cw-accent-contrast) !important;
1170
+ font-weight: 700;
1171
+ white-space: nowrap;
1172
+ }
1173
+ .conventional-composer .conventional-send-button {
1174
+ position: absolute;
1175
+ right: 0.55rem;
1176
+ bottom: 0.65rem;
1177
+ display: grid;
1178
+ width: 2.3rem;
1179
+ height: 2.3rem;
1180
+ min-height: 0;
1181
+ padding: 0;
1182
+ border-radius: 999px;
1183
+ opacity: 1;
1184
+ transition: opacity 0.15s ease;
1185
+ }
1186
+ .conventional-composer .conventional-send-button:disabled {
1187
+ opacity: 0;
1188
+ pointer-events: none;
1189
+ }
1190
+ .conventional-composer:has(.conventional-send-button:not(:disabled))
1191
+ .conventional-composer__voice-control {
1192
+ right: 3.05rem;
1193
+ }
1194
+ .conventional-send-button svg,
1195
+ .conventional-primary-button svg {
1196
+ width: 1rem;
1197
+ height: 1rem;
1198
+ flex-shrink: 0;
1199
+ }
1200
+ .conventional-composer__attachments {
1201
+ display: flex;
1202
+ flex-wrap: wrap;
1203
+ gap: 0.35rem;
1204
+ padding: 0.45rem;
1205
+ border-bottom: 1px solid var(--cw-border);
1206
+ }
1207
+ .conventional-composer__attachments > span {
1208
+ display: inline-flex;
1209
+ align-items: center;
1210
+ gap: 0.35rem;
1211
+ padding: 0.3rem 0.45rem;
1212
+ border-radius: 0.35rem;
1213
+ background: var(--cw-accent-soft);
1214
+ font-size: 0.75rem;
1215
+ }
1216
+ .conventional-composer__attachments button {
1217
+ display: grid;
1218
+ width: 1.3rem;
1219
+ height: 1.3rem;
1220
+ place-items: center;
1221
+ border: 0;
1222
+ background: transparent;
1223
+ }
1224
+ .conventional-mention-menu,
1225
+ .conventional-attachment-menu {
1226
+ position: absolute;
1227
+ z-index: 8;
1228
+ bottom: calc(100% + 0.25rem);
1229
+ left: 0;
1230
+ min-width: 15rem;
1231
+ max-height: 14rem;
1232
+ overflow: auto;
1233
+ padding: 0.35rem;
1234
+ border: 1px solid var(--cw-border);
1235
+ border-radius: 0.5rem;
1236
+ background: var(--cw-surface);
1237
+ box-shadow: 0 12px 30px rgb(0 0 0 / 0.18);
1238
+ }
1239
+ .conventional-mention-menu button {
1240
+ display: flex;
1241
+ width: 100%;
1242
+ min-height: 2.5rem;
1243
+ align-items: center;
1244
+ gap: 0.5rem;
1245
+ padding: 0 0.55rem;
1246
+ border: 0;
1247
+ border-radius: 0.35rem;
1248
+ background: transparent;
1249
+ text-align: left;
1250
+ }
1251
+ .conventional-mention-menu button:hover {
1252
+ background: var(--cw-surface-muted);
1253
+ }
1254
+ .conventional-attachment-menu {
1255
+ bottom: calc(100% + 0.35rem);
1256
+ display: grid;
1257
+ gap: 0.2rem;
1258
+ }
1259
+ .conventional-attachment-menu label {
1260
+ display: grid;
1261
+ grid-template-columns: auto 1fr auto;
1262
+ gap: 0.5rem;
1263
+ align-items: center;
1264
+ min-height: 2.5rem;
1265
+ padding: 0 0.4rem;
1266
+ }
1267
+ .conventional-attachment-menu small {
1268
+ color: var(--cw-muted);
1269
+ }
1270
+ .conventional-composer__status {
1271
+ min-height: 0;
1272
+ }
1273
+ .conventional-composer__status p {
1274
+ padding: 0.35rem 0.65rem;
1275
+ color: var(--cw-danger);
1276
+ font-size: 0.75rem;
1277
+ }
1278
+ .conventional-composer__status p.conventional-composer__status--muted {
1279
+ color: var(--cw-muted);
1280
+ }
1281
+
1282
+ .conventional-thread {
1283
+ grid-column: 2;
1284
+ grid-row: 1 / -1;
1285
+ display: grid;
1286
+ grid-template-rows: auto minmax(0, 1fr) auto;
1287
+ min-width: 0;
1288
+ border-left: 1px solid var(--cw-border);
1289
+ background: var(--cw-main);
1290
+ }
1291
+ .conventional-thread__header {
1292
+ display: flex;
1293
+ min-height: 3.7rem;
1294
+ align-items: center;
1295
+ justify-content: space-between;
1296
+ padding: 0.55rem 0.8rem;
1297
+ border-bottom: 1px solid var(--cw-border);
1298
+ background: var(--cw-surface);
1299
+ }
1300
+ .conventional-thread__header > div:first-child > span {
1301
+ color: var(--cw-muted);
1302
+ font-size: 0.68rem;
1303
+ }
1304
+ .conventional-thread__header h2 {
1305
+ font-size: 1rem;
1306
+ }
1307
+ .conventional-thread__header button {
1308
+ display: grid;
1309
+ width: 2.75rem;
1310
+ height: 2.75rem;
1311
+ place-items: center;
1312
+ border: 0;
1313
+ border-radius: 0.4rem;
1314
+ background: transparent;
1315
+ }
1316
+ .conventional-thread__header > div:last-child {
1317
+ display: flex;
1318
+ gap: 0.15rem;
1319
+ }
1320
+ .conventional-thread__transcript {
1321
+ min-height: 0;
1322
+ overflow: auto;
1323
+ padding: 0.75rem clamp(0.5rem, 2vw, 1rem);
1324
+ }
1325
+ .conventional-thread .conventional-composer {
1326
+ margin: 0.5rem;
1327
+ }
1328
+ .conventional-thread__divider {
1329
+ margin: 0.7rem 0.5rem;
1330
+ color: var(--cw-muted);
1331
+ font-size: 0.72rem;
1332
+ }
1333
+ .conventional-thread--missing {
1334
+ place-items: center;
1335
+ align-content: center;
1336
+ gap: 0.5rem;
1337
+ padding: 1rem;
1338
+ text-align: center;
1339
+ }
1340
+
1341
+ .conventional-directory {
1342
+ height: 100%;
1343
+ overflow: auto;
1344
+ padding: clamp(1rem, 3vw, 2.5rem);
1345
+ }
1346
+ .conventional-tasks {
1347
+ display: flex;
1348
+ flex-direction: column;
1349
+ height: 100%;
1350
+ min-height: 0;
1351
+ overflow: hidden;
1352
+ padding: clamp(1rem, 3vw, 2.5rem);
1353
+ }
1354
+ .conventional-surface-header {
1355
+ display: flex;
1356
+ max-width: 78rem;
1357
+ align-items: flex-start;
1358
+ justify-content: space-between;
1359
+ gap: 1rem;
1360
+ margin: 0 auto 1.5rem;
1361
+ }
1362
+ .conventional-surface-header h1 {
1363
+ font-size: clamp(1.5rem, 3vw, 2.1rem);
1364
+ }
1365
+ .conventional-surface-header p {
1366
+ margin-top: 0.3rem;
1367
+ color: var(--cw-muted);
1368
+ }
1369
+ .conventional-agent-grid {
1370
+ display: grid;
1371
+ grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
1372
+ gap: 0.8rem;
1373
+ max-width: 78rem;
1374
+ margin: auto;
1375
+ }
1376
+ .conventional-agent-card {
1377
+ display: grid;
1378
+ grid-template-columns: auto 1fr;
1379
+ gap: 0.8rem;
1380
+ padding: 1rem;
1381
+ border: 1px solid var(--cw-border);
1382
+ border-radius: 0.65rem;
1383
+ background: var(--cw-surface);
1384
+ }
1385
+ .conventional-agent-card__avatar {
1386
+ display: grid;
1387
+ width: 2.6rem;
1388
+ height: 2.6rem;
1389
+ place-items: center;
1390
+ border-radius: 0.55rem;
1391
+ background: var(--cw-accent-soft);
1392
+ color: var(--cw-accent-strong);
1393
+ }
1394
+ .conventional-agent-card__identity {
1395
+ display: grid;
1396
+ gap: 0.25rem;
1397
+ }
1398
+ .conventional-agent-card__identity > span {
1399
+ color: var(--cw-muted);
1400
+ font-size: 0.78rem;
1401
+ }
1402
+ .conventional-agent-card__status {
1403
+ grid-column: 1 / -1;
1404
+ }
1405
+ .conventional-agent-card > p {
1406
+ grid-column: 1 / -1;
1407
+ margin: 0;
1408
+ }
1409
+ .conventional-agent-status--compact .conventional-status-chip {
1410
+ white-space: nowrap;
1411
+ }
1412
+ .conventional-agent-card__metadata {
1413
+ grid-column: 1 / -1;
1414
+ display: grid;
1415
+ gap: 0.45rem;
1416
+ padding-top: 0.7rem;
1417
+ border-top: 1px solid var(--cw-border);
1418
+ }
1419
+ .conventional-agent-card__metadata p {
1420
+ display: flex;
1421
+ justify-content: space-between;
1422
+ gap: 1rem;
1423
+ font-size: 0.8rem;
1424
+ }
1425
+ .conventional-agent-card__metadata span {
1426
+ color: var(--cw-muted);
1427
+ }
1428
+ .conventional-agent-card button {
1429
+ display: inline-flex;
1430
+ grid-column: 1 / -1;
1431
+ min-height: 2.5rem;
1432
+ align-items: center;
1433
+ justify-content: center;
1434
+ gap: 0.45rem;
1435
+ border: 1px solid var(--cw-border);
1436
+ border-radius: 0.4rem;
1437
+ background: var(--cw-surface-muted);
1438
+ }
1439
+ .conventional-agent-card button svg {
1440
+ width: 1rem;
1441
+ height: 1rem;
1442
+ flex-shrink: 0;
1443
+ }
1444
+
1445
+ .conventional-task-board {
1446
+ display: grid;
1447
+ flex: 1;
1448
+ grid-template-columns: repeat(6, minmax(15rem, 1fr));
1449
+ gap: 0.8rem;
1450
+ width: 100%;
1451
+ max-width: 94rem;
1452
+ min-height: 0;
1453
+ margin: auto;
1454
+ overflow: auto;
1455
+ }
1456
+ .conventional-task-board > section {
1457
+ display: flex;
1458
+ flex-direction: column;
1459
+ min-width: 15rem;
1460
+ min-height: 0;
1461
+ }
1462
+ .conventional-task-board > section > header {
1463
+ display: flex;
1464
+ align-items: center;
1465
+ justify-content: space-between;
1466
+ padding: 0.5rem 0.25rem;
1467
+ }
1468
+ .conventional-task-board > section > header h2 {
1469
+ font-size: 0.85rem;
1470
+ }
1471
+ .conventional-task-board > section > header span {
1472
+ color: var(--cw-muted);
1473
+ font-size: 0.75rem;
1474
+ }
1475
+ .conventional-task-column {
1476
+ display: grid;
1477
+ flex: 1;
1478
+ align-content: start;
1479
+ gap: 0.55rem;
1480
+ min-height: 0;
1481
+ overflow-y: auto;
1482
+ padding: 0.55rem;
1483
+ border-radius: 0.55rem;
1484
+ background: var(--cw-surface-muted);
1485
+ }
1486
+ .conventional-task-card {
1487
+ display: grid;
1488
+ gap: 0.45rem;
1489
+ width: 100%;
1490
+ padding: 0.8rem;
1491
+ border: 1px solid var(--cw-border);
1492
+ border-radius: 0.5rem;
1493
+ background: var(--cw-surface);
1494
+ color: inherit;
1495
+ cursor: pointer;
1496
+ font: inherit;
1497
+ text-align: left;
1498
+ }
1499
+ .conventional-task-card:focus-visible {
1500
+ outline: 2px solid var(--cw-accent-strong);
1501
+ outline-offset: 2px;
1502
+ }
1503
+ .conventional-task-card--dragging {
1504
+ opacity: 0.5;
1505
+ }
1506
+ .conventional-task-column--drop-target {
1507
+ outline: 2px dashed var(--cw-accent-strong);
1508
+ outline-offset: -2px;
1509
+ }
1510
+ .conventional-task-card__footer-action {
1511
+ margin-left: auto;
1512
+ }
1513
+ .conventional-task-card__kind {
1514
+ display: inline-flex;
1515
+ flex-shrink: 0;
1516
+ align-items: center;
1517
+ margin-top: 0.1rem;
1518
+ color: var(--cw-muted);
1519
+ }
1520
+ .conventional-task-card__kind svg {
1521
+ width: 0.9rem;
1522
+ height: 0.9rem;
1523
+ }
1524
+ .conventional-task-board__error {
1525
+ max-width: 94rem;
1526
+ margin: 0 auto;
1527
+ color: var(--cw-danger);
1528
+ font-size: 0.8rem;
1529
+ }
1530
+ .conventional-task-card p {
1531
+ display: -webkit-box;
1532
+ overflow: hidden;
1533
+ color: var(--cw-muted);
1534
+ font-size: 0.8rem;
1535
+ -webkit-box-orient: vertical;
1536
+ -webkit-line-clamp: 2;
1537
+ }
1538
+ .conventional-task-card footer {
1539
+ display: flex;
1540
+ flex-wrap: wrap;
1541
+ gap: 0.35rem;
1542
+ color: var(--cw-muted);
1543
+ font-size: 0.68rem;
1544
+ }
1545
+ .conventional-task-card footer span {
1546
+ display: inline-flex;
1547
+ align-items: center;
1548
+ gap: 0.25rem;
1549
+ padding: 0.15rem 0.3rem;
1550
+ border-radius: 0.25rem;
1551
+ background: var(--cw-surface-muted);
1552
+ }
1553
+ .conventional-task-card footer span svg {
1554
+ width: 0.75rem;
1555
+ height: 0.75rem;
1556
+ flex: none;
1557
+ }
1558
+ .conventional-task-card__header {
1559
+ display: flex;
1560
+ align-items: flex-start;
1561
+ justify-content: space-between;
1562
+ gap: 0.5rem;
1563
+ }
1564
+ .conventional-task-card__header strong {
1565
+ min-width: 0;
1566
+ flex: 1;
1567
+ overflow: hidden;
1568
+ text-overflow: ellipsis;
1569
+ white-space: nowrap;
1570
+ }
1571
+ .conventional-dependency-results {
1572
+ display: grid;
1573
+ gap: 0.15rem;
1574
+ max-height: 12rem;
1575
+ overflow-y: auto;
1576
+ margin: 0.5rem 0 0;
1577
+ padding: 0;
1578
+ list-style: none;
1579
+ }
1580
+ .conventional-dependency-results button {
1581
+ display: flex;
1582
+ width: 100%;
1583
+ align-items: center;
1584
+ gap: 0.5rem;
1585
+ padding: 0.45rem 0.55rem;
1586
+ border: 1px solid transparent;
1587
+ border-radius: 0.4rem;
1588
+ background: transparent;
1589
+ color: var(--cw-text);
1590
+ font-size: 0.82rem;
1591
+ text-align: left;
1592
+ }
1593
+ .conventional-dependency-results button:hover {
1594
+ background: var(--cw-surface-muted);
1595
+ }
1596
+ .conventional-dependency-results button[aria-pressed="true"] {
1597
+ border-color: var(--cw-accent);
1598
+ background: var(--cw-accent-soft);
1599
+ color: var(--cw-accent-strong);
1600
+ }
1601
+ .conventional-dependency-results button svg {
1602
+ width: 0.9rem;
1603
+ height: 0.9rem;
1604
+ flex: none;
1605
+ }
1606
+ .conventional-dependency-results button span {
1607
+ overflow: hidden;
1608
+ min-width: 0;
1609
+ flex: 1;
1610
+ text-overflow: ellipsis;
1611
+ white-space: nowrap;
1612
+ }
1613
+ .conventional-dependency-results__empty {
1614
+ padding: 0.45rem 0.55rem;
1615
+ color: var(--cw-muted);
1616
+ font-size: 0.82rem;
1617
+ }
1618
+ .conventional-priority {
1619
+ display: inline-flex;
1620
+ flex-shrink: 0;
1621
+ align-items: center;
1622
+ justify-content: center;
1623
+ padding: 0.3rem;
1624
+ border-radius: 999px;
1625
+ background: var(--cw-surface-muted);
1626
+ color: var(--cw-muted);
1627
+ }
1628
+ .conventional-priority svg {
1629
+ width: 0.75rem;
1630
+ height: 0.75rem;
1631
+ }
1632
+ .conventional-priority--low {
1633
+ background: var(--cw-surface-muted);
1634
+ color: var(--cw-muted);
1635
+ }
1636
+ .conventional-priority--normal {
1637
+ background: var(--cw-accent-soft);
1638
+ color: var(--cw-accent-strong);
1639
+ }
1640
+ .conventional-priority--urgent {
1641
+ background: color-mix(in srgb, var(--cw-danger) 12%, transparent);
1642
+ color: var(--cw-danger);
1643
+ }
1644
+ .conventional-priority--high {
1645
+ background: color-mix(in srgb, #a34f00 12%, transparent);
1646
+ color: #a34f00;
1647
+ }
1648
+ /* Dark mode recesses the conversation surface below the elevated sidebars. */
1649
+ .dark .conventional-workspace,
1650
+ .dark .conventional-dialog {
1651
+ --cw-main: oklch(0.145 0 0);
1652
+ }
1653
+ .dark .conventional-priority--high {
1654
+ color: #ffb86b;
1655
+ }
1656
+
1657
+ .conventional-detail-panel {
1658
+ height: 100%;
1659
+ overflow-y: auto;
1660
+ padding: 1.2rem;
1661
+ background: var(--cw-surface);
1662
+ }
1663
+ .conventional-detail-panel > header {
1664
+ display: flex;
1665
+ align-items: center;
1666
+ justify-content: space-between;
1667
+ gap: 0.75rem;
1668
+ padding-bottom: 0.8rem;
1669
+ border-bottom: 1px solid var(--cw-border);
1670
+ }
1671
+ .conventional-detail-panel__close {
1672
+ display: grid;
1673
+ width: 2rem;
1674
+ height: 2rem;
1675
+ flex: none;
1676
+ place-items: center;
1677
+ border-radius: 0.35rem;
1678
+ color: var(--cw-muted);
1679
+ }
1680
+ .conventional-detail-panel__close:hover {
1681
+ background: var(--cw-surface-muted);
1682
+ color: var(--cw-text);
1683
+ }
1684
+ .conventional-detail-panel__close svg {
1685
+ width: 1rem;
1686
+ height: 1rem;
1687
+ }
1688
+ .conventional-detail-panel__divider {
1689
+ height: 1px;
1690
+ min-height: 1px;
1691
+ margin: 1rem 0 0;
1692
+ border: 0;
1693
+ background: var(--border, var(--cw-border));
1694
+ }
1695
+ .conventional-detail-panel input:focus-visible,
1696
+ .conventional-detail-panel textarea:focus-visible,
1697
+ .conventional-detail-panel select:focus-visible,
1698
+ .conventional-detail-panel button:focus-visible {
1699
+ outline: 2px solid var(--cw-focus);
1700
+ outline-offset: 1px;
1701
+ }
1702
+ .conventional-detail-panel label,
1703
+ .conventional-inline-form label,
1704
+ .conventional-dialog-form label {
1705
+ display: grid;
1706
+ gap: 0.35rem;
1707
+ margin-top: 1rem;
1708
+ color: var(--cw-muted);
1709
+ font-size: 0.78rem;
1710
+ font-weight: 700;
1711
+ }
1712
+ .conventional-detail-panel fieldset {
1713
+ display: grid;
1714
+ gap: 0.15rem;
1715
+ margin-top: 1rem;
1716
+ padding: 0.8rem;
1717
+ border: 1px solid var(--cw-border);
1718
+ border-radius: 0.45rem;
1719
+ }
1720
+ .conventional-detail-panel__grid {
1721
+ display: grid;
1722
+ grid-template-columns: 1fr 1fr;
1723
+ gap: 0.8rem;
1724
+ margin-top: 1rem;
1725
+ }
1726
+ .conventional-detail-panel__grid > label,
1727
+ .conventional-detail-panel__grid > .conventional-detail-panel__field {
1728
+ min-width: 0;
1729
+ margin-top: 0;
1730
+ }
1731
+ .conventional-detail-panel fieldset legend {
1732
+ padding: 0;
1733
+ color: var(--cw-muted);
1734
+ font-size: 0.78rem;
1735
+ font-weight: 700;
1736
+ }
1737
+ .conventional-detail-panel fieldset label {
1738
+ display: flex;
1739
+ align-items: center;
1740
+ gap: 0.5rem;
1741
+ margin-top: 0.45rem;
1742
+ font-weight: 400;
1743
+ color: var(--cw-text);
1744
+ font-size: 0.82rem;
1745
+ }
1746
+ .conventional-detail-panel input[type="checkbox"] {
1747
+ width: 1rem;
1748
+ height: 1rem;
1749
+ min-height: 0;
1750
+ flex: none;
1751
+ padding: 0;
1752
+ accent-color: var(--cw-accent-strong);
1753
+ }
1754
+ .conventional-detail-panel__field {
1755
+ display: grid;
1756
+ gap: 0.35rem;
1757
+ margin-top: 1rem;
1758
+ }
1759
+ .conventional-detail-panel__label {
1760
+ color: var(--cw-muted);
1761
+ font-size: 0.78rem;
1762
+ font-weight: 700;
1763
+ }
1764
+ .conventional-room-picker {
1765
+ display: inline-flex;
1766
+ width: 100%;
1767
+ justify-content: flex-start;
1768
+ gap: 0.5rem;
1769
+ }
1770
+ .conventional-room-picker svg {
1771
+ width: 1rem;
1772
+ height: 1rem;
1773
+ }
1774
+ .conventional-room-picker span {
1775
+ min-width: 0;
1776
+ flex: 1;
1777
+ overflow: hidden;
1778
+ text-overflow: ellipsis;
1779
+ white-space: nowrap;
1780
+ text-align: left;
1781
+ }
1782
+ .conventional-detail-panel textarea {
1783
+ width: 100%;
1784
+ min-height: 6rem;
1785
+ padding: 0.55rem 0.65rem;
1786
+ border: 1px solid var(--border, var(--cw-border));
1787
+ border-radius: 0.4rem;
1788
+ background: var(--cw-surface);
1789
+ color: var(--cw-text);
1790
+ resize: vertical;
1791
+ }
1792
+ .conventional-detail-panel input:not([type="checkbox"]),
1793
+ .conventional-inline-form input,
1794
+ .conventional-inline-form textarea,
1795
+ .conventional-inline-form select,
1796
+ .conventional-dialog-form input,
1797
+ .conventional-search-field {
1798
+ width: 100%;
1799
+ min-height: 2.75rem;
1800
+ padding: 0.55rem 0.65rem;
1801
+ border: 1px solid var(--border, var(--cw-border));
1802
+ border-radius: 0.4rem;
1803
+ background: var(--cw-surface);
1804
+ color: var(--cw-text);
1805
+ }
1806
+ .conventional-search-field {
1807
+ display: flex;
1808
+ align-items: center;
1809
+ gap: 0.5rem;
1810
+ }
1811
+ .conventional-search-field input {
1812
+ min-width: 0;
1813
+ flex: 1;
1814
+ border: 0;
1815
+ outline: 0;
1816
+ background: transparent;
1817
+ color: inherit;
1818
+ }
1819
+ .conventional-detail-panel__actions {
1820
+ display: flex;
1821
+ flex-wrap: wrap;
1822
+ gap: 0.45rem;
1823
+ margin-top: 1rem;
1824
+ }
1825
+ .conventional-detail-panel__actions button,
1826
+ .conventional-secondary-button {
1827
+ display: inline-flex;
1828
+ min-height: 2.5rem;
1829
+ align-items: center;
1830
+ gap: 0.35rem;
1831
+ padding: 0 0.65rem;
1832
+ border: 1px solid var(--cw-border);
1833
+ border-radius: 0.4rem;
1834
+ background: var(--cw-surface);
1835
+ }
1836
+ .conventional-detail-panel__status {
1837
+ min-height: 1.5rem;
1838
+ margin-top: 0.5rem;
1839
+ color: var(--cw-muted);
1840
+ font-size: 0.75rem;
1841
+ }
1842
+ .conventional-inline-form {
1843
+ max-width: 38rem;
1844
+ margin: 0 auto 1rem;
1845
+ padding: 1rem;
1846
+ border: 1px solid var(--cw-border);
1847
+ border-radius: 0.65rem;
1848
+ background: var(--cw-surface);
1849
+ }
1850
+ .conventional-inline-form__header {
1851
+ display: flex;
1852
+ justify-content: space-between;
1853
+ }
1854
+ .conventional-inline-form__header button {
1855
+ border: 0;
1856
+ background: transparent;
1857
+ }
1858
+
1859
+ .conventional-dialog {
1860
+ width: min(34rem, calc(100% - 2rem));
1861
+ max-height: calc(100svh - 2rem);
1862
+ overflow: auto;
1863
+ padding: 0;
1864
+ border: 1px solid var(--cw-border);
1865
+ border-radius: 0.7rem;
1866
+ background: var(--cw-surface);
1867
+ color: var(--cw-text);
1868
+ box-shadow: 0 24px 70px rgb(0 0 0 / 0.28);
1869
+ }
1870
+ .conventional-dialog > .conventional-dialog__header {
1871
+ display: flex;
1872
+ align-items: flex-start;
1873
+ justify-content: space-between;
1874
+ gap: 1rem;
1875
+ padding: 1.1rem;
1876
+ border-bottom: 1px solid var(--cw-border);
1877
+ }
1878
+ .conventional-dialog__heading {
1879
+ display: flex;
1880
+ min-width: 0;
1881
+ align-items: flex-start;
1882
+ gap: 0.75rem;
1883
+ }
1884
+ .conventional-dialog__heading > div:last-child {
1885
+ min-width: 0;
1886
+ }
1887
+ .conventional-settings-logo {
1888
+ display: block;
1889
+ flex: 0 0 auto;
1890
+ width: 2.5rem;
1891
+ height: 2.5rem;
1892
+ border-radius: 0.75rem;
1893
+ }
1894
+ .conventional-dialog > .conventional-dialog__header [data-slot="dialog-description"] {
1895
+ margin-top: 0.25rem;
1896
+ color: var(--cw-muted);
1897
+ font-size: 0.82rem;
1898
+ }
1899
+ .conventional-dialog > :not(.conventional-dialog__header) {
1900
+ padding: 1.1rem;
1901
+ }
1902
+ .conventional-dialog-form {
1903
+ display: grid;
1904
+ }
1905
+ .conventional-template-options,
1906
+ .conventional-search-results,
1907
+ .conventional-settings-list {
1908
+ display: grid;
1909
+ gap: 0.45rem;
1910
+ }
1911
+ .conventional-template-options button,
1912
+ .conventional-search-results button {
1913
+ display: grid;
1914
+ min-height: 3.2rem;
1915
+ gap: 0.15rem;
1916
+ padding: 0.55rem 0.7rem;
1917
+ border: 1px solid var(--cw-border);
1918
+ border-radius: 0.45rem;
1919
+ background: var(--cw-surface);
1920
+ text-align: left;
1921
+ }
1922
+ .conventional-template-options {
1923
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1924
+ }
1925
+ .conventional-template-options button {
1926
+ display: flex;
1927
+ align-items: center;
1928
+ justify-content: center;
1929
+ gap: 0.5rem;
1930
+ }
1931
+ .conventional-template-options button svg {
1932
+ width: 1.25rem;
1933
+ height: 1.25rem;
1934
+ flex: none;
1935
+ color: var(--cw-muted);
1936
+ }
1937
+ .conventional-template-options button:hover,
1938
+ .conventional-search-results button:hover,
1939
+ .conventional-search-results button[aria-selected="true"] {
1940
+ background: var(--cw-surface-muted);
1941
+ outline: 2px solid var(--cw-focus);
1942
+ outline-offset: -2px;
1943
+ }
1944
+ .conventional-template-options span,
1945
+ .conventional-search-results span,
1946
+ .conventional-settings-list span {
1947
+ color: var(--cw-muted);
1948
+ font-size: 0.75rem;
1949
+ }
1950
+ .conventional-dialog-empty {
1951
+ padding: 1rem;
1952
+ color: var(--cw-muted);
1953
+ text-align: center;
1954
+ }
1955
+ .conventional-artifact-detail {
1956
+ display: grid;
1957
+ grid-template-rows: auto 1fr;
1958
+ height: 100%;
1959
+ }
1960
+ .conventional-artifact-detail__body {
1961
+ display: grid;
1962
+ width: min(38rem, calc(100% - 2rem));
1963
+ align-content: start;
1964
+ gap: 0.8rem;
1965
+ margin: 2rem auto;
1966
+ padding: 1.5rem;
1967
+ border: 1px solid var(--cw-border);
1968
+ border-radius: 0.6rem;
1969
+ background: var(--cw-surface);
1970
+ }
1971
+ .conventional-artifact-detail__body > svg {
1972
+ width: 2rem;
1973
+ height: 2rem;
1974
+ color: var(--cw-accent-strong);
1975
+ }
1976
+ .conventional-search-hint {
1977
+ padding: 0.35rem 1rem 0.9rem;
1978
+ color: var(--cw-muted);
1979
+ font-size: 0.75rem;
1980
+ text-align: right;
1981
+ }
1982
+ .conventional-conversation-details,
1983
+ .conventional-settings-list {
1984
+ display: grid;
1985
+ gap: 0.7rem;
1986
+ }
1987
+ .conventional-conversation-details p,
1988
+ .conventional-settings-list > div {
1989
+ display: flex;
1990
+ justify-content: space-between;
1991
+ gap: 1rem;
1992
+ padding-bottom: 0.7rem;
1993
+ border-bottom: 1px solid var(--cw-border);
1994
+ }
1995
+ .conventional-conversation-details span {
1996
+ color: var(--cw-muted);
1997
+ }
1998
+
1999
+ .conventional-settings-dialog {
2000
+ width: min(58rem, calc(100% - 2rem));
2001
+ /* The shared dialog shell caps content at max-w-2xl; the settings dialog
2002
+ needs its full intended width for the two-column layout. */
2003
+ max-width: min(58rem, calc(100% - 2rem));
2004
+ max-height: min(42rem, calc(100svh - 2rem));
2005
+ }
2006
+
2007
+ .conventional-about-dialog {
2008
+ width: min(22.5rem, calc(100% - 2rem));
2009
+ }
2010
+ .conventional-about-dialog > .conventional-dialog__header {
2011
+ position: absolute;
2012
+ width: 1px;
2013
+ height: 1px;
2014
+ margin: -1px;
2015
+ padding: 0;
2016
+ overflow: hidden;
2017
+ border: 0;
2018
+ clip: rect(0 0 0 0);
2019
+ white-space: nowrap;
2020
+ }
2021
+ .conventional-about-dialog__body {
2022
+ display: grid;
2023
+ gap: 0;
2024
+ padding: 0 !important;
2025
+ }
2026
+ .conventional-about-dialog__identity {
2027
+ display: grid;
2028
+ justify-items: center;
2029
+ gap: 0.5rem;
2030
+ padding: 2.6rem 1.5rem 1.7rem;
2031
+ text-align: center;
2032
+ }
2033
+ .conventional-about-dialog__identity h3 {
2034
+ margin: 0 0 0.25rem;
2035
+ font-size: 1.05rem;
2036
+ }
2037
+ .conventional-about-dialog__identity p {
2038
+ margin: 0;
2039
+ color: var(--cw-muted);
2040
+ font-size: 0.82rem;
2041
+ }
2042
+ .conventional-about-dialog__identity small {
2043
+ margin-top: 0.75rem;
2044
+ color: var(--cw-muted);
2045
+ font-size: 0.72rem;
2046
+ }
2047
+ .conventional-about-dialog__brand {
2048
+ display: grid;
2049
+ width: 4rem;
2050
+ height: 4rem;
2051
+ overflow: hidden;
2052
+ border-radius: 1rem;
2053
+ }
2054
+ .conventional-about-dialog__brand svg {
2055
+ display: block;
2056
+ width: 100%;
2057
+ height: 100%;
2058
+ }
2059
+ .conventional-about-dialog__footer {
2060
+ display: flex;
2061
+ align-items: center;
2062
+ justify-content: center;
2063
+ gap: 0.5rem;
2064
+ padding: 0 1rem 1.75rem;
2065
+ }
2066
+
2067
+ .plugins-dialog {
2068
+ display: grid;
2069
+ grid-template-rows: auto minmax(0, 1fr);
2070
+ width: min(70rem, calc(100% - 2rem));
2071
+ max-width: 70rem;
2072
+ height: min(44rem, calc(100svh - 2rem));
2073
+ overflow: hidden;
2074
+ }
2075
+ .plugins-dialog > :not(.conventional-dialog__header) {
2076
+ min-height: 0;
2077
+ padding: 0;
2078
+ }
2079
+ .plugins-browser {
2080
+ display: grid;
2081
+ grid-template: auto auto minmax(0, 1fr) / minmax(0, 1fr);
2082
+ gap: 0;
2083
+ min-height: 0;
2084
+ }
2085
+ .plugins-browser__tabs {
2086
+ align-self: end;
2087
+ margin: 0.5rem 1.25rem 0;
2088
+ }
2089
+ .plugins-browser__bar {
2090
+ display: flex;
2091
+ align-items: center;
2092
+ gap: 0.65rem;
2093
+ padding: 0.8rem 1.25rem;
2094
+ border-bottom: 1px solid var(--cw-border);
2095
+ }
2096
+ .plugins-browser__search {
2097
+ position: relative;
2098
+ display: flex;
2099
+ flex: 1;
2100
+ align-items: center;
2101
+ }
2102
+ .plugins-browser__search > svg {
2103
+ position: absolute;
2104
+ left: 0.75rem;
2105
+ width: 1rem;
2106
+ height: 1rem;
2107
+ color: var(--cw-muted);
2108
+ pointer-events: none;
2109
+ }
2110
+ .plugins-browser__search input {
2111
+ padding-left: 2.25rem;
2112
+ }
2113
+ .plugins-browser__count {
2114
+ min-width: 4.5rem;
2115
+ color: var(--cw-muted);
2116
+ font-size: 0.75rem;
2117
+ text-align: right;
2118
+ }
2119
+ .plugins-filter {
2120
+ width: 12rem;
2121
+ }
2122
+ .plugins-filter__dot {
2123
+ width: 0.4rem;
2124
+ height: 0.4rem;
2125
+ border-radius: 50%;
2126
+ background: var(--cw-accent-strong);
2127
+ }
2128
+ .plugins-browser__list {
2129
+ min-height: 0;
2130
+ overflow: auto;
2131
+ padding: 0.8rem 1.25rem 1.25rem;
2132
+ }
2133
+ .plugins-browser[data-filter-open="true"] .plugins-browser__list {
2134
+ pointer-events: none;
2135
+ }
2136
+ .plugins-browser__group + .plugins-browser__group {
2137
+ margin-top: 1.15rem;
2138
+ }
2139
+ .plugins-browser__group-heading {
2140
+ position: sticky;
2141
+ z-index: 1;
2142
+ top: -0.8rem;
2143
+ display: flex;
2144
+ align-items: center;
2145
+ justify-content: space-between;
2146
+ margin: 0 -0.15rem 0.45rem;
2147
+ padding: 0.65rem 0.15rem 0.4rem;
2148
+ background: var(--cw-surface);
2149
+ color: var(--cw-muted);
2150
+ }
2151
+ .plugins-browser__group-heading h3 {
2152
+ margin: 0;
2153
+ color: var(--cw-text);
2154
+ font-size: 0.75rem;
2155
+ font-weight: 700;
2156
+ letter-spacing: 0.08em;
2157
+ text-transform: uppercase;
2158
+ }
2159
+ .plugins-browser__group-heading span {
2160
+ font-size: 0.72rem;
2161
+ font-variant-numeric: tabular-nums;
2162
+ }
2163
+ .plugins-browser__grid {
2164
+ display: grid;
2165
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2166
+ gap: 0.4rem;
2167
+ }
2168
+ .plugins-browser__row {
2169
+ display: grid;
2170
+ grid-template-columns: 2.75rem minmax(0, 1fr) auto;
2171
+ align-items: center;
2172
+ width: 100%;
2173
+ gap: 0.75rem;
2174
+ padding: 0.7rem;
2175
+ border: 0;
2176
+ border-radius: 0.75rem;
2177
+ background: color-mix(in srgb, var(--cw-text) 4%, transparent);
2178
+ color: var(--cw-text);
2179
+ text-align: left;
2180
+ }
2181
+ .plugins-browser__more {
2182
+ margin-top: 0.35rem;
2183
+ color: var(--cw-muted);
2184
+ }
2185
+ .plugins-browser__row:hover,
2186
+ .plugins-browser__row:focus-visible {
2187
+ background: color-mix(in srgb, var(--cw-text) 8%, transparent);
2188
+ }
2189
+ .plugins-browser__row-copy {
2190
+ display: flex;
2191
+ flex-direction: column;
2192
+ min-width: 0;
2193
+ gap: 0.1rem;
2194
+ }
2195
+ .plugins-browser__row-title {
2196
+ display: flex;
2197
+ align-items: center;
2198
+ gap: 0.45rem;
2199
+ }
2200
+ .plugins-browser__row small {
2201
+ overflow: hidden;
2202
+ color: var(--cw-muted);
2203
+ text-overflow: ellipsis;
2204
+ white-space: nowrap;
2205
+ }
2206
+ .plugins-browser__row-meta {
2207
+ color: var(--cw-muted);
2208
+ font-size: 0.7rem;
2209
+ }
2210
+ .plugin-logo {
2211
+ display: flex;
2212
+ width: 2.75rem;
2213
+ height: 2.75rem;
2214
+ flex: 0 0 2.75rem;
2215
+ align-items: center;
2216
+ justify-content: center;
2217
+ border: 1px solid var(--cw-border);
2218
+ border-radius: 0.65rem;
2219
+ background: var(--cw-surface-muted);
2220
+ color: var(--plugin-brand, var(--cw-text));
2221
+ font-size: 0.78rem;
2222
+ font-weight: 800;
2223
+ letter-spacing: -0.03em;
2224
+ }
2225
+ .plugin-logo img,
2226
+ .plugin-logo svg {
2227
+ width: 1.65rem;
2228
+ height: 1.65rem;
2229
+ object-fit: contain;
2230
+ }
2231
+ .plugins-browser__skeleton {
2232
+ display: grid;
2233
+ gap: 0.35rem;
2234
+ }
2235
+ .plugins-browser__skeleton > div {
2236
+ display: grid;
2237
+ grid-template-columns: 2.75rem minmax(0, 1fr);
2238
+ align-items: center;
2239
+ gap: 0.75rem;
2240
+ padding: 0.7rem;
2241
+ }
2242
+ .plugins-browser__skeleton > div > span {
2243
+ display: grid;
2244
+ gap: 0.45rem;
2245
+ }
2246
+ .plugins-browser__skeleton-mark {
2247
+ width: 2.75rem;
2248
+ height: 2.75rem;
2249
+ }
2250
+ .plugins-browser__skeleton-title {
2251
+ width: 9rem;
2252
+ height: 0.85rem;
2253
+ }
2254
+ .plugins-browser__skeleton-copy {
2255
+ width: min(24rem, 70%);
2256
+ height: 0.7rem;
2257
+ }
2258
+ .plugins-detail {
2259
+ display: flex;
2260
+ flex-direction: column;
2261
+ align-content: start;
2262
+ gap: 1rem;
2263
+ overflow: auto;
2264
+ padding: 1.5rem !important;
2265
+ }
2266
+ .plugins-detail > button:first-child {
2267
+ align-self: flex-start;
2268
+ }
2269
+ .plugins-detail__hero {
2270
+ display: flex;
2271
+ align-items: flex-start;
2272
+ gap: 1rem;
2273
+ max-width: 40rem;
2274
+ }
2275
+ .plugins-detail__hero .plugin-logo {
2276
+ width: 4rem;
2277
+ height: 4rem;
2278
+ flex-basis: 4rem;
2279
+ }
2280
+ .plugins-detail__hero .plugin-logo img,
2281
+ .plugins-detail__hero .plugin-logo svg {
2282
+ width: 2.4rem;
2283
+ height: 2.4rem;
2284
+ }
2285
+ .plugins-detail__eyebrow,
2286
+ .plugins-detail__actions,
2287
+ .plugins-detail__actions > span,
2288
+ .plugins-detail__section p {
2289
+ display: flex;
2290
+ align-items: center;
2291
+ gap: 0.5rem;
2292
+ }
2293
+ .plugins-detail h3 {
2294
+ margin: 0.45rem 0 0.35rem;
2295
+ font-size: 1.45rem;
2296
+ }
2297
+ .plugins-detail p,
2298
+ .plugins-detail small {
2299
+ color: var(--cw-muted);
2300
+ }
2301
+ .plugins-detail__actions > span {
2302
+ color: var(--cw-muted);
2303
+ font-size: 0.78rem;
2304
+ }
2305
+ .plugins-detail__actions svg,
2306
+ .plugins-detail__section svg {
2307
+ width: 0.95rem;
2308
+ height: 0.95rem;
2309
+ }
2310
+ .plugins-detail__section {
2311
+ max-width: 40rem;
2312
+ padding: 1rem;
2313
+ border: 1px solid var(--cw-border);
2314
+ border-radius: 0.65rem;
2315
+ background: var(--cw-surface-muted);
2316
+ }
2317
+ .plugins-detail__section h4 {
2318
+ margin: 0 0 0.65rem;
2319
+ font-size: 0.82rem;
2320
+ }
2321
+ .plugins-detail__section ul {
2322
+ display: grid;
2323
+ gap: 0.45rem;
2324
+ margin: 0;
2325
+ padding: 0;
2326
+ list-style: none;
2327
+ }
2328
+ .plugins-detail__section li {
2329
+ display: flex;
2330
+ align-items: center;
2331
+ gap: 0.5rem;
2332
+ color: var(--cw-muted);
2333
+ font-size: 0.82rem;
2334
+ }
2335
+ .plugins-detail__section small {
2336
+ display: block;
2337
+ margin-top: 0.55rem;
2338
+ line-height: 1.5;
2339
+ }
2340
+ .conventional-settings-shell {
2341
+ display: grid;
2342
+ grid-template-columns: 13rem minmax(0, 1fr);
2343
+ min-height: 32rem;
2344
+ padding: 0 !important;
2345
+ }
2346
+ .conventional-settings-nav {
2347
+ display: grid;
2348
+ align-content: start;
2349
+ gap: 0.2rem;
2350
+ padding: 0.8rem;
2351
+ border-right: 1px solid var(--cw-border);
2352
+ background: var(--cw-surface-muted);
2353
+ }
2354
+ .conventional-settings-nav__group {
2355
+ display: grid;
2356
+ gap: 0.15rem;
2357
+ }
2358
+ .conventional-settings-nav__label {
2359
+ margin: 0.45rem 0.7rem 0.2rem;
2360
+ color: var(--cw-muted);
2361
+ font-size: 0.68rem;
2362
+ font-weight: 700;
2363
+ letter-spacing: 0.08em;
2364
+ text-transform: uppercase;
2365
+ }
2366
+ .conventional-settings-nav button {
2367
+ min-height: 2.5rem;
2368
+ padding: 0.55rem 0.7rem;
2369
+ border: 0;
2370
+ border-radius: 0.4rem;
2371
+ background: transparent;
2372
+ display: flex;
2373
+ align-items: center;
2374
+ gap: 0.6rem;
2375
+ text-align: left;
2376
+ }
2377
+ .conventional-settings-nav button svg {
2378
+ width: 1.05rem;
2379
+ height: 1.05rem;
2380
+ color: var(--cw-muted);
2381
+ }
2382
+ .conventional-settings-nav button:hover,
2383
+ .conventional-settings-nav button[aria-selected="true"] {
2384
+ background: var(--cw-surface);
2385
+ color: var(--cw-accent-strong);
2386
+ font-weight: 700;
2387
+ }
2388
+ .conventional-settings-nav button[aria-selected="true"] svg {
2389
+ color: var(--cw-accent-strong);
2390
+ }
2391
+ .conventional-settings-panel {
2392
+ min-width: 0;
2393
+ padding: 1.2rem;
2394
+ }
2395
+ .conventional-settings-panel > header {
2396
+ display: flex;
2397
+ align-items: flex-start;
2398
+ gap: 0.7rem;
2399
+ margin-bottom: 1rem;
2400
+ }
2401
+ .conventional-settings-panel > header > svg {
2402
+ width: 1.4rem;
2403
+ height: 1.4rem;
2404
+ margin-top: 0.15rem;
2405
+ color: var(--cw-accent-strong);
2406
+ }
2407
+ .conventional-settings-panel > header p,
2408
+ .conventional-settings-row p,
2409
+ .conventional-settings-note {
2410
+ color: var(--cw-muted);
2411
+ font-size: 0.8rem;
2412
+ line-height: 1.45;
2413
+ }
2414
+ .conventional-settings-row {
2415
+ display: flex;
2416
+ min-height: 4.15rem;
2417
+ align-items: center;
2418
+ justify-content: space-between;
2419
+ gap: 1rem;
2420
+ padding: 0.75rem 0;
2421
+ border-bottom: 1px solid var(--cw-border);
2422
+ }
2423
+ .conventional-settings-row > div {
2424
+ min-width: 0;
2425
+ }
2426
+ .conventional-settings-row h4 {
2427
+ margin: 0 0 0.2rem;
2428
+ font-size: 0.9rem;
2429
+ }
2430
+ .conventional-settings-row input:not([type="checkbox"]) {
2431
+ width: min(13rem, 44%);
2432
+ min-height: 2.4rem;
2433
+ padding: 0 0.65rem;
2434
+ border: 1px solid var(--cw-border);
2435
+ border-radius: 0.4rem;
2436
+ background: var(--cw-surface);
2437
+ color: var(--cw-text);
2438
+ }
2439
+ .conventional-settings-row input[type="checkbox"] {
2440
+ width: 1.1rem;
2441
+ height: 1.1rem;
2442
+ accent-color: var(--cw-accent-strong);
2443
+ }
2444
+ .conventional-settings-row button,
2445
+ .conventional-settings-row a {
2446
+ min-height: 2.35rem;
2447
+ padding: 0.45rem 0.7rem;
2448
+ border: 1px solid var(--cw-border);
2449
+ border-radius: 0.4rem;
2450
+ background: var(--cw-surface);
2451
+ color: var(--cw-text);
2452
+ text-decoration: none;
2453
+ white-space: nowrap;
2454
+ }
2455
+ .conventional-settings-note {
2456
+ display: flex;
2457
+ align-items: flex-start;
2458
+ gap: 0.5rem;
2459
+ margin-top: 1rem !important;
2460
+ padding: 0.75rem;
2461
+ border-radius: 0.45rem;
2462
+ background: var(--cw-surface-muted);
2463
+ }
2464
+ .conventional-spin {
2465
+ animation: conventional-spin 0.8s linear infinite;
2466
+ }
2467
+ .conventional-agent-status {
2468
+ display: flex;
2469
+ flex-wrap: wrap;
2470
+ gap: 0.35rem;
2471
+ }
2472
+ .conventional-agent-status--compact {
2473
+ display: flex;
2474
+ flex-wrap: wrap;
2475
+ gap: 0.35rem;
2476
+ }
2477
+ .conventional-status-chip {
2478
+ display: inline-flex;
2479
+ min-height: 1.45rem;
2480
+ align-items: center;
2481
+ padding: 0.15rem 0.45rem;
2482
+ border: 1px solid var(--cw-border);
2483
+ border-radius: 999px;
2484
+ color: var(--cw-muted);
2485
+ font-size: 0.7rem;
2486
+ font-weight: 700;
2487
+ }
2488
+ .conventional-status-chip--ready {
2489
+ border-color: var(--cw-accent);
2490
+ color: var(--cw-accent-strong);
2491
+ background: var(--cw-accent-soft);
2492
+ }
2493
+ .conventional-status-chip--warning {
2494
+ border-color: #b7791f;
2495
+ color: #8a4b08;
2496
+ background: #fff4d6;
2497
+ }
2498
+ .dark .conventional-status-chip--warning {
2499
+ color: #ffd28a;
2500
+ background: #3a2b14;
2501
+ }
2502
+ .conventional-agent-customization {
2503
+ max-width: 52rem;
2504
+ }
2505
+ .conventional-agent-customization .conventional-inline-form__header p,
2506
+ .conventional-agent-delete-note {
2507
+ color: var(--cw-muted);
2508
+ font-size: 0.75rem;
2509
+ }
2510
+ .conventional-form-grid {
2511
+ display: grid;
2512
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2513
+ gap: 0.8rem;
2514
+ margin-top: 1rem;
2515
+ }
2516
+ .conventional-form-grid label {
2517
+ display: grid;
2518
+ gap: 0.35rem;
2519
+ color: var(--cw-muted);
2520
+ font-size: 0.78rem;
2521
+ font-weight: 700;
2522
+ }
2523
+ .conventional-form-grid input,
2524
+ .conventional-form-grid select,
2525
+ .conventional-form-grid textarea {
2526
+ min-width: 0;
2527
+ min-height: 2.45rem;
2528
+ padding: 0.55rem 0.65rem;
2529
+ border: 1px solid var(--cw-border);
2530
+ border-radius: 0.4rem;
2531
+ background: var(--cw-surface);
2532
+ color: var(--cw-text);
2533
+ }
2534
+ .conventional-form-grid__wide {
2535
+ grid-column: 1 / -1;
2536
+ }
2537
+ .conventional-agent-customization__actions {
2538
+ display: flex;
2539
+ flex-wrap: wrap;
2540
+ gap: 0.7rem;
2541
+ align-items: center;
2542
+ margin-top: 1rem;
2543
+ }
2544
+ .conventional-danger-button {
2545
+ min-height: 2.5rem;
2546
+ padding: 0 0.8rem;
2547
+ border: 1px solid var(--cw-danger);
2548
+ border-radius: 0.4rem;
2549
+ background: transparent;
2550
+ color: var(--cw-danger) !important;
2551
+ }
2552
+ .conventional-destructive-confirmation {
2553
+ display: grid;
2554
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
2555
+ align-items: center;
2556
+ gap: 0.55rem;
2557
+ width: 100%;
2558
+ padding: 0.7rem;
2559
+ border: 1px solid var(--cw-danger);
2560
+ border-radius: 0.45rem;
2561
+ color: var(--cw-danger);
2562
+ }
2563
+ .conventional-agent-delete-note {
2564
+ margin-top: 0.8rem !important;
2565
+ }
2566
+ @keyframes conventional-spin {
2567
+ to {
2568
+ transform: rotate(360deg);
2569
+ }
2570
+ }
2571
+
2572
+ @media (max-width: 44rem) {
2573
+ .plugins-dialog {
2574
+ width: calc(100% - 1rem);
2575
+ height: calc(100svh - 1rem);
2576
+ }
2577
+ .plugins-browser__bar {
2578
+ display: grid;
2579
+ grid-template-columns: auto minmax(0, 1fr);
2580
+ padding-inline: 0.85rem;
2581
+ }
2582
+ .plugins-browser__count {
2583
+ grid-column: 1 / -1;
2584
+ text-align: left;
2585
+ }
2586
+ .plugins-browser__list {
2587
+ padding-inline: 0.85rem;
2588
+ }
2589
+ .plugins-browser__row {
2590
+ grid-template-columns: 2.5rem minmax(0, 1fr) auto;
2591
+ padding-inline: 0.45rem;
2592
+ }
2593
+ .plugins-browser__grid {
2594
+ grid-template-columns: minmax(0, 1fr);
2595
+ }
2596
+ .plugin-logo {
2597
+ width: 2.5rem;
2598
+ height: 2.5rem;
2599
+ flex-basis: 2.5rem;
2600
+ }
2601
+ .plugins-detail {
2602
+ padding: 1rem !important;
2603
+ }
2604
+ .plugins-detail__hero {
2605
+ flex-direction: column;
2606
+ }
2607
+ .conventional-settings-shell {
2608
+ grid-template-columns: 1fr;
2609
+ }
2610
+ .conventional-settings-nav {
2611
+ display: flex;
2612
+ align-items: flex-start;
2613
+ gap: 0.75rem;
2614
+ overflow-x: auto;
2615
+ border-right: 0;
2616
+ border-bottom: 1px solid var(--cw-border);
2617
+ }
2618
+ .conventional-settings-nav__group {
2619
+ min-width: max-content;
2620
+ }
2621
+ .conventional-settings-panel {
2622
+ min-height: 27rem;
2623
+ }
2624
+ .conventional-settings-row {
2625
+ align-items: flex-start;
2626
+ }
2627
+ .conventional-settings-row input:not([type="checkbox"]) {
2628
+ width: 9rem;
2629
+ flex: none;
2630
+ }
2631
+ .conventional-form-grid {
2632
+ grid-template-columns: 1fr;
2633
+ }
2634
+ .conventional-form-grid__wide {
2635
+ grid-column: auto;
2636
+ }
2637
+ .conventional-destructive-confirmation {
2638
+ grid-template-columns: auto 1fr;
2639
+ }
2640
+ }
2641
+
2642
+ .conventional-empty,
2643
+ .conventional-error,
2644
+ .conventional-skeleton {
2645
+ display: grid;
2646
+ max-width: 30rem;
2647
+ min-height: 14rem;
2648
+ align-content: center;
2649
+ justify-items: center;
2650
+ gap: 0.65rem;
2651
+ margin: auto;
2652
+ padding: 2rem;
2653
+ color: var(--cw-muted);
2654
+ text-align: center;
2655
+ }
2656
+ .conventional-empty h2,
2657
+ .conventional-error h2 {
2658
+ color: var(--cw-text);
2659
+ }
2660
+ .conventional-empty svg,
2661
+ .conventional-error svg {
2662
+ width: 2rem;
2663
+ height: 2rem;
2664
+ }
2665
+ .conventional-error button {
2666
+ min-height: 2.5rem;
2667
+ padding: 0 0.8rem;
2668
+ border: 1px solid var(--cw-border);
2669
+ border-radius: 0.4rem;
2670
+ background: var(--cw-surface);
2671
+ }
2672
+ .conventional-skeleton > div {
2673
+ width: min(26rem, 75vw);
2674
+ height: 0.8rem;
2675
+ border-radius: 999px;
2676
+ background: var(--cw-surface-muted);
2677
+ animation: conventional-pulse 1.5s ease-in-out infinite;
2678
+ }
2679
+ .conventional-skeleton > div:nth-child(2) {
2680
+ width: min(20rem, 60vw);
2681
+ }
2682
+ .conventional-skeleton > div:nth-child(3) {
2683
+ width: min(23rem, 68vw);
2684
+ }
2685
+ .visually-hidden {
2686
+ position: absolute !important;
2687
+ width: 1px !important;
2688
+ height: 1px !important;
2689
+ overflow: hidden !important;
2690
+ clip: rect(0 0 0 0) !important;
2691
+ white-space: nowrap !important;
2692
+ clip-path: inset(50%) !important;
2693
+ }
2694
+
2695
+ @keyframes conventional-pulse {
2696
+ 50% {
2697
+ opacity: 0.45;
2698
+ }
2699
+ }
2700
+
2701
+ @media (max-width: 64rem) {
2702
+ .conventional-workspace {
2703
+ grid-template-columns: 15rem minmax(0, 1fr);
2704
+ }
2705
+ .conventional-topbar {
2706
+ grid-template-columns: 15rem minmax(0, 1fr) auto auto;
2707
+ }
2708
+ .conventional-conversation--thread-open {
2709
+ grid-template-columns: minmax(20rem, 1fr) minmax(18rem, 22rem);
2710
+ }
2711
+ }
2712
+
2713
+ @media (max-width: 48rem) {
2714
+ .conventional-workspace {
2715
+ grid-template-columns: minmax(0, 1fr);
2716
+ }
2717
+ .conventional-topbar {
2718
+ grid-template-columns: 1fr auto auto;
2719
+ }
2720
+ .conventional-topbar__context {
2721
+ display: none;
2722
+ }
2723
+ .conventional-sidebar {
2724
+ position: fixed;
2725
+ z-index: 40;
2726
+ top: 0;
2727
+ bottom: 0;
2728
+ left: 4rem;
2729
+ width: min(19rem, calc(100% - 7rem));
2730
+ transform: translateX(-105%);
2731
+ transition: transform 0.18s ease;
2732
+ box-shadow: 12px 0 38px rgb(0 0 0 / 0.25);
2733
+ grid-template-rows: auto auto minmax(0, 1fr);
2734
+ }
2735
+ .conventional-sidebar__resize {
2736
+ display: none;
2737
+ }
2738
+ .conventional-sidebar--open {
2739
+ transform: none;
2740
+ }
2741
+ .conventional-sidebar__close {
2742
+ display: grid;
2743
+ justify-self: end;
2744
+ width: 2.5rem;
2745
+ height: 2.5rem;
2746
+ margin: 0.5rem 0.5rem 0;
2747
+ place-items: center;
2748
+ border-radius: 0.4rem;
2749
+ }
2750
+ .conventional-sidebar-scrim {
2751
+ position: fixed;
2752
+ z-index: 39;
2753
+ inset: 0 0 0 4rem;
2754
+ display: block;
2755
+ border: 0;
2756
+ background: rgb(0 0 0 / 0.58);
2757
+ }
2758
+ .conventional-main {
2759
+ grid-column: 1;
2760
+ }
2761
+ .conventional-conversation__header {
2762
+ padding-left: 4.2rem;
2763
+ }
2764
+ .conventional-mobile-menu {
2765
+ position: fixed;
2766
+ z-index: 12;
2767
+ top: 0.65rem;
2768
+ left: 4.65rem;
2769
+ display: grid;
2770
+ width: 2.75rem;
2771
+ height: 2.75rem;
2772
+ place-items: center;
2773
+ border: 1px solid var(--cw-border);
2774
+ border-radius: 0.4rem;
2775
+ background: var(--cw-surface);
2776
+ color: var(--cw-text);
2777
+ }
2778
+ .conventional-header-menu {
2779
+ display: grid !important;
2780
+ }
2781
+ .conventional-conversation--thread-open {
2782
+ grid-template-columns: minmax(0, 1fr);
2783
+ }
2784
+ .conventional-conversation--thread-open > .conventional-conversation__header,
2785
+ .conventional-conversation--thread-open > .conventional-transcript,
2786
+ .conventional-conversation--thread-open > .conventional-composer {
2787
+ visibility: hidden;
2788
+ }
2789
+ .conventional-thread {
2790
+ position: absolute;
2791
+ z-index: 15;
2792
+ inset: 0;
2793
+ grid-column: 1;
2794
+ border-left: 0;
2795
+ }
2796
+ .conventional-message__actions {
2797
+ opacity: 1;
2798
+ }
2799
+ .conventional-task-board {
2800
+ grid-template-columns: repeat(6, minmax(14rem, 75vw));
2801
+ }
2802
+ .conventional-surface-header {
2803
+ flex-direction: column;
2804
+ }
2805
+ }
2806
+
2807
+ @media (max-width: 30rem) {
2808
+ .conventional-account-button span {
2809
+ display: none;
2810
+ }
2811
+ .conventional-transcript {
2812
+ padding-inline: 0.4rem;
2813
+ }
2814
+ .conventional-composer {
2815
+ margin-inline: 0.5rem;
2816
+ }
2817
+ .conventional-composer__toolbar > p {
2818
+ display: none;
2819
+ }
2820
+ .conventional-message {
2821
+ grid-template-columns: 1.75rem minmax(0, 1fr);
2822
+ gap: 0.45rem;
2823
+ }
2824
+ .conventional-message--user {
2825
+ grid-template-columns: minmax(0, 1fr) 1.9rem;
2826
+ }
2827
+ .conventional-message--user .conventional-message__avatar {
2828
+ width: 1.9rem;
2829
+ height: 1.9rem;
2830
+ }
2831
+ .conventional-message__avatar {
2832
+ width: 1.75rem;
2833
+ height: 1.75rem;
2834
+ }
2835
+ }
2836
+
2837
+ @media (prefers-reduced-motion: reduce) {
2838
+ .conventional-workspace *,
2839
+ .conventional-workspace *::before,
2840
+ .conventional-workspace *::after {
2841
+ scroll-behavior: auto !important;
2842
+ transition-duration: 0.01ms !important;
2843
+ animation-duration: 0.01ms !important;
2844
+ animation-iteration-count: 1 !important;
2845
+ }
2846
+ }