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