@cychien/ezdesign 0.0.0-stage → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/shell.css ADDED
@@ -0,0 +1,2482 @@
1
+ /* src/client/shell.css */
2
+ :root {
3
+ --paper: #faf9f6;
4
+ --paper-sunken: #f2f0e9;
5
+ --paper-edge: #e9e6dd;
6
+ --ink: #171717;
7
+ --ink-muted: #676767;
8
+ --ink-faint: #878787;
9
+ --ink-ghost: #b3b3b3;
10
+ --background: var(--paper);
11
+ --panel: #fff;
12
+ --foreground: var(--ink);
13
+ --muted: var(--paper-sunken);
14
+ --muted-foreground: var(--ink-muted);
15
+ --border: var(--paper-edge);
16
+ --primary: var(--ink);
17
+ --primary-foreground: #fff;
18
+ --ring: var(--ink-ghost);
19
+ --ring-halo: color-mix(in oklab, var(--ink) 12%, transparent);
20
+ --radius: 8px;
21
+ --mark: #e56d41;
22
+ --mark-foreground: #fff;
23
+ --premium: #d6a21e;
24
+ --attach: #cee7c1;
25
+ --attach-ink: #3d5c36;
26
+ --ref: #f4d3e2;
27
+ --ref-ink: #7b3a5c;
28
+ --ref-accent: #cf5f92;
29
+ --explore-ink: #5e3f8c;
30
+ --explore-accent: #6b3baa;
31
+ --explore-on-ink: #a97ae0;
32
+ --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
33
+ --t-pop: 0.16s;
34
+ --t-menu: 0.18s;
35
+ --t-view: 0.22s;
36
+ --code-ink: #b4482a;
37
+ --code-fill: rgba(180, 72, 42, 0.09);
38
+ --update-ink: #2566ba;
39
+ --skill-ink: #1a6aa8;
40
+ }
41
+ * {
42
+ box-sizing: border-box;
43
+ }
44
+ html,
45
+ body {
46
+ margin: 0;
47
+ height: 100%;
48
+ }
49
+ body {
50
+ font-family:
51
+ -apple-system,
52
+ BlinkMacSystemFont,
53
+ "Segoe UI",
54
+ "Noto Sans TC",
55
+ sans-serif;
56
+ background: var(--background);
57
+ color: var(--foreground);
58
+ -webkit-font-smoothing: antialiased;
59
+ }
60
+ button {
61
+ font-family: inherit;
62
+ }
63
+ :focus-visible {
64
+ outline: 3px solid var(--ring-halo);
65
+ outline-offset: 0;
66
+ }
67
+ #ez-shell {
68
+ display: flex;
69
+ height: 100vh;
70
+ }
71
+ .ez-stage-wrap {
72
+ position: relative;
73
+ flex: 1;
74
+ display: flex;
75
+ min-width: 0;
76
+ }
77
+ .ez-shown {
78
+ position: absolute;
79
+ top: 10px;
80
+ right: 10px;
81
+ z-index: 6;
82
+ }
83
+ .ez-shown[data-hidden] {
84
+ display: none;
85
+ }
86
+ .ez-shown-btn {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ width: 28px;
91
+ height: 28px;
92
+ border-radius: 8px;
93
+ border: 1px solid var(--border);
94
+ background: var(--panel);
95
+ color: var(--muted-foreground);
96
+ cursor: pointer;
97
+ box-shadow: 0 1px 3px oklch(0% 0 0 / 0.06);
98
+ transition: color 0.12s ease, border-color 0.12s ease;
99
+ }
100
+ .ez-shown-btn:hover,
101
+ .ez-shown[data-open] .ez-shown-btn {
102
+ color: var(--foreground);
103
+ border-color: var(--ink-ghost);
104
+ }
105
+ .ez-stage {
106
+ flex: 1;
107
+ overflow: auto;
108
+ min-width: 0;
109
+ scrollbar-gutter: stable;
110
+ }
111
+ .ez-canvas {
112
+ width: fit-content;
113
+ margin: 0 auto;
114
+ display: flex;
115
+ flex-direction: column;
116
+ align-items: flex-start;
117
+ gap: 26px;
118
+ }
119
+ .ez-stage.ez-multi .ez-canvas {
120
+ position: relative;
121
+ display: block;
122
+ margin: 0;
123
+ }
124
+ .ez-stage.ez-multi .ez-card {
125
+ position: absolute;
126
+ }
127
+ .ez-stage.ez-multi .ez-card-head {
128
+ cursor: grab;
129
+ touch-action: none;
130
+ }
131
+ .ez-card.ez-card-drag {
132
+ z-index: 3;
133
+ opacity: 0.92;
134
+ will-change: transform;
135
+ }
136
+ .ez-stage.ez-multi .ez-screen {
137
+ transition: box-shadow 0.18s ease;
138
+ }
139
+ .ez-card.ez-card-drag .ez-screen {
140
+ box-shadow: 0 18px 44px rgba(23, 23, 23, 0.16);
141
+ }
142
+ .ez-canvas[data-settle] .ez-card {
143
+ transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1);
144
+ }
145
+ .ez-drop-hint {
146
+ position: absolute;
147
+ z-index: 4;
148
+ pointer-events: none;
149
+ background: var(--ink);
150
+ border-radius: 2px;
151
+ opacity: 0;
152
+ transition: opacity 0.1s ease;
153
+ }
154
+ .ez-drop-hint[data-on] {
155
+ opacity: 1;
156
+ }
157
+ .ez-drop-hint:not([data-flat]) {
158
+ width: 3px;
159
+ transform: translateX(-50%);
160
+ }
161
+ .ez-drop-hint[data-flat] {
162
+ height: 3px;
163
+ transform: translateY(-50%);
164
+ }
165
+ .ez-stage.ez-framed {
166
+ padding: 16px;
167
+ }
168
+ .ez-stage.ez-multi {
169
+ padding: 28px 32px 44px;
170
+ cursor: grab;
171
+ }
172
+ body.ez-panning,
173
+ body.ez-panning .ez-stage,
174
+ body.ez-arranging,
175
+ body.ez-arranging .ez-stage,
176
+ body.ez-arranging .ez-card-head {
177
+ cursor: grabbing;
178
+ user-select: none;
179
+ }
180
+ body.ez-panning .ez-frame,
181
+ body.ez-arranging .ez-frame {
182
+ pointer-events: none;
183
+ }
184
+ .ez-card {
185
+ display: flex;
186
+ flex-direction: column;
187
+ gap: 7px;
188
+ flex-shrink: 0;
189
+ }
190
+ .ez-stage:not(.ez-multi) .ez-card-head {
191
+ display: none;
192
+ }
193
+ .ez-card-head {
194
+ font-size: 11.5px;
195
+ line-height: 1;
196
+ color: var(--muted-foreground);
197
+ padding-left: 2px;
198
+ white-space: nowrap;
199
+ }
200
+ .ez-framed .ez-screen {
201
+ border-radius: 10px;
202
+ outline: 1px solid var(--border);
203
+ overflow: hidden;
204
+ }
205
+ .ez-screen::after {
206
+ content: "";
207
+ position: absolute;
208
+ inset: 0;
209
+ border-radius: inherit;
210
+ pointer-events: none;
211
+ display: none;
212
+ box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--veil-edge) 62%, transparent);
213
+ }
214
+ .ez-stage[data-ez-veil] .ez-screen::after {
215
+ display: block;
216
+ }
217
+ .ez-stage[data-ez-veil=pick] {
218
+ --veil-edge: var(--ref-accent);
219
+ }
220
+ .ez-stage[data-ez-veil=explore] {
221
+ --veil-edge: var(--explore-accent);
222
+ }
223
+ .ez-screen {
224
+ flex-shrink: 0;
225
+ position: relative;
226
+ }
227
+ .ez-frame-wrap {
228
+ width: 100%;
229
+ height: 100%;
230
+ transform-origin: top left;
231
+ }
232
+ .ez-frame {
233
+ display: block;
234
+ width: 100%;
235
+ height: 100%;
236
+ border: none;
237
+ background: #fff;
238
+ }
239
+ .ez-sidebar {
240
+ position: relative;
241
+ flex-shrink: 0;
242
+ background: var(--background);
243
+ border-left: 1px solid var(--border);
244
+ display: flex;
245
+ flex-direction: column;
246
+ min-height: 0;
247
+ }
248
+ .ez-resizer {
249
+ position: absolute;
250
+ inset-block: 0;
251
+ left: -4px;
252
+ width: 9px;
253
+ z-index: 4;
254
+ cursor: col-resize;
255
+ touch-action: none;
256
+ }
257
+ .ez-resizer::after {
258
+ content: "";
259
+ position: absolute;
260
+ inset-block: 0;
261
+ left: 4px;
262
+ width: 1px;
263
+ background: transparent;
264
+ transition: background 0.12s ease;
265
+ }
266
+ .ez-resizer:hover::after,
267
+ .ez-resizer:focus-visible::after,
268
+ .ez-resizing .ez-resizer::after {
269
+ background: var(--ink-ghost);
270
+ }
271
+ .ez-resizing {
272
+ cursor: col-resize;
273
+ user-select: none;
274
+ }
275
+ .ez-resizing .ez-frame {
276
+ pointer-events: none;
277
+ }
278
+ .ez-side-head {
279
+ padding: 12px 14px;
280
+ border-bottom: 1px solid var(--border);
281
+ flex-shrink: 0;
282
+ }
283
+ .ez-head-row {
284
+ position: relative;
285
+ display: flex;
286
+ align-items: center;
287
+ gap: 6px;
288
+ }
289
+ .ez-brand {
290
+ font-weight: 600;
291
+ font-size: 14px;
292
+ letter-spacing: -0.03em;
293
+ }
294
+ .ez-version {
295
+ font-size: 11px;
296
+ color: var(--ink-faint);
297
+ }
298
+ .ez-target {
299
+ display: block;
300
+ font-size: 11.5px;
301
+ line-height: 1.15;
302
+ min-height: 1lh;
303
+ color: var(--muted-foreground);
304
+ margin-top: 3px;
305
+ overflow: hidden;
306
+ text-overflow: ellipsis;
307
+ white-space: nowrap;
308
+ }
309
+ .ez-spacer {
310
+ flex: 1;
311
+ }
312
+ .ez-keys-wrap {
313
+ display: flex;
314
+ }
315
+ .ez-keys {
316
+ display: inline-flex;
317
+ align-items: center;
318
+ padding: 0;
319
+ border: none;
320
+ background: none;
321
+ color: var(--ink-faint);
322
+ cursor: pointer;
323
+ transition: color 0.12s ease;
324
+ }
325
+ .ez-keys:hover,
326
+ .ez-keys:focus-visible {
327
+ color: var(--foreground);
328
+ }
329
+ .ez-keys-panel {
330
+ position: absolute;
331
+ top: calc(100% + 6px);
332
+ right: 0;
333
+ z-index: 5;
334
+ width: max-content;
335
+ display: flex;
336
+ flex-direction: column;
337
+ gap: 6px;
338
+ padding: 10px;
339
+ border-radius: 12px;
340
+ background: var(--panel);
341
+ border: 1px solid var(--border);
342
+ box-shadow: 0 12px 32px oklch(0% 0 0 / 0.12), 0 2px 8px oklch(0% 0 0 / 0.06);
343
+ opacity: 0;
344
+ visibility: hidden;
345
+ transition: opacity 0.12s ease, visibility 0.12s ease;
346
+ }
347
+ .ez-keys-wrap[data-open] .ez-keys-panel,
348
+ .ez-keys:focus-visible + .ez-keys-panel {
349
+ opacity: 1;
350
+ visibility: visible;
351
+ }
352
+ .ez-keys-row {
353
+ display: flex;
354
+ align-items: center;
355
+ gap: 8px;
356
+ }
357
+ .ez-kbd {
358
+ flex-shrink: 0;
359
+ min-width: 26px;
360
+ text-align: center;
361
+ font-family: inherit;
362
+ font-size: 11px;
363
+ font-weight: 600;
364
+ line-height: 1.6;
365
+ color: var(--muted-foreground);
366
+ background: var(--muted);
367
+ border-radius: 5px;
368
+ padding: 1px 6px;
369
+ }
370
+ .ez-keys-label {
371
+ font-size: 12px;
372
+ color: var(--foreground);
373
+ white-space: nowrap;
374
+ }
375
+ .ez-badge {
376
+ display: inline-flex;
377
+ align-items: center;
378
+ gap: 5px;
379
+ font-size: 11px;
380
+ font-weight: 500;
381
+ line-height: 1.5;
382
+ color: var(--muted-foreground);
383
+ background: var(--muted);
384
+ border-radius: 999px;
385
+ padding: 3px 9px;
386
+ white-space: nowrap;
387
+ }
388
+ .ez-badge::before {
389
+ content: "";
390
+ width: 6px;
391
+ height: 6px;
392
+ border-radius: 50%;
393
+ background: var(--ink-ghost);
394
+ flex-shrink: 0;
395
+ }
396
+ .ez-badge.ez-online::before {
397
+ background: oklch(62% 0.15 150);
398
+ }
399
+ .ez-badge.ez-working::before {
400
+ background: oklch(70% 0.16 70);
401
+ animation: ez-pulse 1.2s ease-in-out infinite;
402
+ }
403
+ @keyframes ez-pulse {
404
+ 50% {
405
+ opacity: 0.3;
406
+ }
407
+ }
408
+ .ez-annotate-group {
409
+ display: flex;
410
+ gap: 6px;
411
+ margin-top: 8px;
412
+ }
413
+ .ez-seg {
414
+ display: inline-flex;
415
+ align-items: center;
416
+ gap: 2px;
417
+ background: var(--muted);
418
+ border-radius: var(--radius);
419
+ padding: 2px;
420
+ margin-top: 10px;
421
+ width: fit-content;
422
+ }
423
+ .ez-seg-item {
424
+ display: flex;
425
+ align-items: center;
426
+ gap: 0px;
427
+ border: none;
428
+ background: transparent;
429
+ color: var(--muted-foreground);
430
+ font-family: inherit;
431
+ font-size: 12px;
432
+ border-radius: 6px;
433
+ cursor: pointer;
434
+ white-space: nowrap;
435
+ transition: color 0.12s ease;
436
+ }
437
+ .ez-seg-item:not(.ez-on):hover {
438
+ background: oklch(100% 0 0 / 0.6);
439
+ color: var(--foreground);
440
+ }
441
+ .ez-seg-item.ez-on {
442
+ background: var(--panel);
443
+ color: var(--foreground);
444
+ font-weight: 600;
445
+ box-shadow: 0 1px 2px oklch(14.1% 0.005 285.823 / 0.1);
446
+ }
447
+ .ez-seg-multi {
448
+ padding: 6px 9px;
449
+ }
450
+ .ez-seg-device {
451
+ position: relative;
452
+ padding-right: 0;
453
+ }
454
+ .ez-seg-label {
455
+ border: none;
456
+ background: transparent;
457
+ color: inherit;
458
+ font: inherit;
459
+ padding: 6px 3px 6px 9px;
460
+ border-radius: 6px;
461
+ cursor: pointer;
462
+ }
463
+ .ez-seg-caret {
464
+ border: none;
465
+ background: none;
466
+ position: relative;
467
+ display: flex;
468
+ align-items: center;
469
+ align-self: stretch;
470
+ padding: 0 6px;
471
+ cursor: pointer;
472
+ color: var(--muted-foreground);
473
+ }
474
+ .ez-seg-caret::before {
475
+ content: "";
476
+ position: absolute;
477
+ inset: 3px 2px;
478
+ border-radius: 5px;
479
+ background: transparent;
480
+ transition: background 0.12s ease;
481
+ }
482
+ .ez-seg-caret:hover::before {
483
+ background: var(--muted);
484
+ }
485
+ .ez-seg-caret svg {
486
+ position: relative;
487
+ pointer-events: none;
488
+ }
489
+ .ez-menu {
490
+ position: absolute;
491
+ top: calc(100% + 6px);
492
+ left: 0;
493
+ z-index: 5;
494
+ min-width: 100%;
495
+ width: max-content;
496
+ display: none;
497
+ flex-direction: column;
498
+ gap: 2px;
499
+ padding: 4px;
500
+ border-radius: 10px;
501
+ background: var(--panel);
502
+ border: 1px solid var(--border);
503
+ box-shadow: 0 12px 32px oklch(0% 0 0 / 0.12), 0 2px 8px oklch(0% 0 0 / 0.06);
504
+ }
505
+ .ez-seg-device[data-open] .ez-menu,
506
+ .ez-shown[data-open] .ez-menu,
507
+ .ez-config[data-open] .ez-menu,
508
+ .ez-agent[data-open] .ez-menu,
509
+ .ez-update-hint[data-open] .ez-menu {
510
+ display: flex;
511
+ }
512
+ .ez-menu-right {
513
+ left: auto;
514
+ right: 0;
515
+ }
516
+ .ez-menu-up {
517
+ top: auto;
518
+ bottom: calc(100% + 6px);
519
+ max-height: 60vh;
520
+ overflow-y: auto;
521
+ }
522
+ .ez-menu-group {
523
+ display: flex;
524
+ flex-direction: column;
525
+ gap: 2px;
526
+ }
527
+ .ez-menu-group + .ez-menu-group {
528
+ margin-top: 4px;
529
+ border-top: 1px solid var(--border);
530
+ padding-top: 4px;
531
+ }
532
+ .ez-menu-label {
533
+ padding: 4px 8px 2px;
534
+ font-size: 10px;
535
+ font-weight: 500;
536
+ letter-spacing: 0.04em;
537
+ text-transform: uppercase;
538
+ color: var(--ink-ghost);
539
+ }
540
+ .ez-menu-tick {
541
+ display: flex;
542
+ width: 14px;
543
+ color: #3f9e4d;
544
+ visibility: hidden;
545
+ }
546
+ .ez-menu-tick svg * {
547
+ stroke-width: 3;
548
+ }
549
+ .ez-menu-item.ez-on .ez-menu-tick {
550
+ visibility: visible;
551
+ }
552
+ .ez-menu-item[disabled] {
553
+ cursor: default;
554
+ }
555
+ .ez-menu-item[disabled] .ez-menu-name {
556
+ color: var(--muted-foreground);
557
+ }
558
+ .ez-menu-item {
559
+ display: flex;
560
+ align-items: center;
561
+ gap: 7px;
562
+ border: none;
563
+ background: transparent;
564
+ color: var(--foreground);
565
+ font-family: inherit;
566
+ font-size: 12px;
567
+ font-weight: 500;
568
+ text-align: left;
569
+ padding: 5px 8px;
570
+ border-radius: 6px;
571
+ cursor: pointer;
572
+ }
573
+ .ez-menu-item:hover:not([disabled]),
574
+ .ez-menu-item:focus-visible {
575
+ background: var(--muted);
576
+ }
577
+ .ez-menu-check {
578
+ display: flex;
579
+ flex-shrink: 0;
580
+ margin-left: 12px;
581
+ color: var(--muted-foreground);
582
+ visibility: hidden;
583
+ }
584
+ .ez-menu-item[data-current] .ez-menu-check {
585
+ visibility: visible;
586
+ }
587
+ .ez-menu-name {
588
+ flex: 1;
589
+ }
590
+ .ez-tool-btn {
591
+ flex: 1;
592
+ display: inline-flex;
593
+ align-items: center;
594
+ justify-content: center;
595
+ gap: 6px;
596
+ border: 1px solid var(--border);
597
+ background: var(--panel);
598
+ color: var(--foreground);
599
+ font-size: 12px;
600
+ font-weight: 600;
601
+ padding: 6px 10px;
602
+ border-radius: var(--radius);
603
+ cursor: pointer;
604
+ transition: background 0.12s ease, border-color 0.12s ease;
605
+ }
606
+ .ez-tool-btn:not(.ez-on):hover:not(:disabled) {
607
+ background: var(--muted);
608
+ }
609
+ .ez-tool-btn.ez-on {
610
+ background: var(--primary);
611
+ border-color: var(--primary);
612
+ color: var(--primary-foreground);
613
+ }
614
+ .ez-tool-btn:disabled {
615
+ opacity: 0.45;
616
+ cursor: default;
617
+ }
618
+ .ez-send {
619
+ width: 100%;
620
+ display: inline-flex;
621
+ align-items: center;
622
+ justify-content: center;
623
+ gap: 6px;
624
+ border: 1px solid var(--primary);
625
+ background: var(--primary);
626
+ color: var(--primary-foreground);
627
+ font-size: 13px;
628
+ font-weight: 600;
629
+ padding: 8px;
630
+ border-radius: var(--radius);
631
+ cursor: pointer;
632
+ box-shadow: inset 0 1px 0 0 oklch(100% 0 0 / 0.14);
633
+ transition: opacity 0.12s ease;
634
+ }
635
+ .ez-send:hover:not(:disabled) {
636
+ opacity: 0.88;
637
+ }
638
+ .ez-send:disabled {
639
+ opacity: 0.4;
640
+ cursor: default;
641
+ }
642
+ .ez-notices {
643
+ position: absolute;
644
+ left: 0;
645
+ right: 0;
646
+ bottom: 0;
647
+ z-index: 2;
648
+ }
649
+ .ez-notices > *:not([hidden]) {
650
+ box-shadow: 0 -2px 6px oklch(0% 0 0 / 0.035);
651
+ }
652
+ .ez-notices > *:not([hidden]) ~ *:not([hidden]) {
653
+ box-shadow: none;
654
+ }
655
+ .ez-notices > * {
656
+ animation: ez-rise 0.16s ease-out;
657
+ }
658
+ .ez-resume,
659
+ .ez-confirm {
660
+ animation: none;
661
+ }
662
+ @keyframes ez-rise {
663
+ from {
664
+ opacity: 0;
665
+ transform: translateY(8px);
666
+ }
667
+ 45% {
668
+ opacity: 1;
669
+ }
670
+ to {
671
+ transform: translateY(0);
672
+ }
673
+ }
674
+ @media (prefers-reduced-motion: reduce) {
675
+ .ez-notices > * {
676
+ animation: none;
677
+ }
678
+ }
679
+ .ez-notices > *:not([hidden]) ~ *:not([hidden]) {
680
+ border-top: 1px solid var(--border);
681
+ }
682
+ .ez-banner {
683
+ background: oklch(97% 0.04 85);
684
+ color: oklch(45% 0.1 70);
685
+ border-top: 1px solid oklch(90% 0.06 85);
686
+ font-size: 12.5px;
687
+ line-height: 1.6;
688
+ padding: 10px 14px;
689
+ flex-shrink: 0;
690
+ }
691
+ .ez-update {
692
+ position: relative;
693
+ padding: 12px 14px;
694
+ border-top: 1px solid var(--border);
695
+ background: var(--muted);
696
+ font-size: 12.5px;
697
+ line-height: 1.5;
698
+ flex-shrink: 0;
699
+ }
700
+ .ez-update-title {
701
+ font-weight: 600;
702
+ font-size: 13px;
703
+ }
704
+ .ez-update-lines {
705
+ margin: 6px 0 0;
706
+ padding: 0;
707
+ list-style: none;
708
+ color: var(--muted-foreground);
709
+ display: flex;
710
+ flex-direction: column;
711
+ gap: 2px;
712
+ word-break: break-all;
713
+ }
714
+ .ez-update-error {
715
+ color: oklch(45% 0.15 25);
716
+ font-family:
717
+ ui-monospace,
718
+ SFMono-Regular,
719
+ Menlo,
720
+ monospace;
721
+ font-size: 11.5px;
722
+ }
723
+ .ez-update-actions {
724
+ display: flex;
725
+ align-items: center;
726
+ gap: 8px;
727
+ margin-top: 10px;
728
+ }
729
+ .ez-update-go {
730
+ border: 1px solid var(--primary);
731
+ background: var(--primary);
732
+ color: var(--primary-foreground);
733
+ font-size: 12px;
734
+ font-weight: 600;
735
+ padding: 5px 12px;
736
+ border-radius: 6px;
737
+ cursor: pointer;
738
+ box-shadow: inset 0 1px 0 0 oklch(100% 0 0 / 0.14);
739
+ }
740
+ .ez-update-go:hover:not(:disabled) {
741
+ opacity: 0.88;
742
+ }
743
+ .ez-update-go:disabled {
744
+ opacity: 0.4;
745
+ cursor: default;
746
+ }
747
+ .ez-update-label {
748
+ display: inline-block;
749
+ transform: translateY(-1px);
750
+ }
751
+ .ez-update-x {
752
+ position: absolute;
753
+ top: 6px;
754
+ right: 6px;
755
+ display: inline-flex;
756
+ align-items: center;
757
+ justify-content: center;
758
+ padding: 6px;
759
+ border: none;
760
+ background: none;
761
+ color: var(--ink-ghost);
762
+ cursor: pointer;
763
+ }
764
+ .ez-update-x:hover {
765
+ color: var(--foreground);
766
+ }
767
+ .ez-update-hint {
768
+ position: relative;
769
+ display: flex;
770
+ }
771
+ .ez-update-flag {
772
+ display: inline-flex;
773
+ align-items: center;
774
+ border: none;
775
+ background: none;
776
+ padding: 0;
777
+ font-size: 11px;
778
+ font-weight: 500;
779
+ white-space: nowrap;
780
+ color: var(--update-ink);
781
+ cursor: pointer;
782
+ }
783
+ .ez-update-flag:hover {
784
+ color: color-mix(in oklab, var(--update-ink) 82%, var(--ink));
785
+ text-decoration: underline;
786
+ text-underline-offset: 2px;
787
+ }
788
+ .ez-update-hint[hidden],
789
+ .ez-config[hidden],
790
+ .ez-update[hidden] {
791
+ display: none;
792
+ }
793
+ .ez-section {
794
+ padding: 14px;
795
+ padding-block: 8px;
796
+ display: flex;
797
+ flex-direction: column;
798
+ min-height: 0;
799
+ }
800
+ .ez-conv-section {
801
+ flex: 1;
802
+ padding-block: 0;
803
+ border-bottom: 1px solid var(--border);
804
+ position: relative;
805
+ }
806
+ .ez-conv {
807
+ overflow-y: auto;
808
+ flex: 1;
809
+ display: flex;
810
+ flex-direction: column;
811
+ gap: 10px;
812
+ padding-block: 18px;
813
+ padding-right: 2px;
814
+ }
815
+ .ez-conv:empty::after {
816
+ content: "\60f3\8abf\6574\4ec0\9ebc \1f3a8";
817
+ font-size: 12px;
818
+ color: var(--muted-foreground);
819
+ line-height: 1.6;
820
+ }
821
+ .ez-msg {
822
+ display: flex;
823
+ }
824
+ .ez-msg-user {
825
+ justify-content: flex-end;
826
+ }
827
+ .ez-msg-user.ez-msg-cont {
828
+ margin-top: -6px;
829
+ }
830
+ .ez-msg-agent:not(:first-child),
831
+ .ez-msg-agent + .ez-msg-user {
832
+ margin-top: 10px;
833
+ }
834
+ .ez-msg-agent.ez-msg-cont {
835
+ margin-top: 16px;
836
+ }
837
+ .ez-bubble {
838
+ --bubble-pad-x: 10px;
839
+ --bubble-pad-y: 8px;
840
+ max-width: 84%;
841
+ min-width: 0;
842
+ font-size: 13px;
843
+ line-height: 1.6;
844
+ padding: var(--bubble-pad-y) var(--bubble-pad-x);
845
+ border-radius: 12px;
846
+ word-break: break-word;
847
+ white-space: pre-wrap;
848
+ background: var(--muted);
849
+ }
850
+ .ez-said {
851
+ min-width: 0;
852
+ font-size: 13px;
853
+ line-height: 1.6;
854
+ word-break: break-word;
855
+ white-space: pre-wrap;
856
+ }
857
+ .ez-bubble-list {
858
+ list-style: none;
859
+ margin: 0;
860
+ padding: 0;
861
+ display: flex;
862
+ flex-direction: column;
863
+ gap: 6px;
864
+ }
865
+ .ez-bubble-item {
866
+ display: flex;
867
+ align-items: baseline;
868
+ gap: 6px;
869
+ }
870
+ .ez-bi-num {
871
+ flex-shrink: 0;
872
+ font-size: 11.5px;
873
+ font-variant-numeric: tabular-nums;
874
+ opacity: 0.5;
875
+ }
876
+ .ez-bi-body {
877
+ min-width: 0;
878
+ }
879
+ .ez-bubble-note {
880
+ margin: 6px calc(var(--bubble-pad-x, 0px) * -1) calc(var(--bubble-pad-y, 0px) * -1);
881
+ padding: 6px var(--bubble-pad-x, 0px);
882
+ border-top: 1px solid color-mix(in oklab, var(--border) 80%, var(--ink-ghost));
883
+ }
884
+ .ez-bubble-more {
885
+ display: block;
886
+ width: 100%;
887
+ text-align: left;
888
+ border: none;
889
+ margin-top: 7px;
890
+ background: transparent;
891
+ color: inherit;
892
+ opacity: 0.45;
893
+ font-size: 11.5px;
894
+ cursor: pointer;
895
+ padding-left: 0;
896
+ padding-right: 0;
897
+ }
898
+ .ez-bubble-more:hover {
899
+ opacity: 0.75;
900
+ }
901
+ .ez-thinking {
902
+ --ez-progress-line: 17px;
903
+ --ez-progress-pad: 2px;
904
+ display: flex;
905
+ align-items: center;
906
+ gap: 3px;
907
+ padding: var(--ez-progress-pad) 0;
908
+ min-height: calc(var(--ez-progress-line) + var(--ez-progress-pad) * 2);
909
+ min-width: 0;
910
+ }
911
+ .ez-progress {
912
+ margin-left: 6px;
913
+ min-width: 0;
914
+ font-size: 12px;
915
+ line-height: var(--ez-progress-line);
916
+ color: var(--muted-foreground);
917
+ white-space: nowrap;
918
+ overflow: hidden;
919
+ text-overflow: ellipsis;
920
+ }
921
+ .ez-dot {
922
+ flex: none;
923
+ width: 4px;
924
+ height: 4px;
925
+ border-radius: 50%;
926
+ background: var(--ink-ghost);
927
+ animation: ez-think 1.1s ease-in-out infinite;
928
+ }
929
+ .ez-dot:nth-child(2) {
930
+ animation-delay: 0.16s;
931
+ }
932
+ .ez-dot:nth-child(3) {
933
+ animation-delay: 0.32s;
934
+ }
935
+ @keyframes ez-think {
936
+ 0%, 70%, 100% {
937
+ opacity: 0.28;
938
+ transform: translateY(0);
939
+ }
940
+ 35% {
941
+ opacity: 1;
942
+ transform: translateY(-2.5px);
943
+ }
944
+ }
945
+ @media (prefers-reduced-motion: reduce) {
946
+ .ez-dot {
947
+ animation: none;
948
+ opacity: 0.55;
949
+ }
950
+ }
951
+ .ez-msg-system {
952
+ display: flex;
953
+ align-items: center;
954
+ gap: 8px;
955
+ font-size: 11.5px;
956
+ color: var(--muted-foreground);
957
+ padding: 2px 0;
958
+ }
959
+ .ez-msg-system::before,
960
+ .ez-msg-system::after {
961
+ content: "";
962
+ flex: 1 1 auto;
963
+ min-width: 12px;
964
+ border-top: 1px dashed var(--border);
965
+ }
966
+ .ez-msg-system-plain {
967
+ display: block;
968
+ text-align: center;
969
+ white-space: pre-wrap;
970
+ }
971
+ .ez-msg-system-plain::before,
972
+ .ez-msg-system-plain::after {
973
+ content: none;
974
+ }
975
+ .ez-queue-section {
976
+ flex-shrink: 0;
977
+ }
978
+ .ez-fade {
979
+ position: relative;
980
+ min-height: 0;
981
+ }
982
+ .ez-fade::before,
983
+ .ez-fade::after {
984
+ content: "";
985
+ position: absolute;
986
+ left: 0;
987
+ right: 0;
988
+ height: 22px;
989
+ pointer-events: none;
990
+ opacity: 0;
991
+ transition: opacity 0.15s ease;
992
+ z-index: 1;
993
+ }
994
+ .ez-fade::before {
995
+ top: 0;
996
+ background:
997
+ linear-gradient(
998
+ to bottom,
999
+ var(--background),
1000
+ transparent);
1001
+ }
1002
+ .ez-fade::after {
1003
+ bottom: 0;
1004
+ background:
1005
+ linear-gradient(
1006
+ to top,
1007
+ var(--background),
1008
+ transparent);
1009
+ }
1010
+ .ez-fade[data-more-above]::before,
1011
+ .ez-fade[data-more-below]::after {
1012
+ opacity: 1;
1013
+ }
1014
+ .ez-conv-scroll {
1015
+ flex: 1;
1016
+ display: flex;
1017
+ flex-direction: column;
1018
+ }
1019
+ .ez-queue-scroll {
1020
+ display: none;
1021
+ margin-bottom: 10px;
1022
+ }
1023
+ .ez-queue-scroll[data-filled] {
1024
+ display: block;
1025
+ }
1026
+ .ez-queue {
1027
+ list-style: none;
1028
+ margin: 0;
1029
+ padding: 0;
1030
+ overflow-y: auto;
1031
+ display: flex;
1032
+ flex-direction: column;
1033
+ gap: 6px;
1034
+ }
1035
+ .ez-queue-item {
1036
+ border-radius: 12px;
1037
+ padding: 9px 11px;
1038
+ background: var(--muted);
1039
+ }
1040
+ .ez-qi-head {
1041
+ display: flex;
1042
+ align-items: center;
1043
+ gap: 6px;
1044
+ min-width: 0;
1045
+ }
1046
+ .ez-qi-num {
1047
+ width: 18px;
1048
+ height: 18px;
1049
+ border-radius: 50%;
1050
+ background: var(--mark);
1051
+ color: var(--mark-foreground);
1052
+ font-size: 11px;
1053
+ font-weight: 650;
1054
+ line-height: 18px;
1055
+ text-align: center;
1056
+ flex-shrink: 0;
1057
+ }
1058
+ .ez-qi-label {
1059
+ font-size: 11px;
1060
+ color: var(--muted-foreground);
1061
+ overflow: hidden;
1062
+ text-overflow: ellipsis;
1063
+ white-space: nowrap;
1064
+ flex: 1;
1065
+ min-width: 0;
1066
+ }
1067
+ .ez-qi-vp {
1068
+ font-size: 10px;
1069
+ font-variant-numeric: tabular-nums;
1070
+ background: var(--paper-edge);
1071
+ color: var(--muted-foreground);
1072
+ border-radius: 999px;
1073
+ padding: 2px 8px;
1074
+ flex-shrink: 0;
1075
+ }
1076
+ .ez-qi-acts {
1077
+ display: flex;
1078
+ align-items: center;
1079
+ gap: 0;
1080
+ flex-shrink: 0;
1081
+ transform: translateX(1px);
1082
+ }
1083
+ .ez-qi-act {
1084
+ display: inline-flex;
1085
+ align-items: center;
1086
+ justify-content: center;
1087
+ width: 16px;
1088
+ height: 16px;
1089
+ padding: 0;
1090
+ border: none;
1091
+ background: transparent;
1092
+ color: var(--ink-faint);
1093
+ cursor: pointer;
1094
+ flex-shrink: 0;
1095
+ border-radius: 4px;
1096
+ }
1097
+ .ez-qi-act:hover:not(:disabled) {
1098
+ color: var(--foreground);
1099
+ }
1100
+ .ez-qi-edit svg {
1101
+ transform: translateY(-1px);
1102
+ }
1103
+ .ez-qi-tick svg {
1104
+ transform: translateY(0.3px);
1105
+ }
1106
+ .ez-qi-act:disabled {
1107
+ opacity: 0.4;
1108
+ cursor: default;
1109
+ }
1110
+ .ez-qi-act.ez-qi-del:hover:not(:disabled) {
1111
+ color: oklch(52% 0.2 25);
1112
+ }
1113
+ .ez-qi-comment {
1114
+ font-size: 13px;
1115
+ margin-top: 4px;
1116
+ line-height: 1.55;
1117
+ word-break: break-word;
1118
+ }
1119
+ .ez-queue-item[data-editing] .ez-attach {
1120
+ margin: 6px 0 0;
1121
+ }
1122
+ .ez-qi-input {
1123
+ display: block;
1124
+ position: relative;
1125
+ min-height: 34px;
1126
+ max-height: 34vh;
1127
+ overflow-y: auto;
1128
+ font-family: inherit;
1129
+ font-size: 13px;
1130
+ font-weight: 400;
1131
+ line-height: 1.5;
1132
+ color: var(--foreground);
1133
+ white-space: pre-wrap;
1134
+ word-break: break-word;
1135
+ outline: none;
1136
+ }
1137
+ .ez-qi-input[data-empty]::before {
1138
+ content: attr(data-placeholder);
1139
+ position: absolute;
1140
+ inset: 0 0 auto 0;
1141
+ color: var(--ink-faint);
1142
+ pointer-events: none;
1143
+ }
1144
+ .ez-attach {
1145
+ margin-bottom: 8px;
1146
+ }
1147
+ .ez-attach-field {
1148
+ border: 1px solid var(--border);
1149
+ border-radius: var(--radius);
1150
+ padding: 7px 9px;
1151
+ background: var(--panel);
1152
+ transition: border-color 0.12s ease, background 0.12s ease;
1153
+ }
1154
+ .ez-attach-field[data-drop] {
1155
+ background: var(--paper-sunken);
1156
+ }
1157
+ .ez-control-row {
1158
+ position: relative;
1159
+ display: flex;
1160
+ align-items: center;
1161
+ gap: 8px;
1162
+ margin-bottom: 6px;
1163
+ padding-left: 2px;
1164
+ }
1165
+ .ez-control-row[hidden] {
1166
+ display: none;
1167
+ }
1168
+ .ez-agent .ez-menu,
1169
+ .ez-config .ez-menu {
1170
+ left: 0;
1171
+ right: auto;
1172
+ min-width: 0;
1173
+ max-width: 100%;
1174
+ }
1175
+ .ez-agent .ez-menu-name,
1176
+ .ez-config .ez-menu-name {
1177
+ overflow: hidden;
1178
+ text-overflow: ellipsis;
1179
+ white-space: nowrap;
1180
+ }
1181
+ .ez-agent {
1182
+ position: static;
1183
+ display: flex;
1184
+ min-width: 0;
1185
+ }
1186
+ .ez-agent[hidden] {
1187
+ display: none;
1188
+ }
1189
+ .ez-agent-pill,
1190
+ .ez-config-pill {
1191
+ display: inline-flex;
1192
+ align-items: center;
1193
+ gap: 4px;
1194
+ max-width: 100%;
1195
+ border: none;
1196
+ background: none;
1197
+ color: var(--ink-faint);
1198
+ font-family: inherit;
1199
+ font-size: 11px;
1200
+ font-weight: 600;
1201
+ padding: 0;
1202
+ border-radius: 4px;
1203
+ cursor: pointer;
1204
+ transition: color 0.12s ease;
1205
+ }
1206
+ .ez-brand-mark {
1207
+ display: flex;
1208
+ flex-shrink: 0;
1209
+ transform: translateY(var(--brand-nudge, 0));
1210
+ }
1211
+ .ez-agent-pill {
1212
+ --brand-nudge: 1px;
1213
+ }
1214
+ .ez-agent-pill > svg,
1215
+ .ez-config-pill > svg {
1216
+ flex-shrink: 0;
1217
+ margin-left: -2px;
1218
+ margin-top: 3px;
1219
+ }
1220
+ .ez-agent-pill:hover:not(:disabled),
1221
+ .ez-config-pill:hover:not(:disabled),
1222
+ .ez-agent[data-open] .ez-agent-pill,
1223
+ .ez-config[data-open] .ez-config-pill {
1224
+ color: var(--ink-muted);
1225
+ }
1226
+ .ez-harness-row {
1227
+ display: flex;
1228
+ align-items: center;
1229
+ min-height: 17px;
1230
+ margin-bottom: 6px;
1231
+ padding-left: 2px;
1232
+ }
1233
+ .ez-harness-row[hidden] {
1234
+ display: none;
1235
+ }
1236
+ .ez-harness {
1237
+ display: inline-flex;
1238
+ align-items: center;
1239
+ gap: 4px;
1240
+ padding: 0;
1241
+ border: none;
1242
+ border-radius: 4px;
1243
+ background: none;
1244
+ color: var(--ink-faint);
1245
+ font-family: inherit;
1246
+ font-size: 11px;
1247
+ font-weight: 600;
1248
+ line-height: 13px;
1249
+ cursor: pointer;
1250
+ transition: color 0.12s ease;
1251
+ }
1252
+ .ez-harness:hover:not(:disabled) {
1253
+ color: var(--ink-muted);
1254
+ }
1255
+ .ez-harness:disabled {
1256
+ cursor: default;
1257
+ opacity: 0.5;
1258
+ }
1259
+ .ez-harness-mark {
1260
+ display: flex;
1261
+ flex-shrink: 0;
1262
+ color: var(--premium);
1263
+ }
1264
+ .ez-harness-mark path {
1265
+ fill: currentColor;
1266
+ }
1267
+ .ez-harness-label {
1268
+ white-space: nowrap;
1269
+ }
1270
+ .ez-harness-tag {
1271
+ margin-left: 2px;
1272
+ padding: 2px 6px;
1273
+ border-radius: 4px;
1274
+ background: var(--paper-edge);
1275
+ color: var(--ink-muted);
1276
+ font-size: 10px;
1277
+ font-weight: 500;
1278
+ line-height: 13px;
1279
+ white-space: nowrap;
1280
+ }
1281
+ .ez-effort {
1282
+ display: inline-flex;
1283
+ align-items: center;
1284
+ gap: 6px;
1285
+ margin-left: auto;
1286
+ cursor: pointer;
1287
+ }
1288
+ .ez-effort[hidden] {
1289
+ display: none;
1290
+ }
1291
+ .ez-effort-label {
1292
+ color: var(--ink-faint);
1293
+ font-size: 11px;
1294
+ font-weight: 600;
1295
+ line-height: 13px;
1296
+ white-space: nowrap;
1297
+ }
1298
+ .ez-effort-value {
1299
+ min-width: 11px;
1300
+ color: var(--ink-muted);
1301
+ font-size: 11px;
1302
+ font-weight: 600;
1303
+ line-height: 13px;
1304
+ white-space: nowrap;
1305
+ }
1306
+ .ez-effort-slider {
1307
+ --at: 0.5;
1308
+ --span: 45px;
1309
+ position: relative;
1310
+ width: 56px;
1311
+ height: 11px;
1312
+ flex-shrink: 0;
1313
+ }
1314
+ .ez-effort-track {
1315
+ position: absolute;
1316
+ top: 50%;
1317
+ left: 3px;
1318
+ width: calc(var(--span) + 5px);
1319
+ height: 4px;
1320
+ border-radius: 2px;
1321
+ background: #d8d3c8;
1322
+ transform: translateY(-50%);
1323
+ }
1324
+ .ez-effort-fill {
1325
+ position: absolute;
1326
+ inset: 0 auto 0 0;
1327
+ width: calc(2.5px + var(--span) * var(--at));
1328
+ border-radius: 2px 0 0 2px;
1329
+ background: var(--ink);
1330
+ }
1331
+ .ez-effort-thumb {
1332
+ position: absolute;
1333
+ top: 50%;
1334
+ left: calc(2.5px + var(--span) * var(--at));
1335
+ width: 11px;
1336
+ height: 11px;
1337
+ border-radius: 50%;
1338
+ background: #fff;
1339
+ box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.18);
1340
+ transform: translate(-50%, -50%);
1341
+ }
1342
+ .ez-effort-input {
1343
+ position: absolute;
1344
+ inset: 0;
1345
+ width: 100%;
1346
+ height: 100%;
1347
+ margin: 0;
1348
+ opacity: 0;
1349
+ cursor: pointer;
1350
+ }
1351
+ .ez-effort-input:disabled {
1352
+ cursor: default;
1353
+ }
1354
+ .ez-effort-slider:has(.ez-effort-input:disabled) {
1355
+ opacity: 0.5;
1356
+ }
1357
+ .ez-effort-slider:has(.ez-effort-input:focus-visible) .ez-effort-thumb {
1358
+ outline: 2px solid var(--ring, var(--ink));
1359
+ outline-offset: 1px;
1360
+ }
1361
+ .ez-switch {
1362
+ position: relative;
1363
+ flex-shrink: 0;
1364
+ width: 24px;
1365
+ height: 13px;
1366
+ margin-left: 2px;
1367
+ border-radius: 999px;
1368
+ background: #b6b1a5;
1369
+ transition: background-color 0.15s ease, box-shadow 0.15s ease;
1370
+ }
1371
+ .ez-switch::after {
1372
+ content: "";
1373
+ position: absolute;
1374
+ top: 2px;
1375
+ left: 2px;
1376
+ width: 9px;
1377
+ height: 9px;
1378
+ border-radius: 50%;
1379
+ background: #fff;
1380
+ box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1), 0 1px 1.5px rgba(0, 0, 0, 0.14);
1381
+ transition: transform 0.15s ease;
1382
+ }
1383
+ .ez-harness[aria-checked=true] .ez-switch {
1384
+ background: var(--ink);
1385
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
1386
+ }
1387
+ .ez-harness[aria-checked=true] .ez-switch::after {
1388
+ transform: translateX(11px);
1389
+ }
1390
+ @media (prefers-reduced-motion: reduce) {
1391
+ .ez-harness,
1392
+ .ez-switch,
1393
+ .ez-switch::after {
1394
+ transition: none;
1395
+ }
1396
+ }
1397
+ .ez-usage {
1398
+ position: relative;
1399
+ margin-left: auto;
1400
+ flex-shrink: 0;
1401
+ display: flex;
1402
+ }
1403
+ .ez-usage[hidden] {
1404
+ display: none;
1405
+ }
1406
+ .ez-limit {
1407
+ appearance: none;
1408
+ padding: 0;
1409
+ border: 0;
1410
+ background: none;
1411
+ cursor: pointer;
1412
+ color: var(--ink-faint);
1413
+ font: inherit;
1414
+ font-size: 11px;
1415
+ font-weight: 600;
1416
+ font-variant-numeric: tabular-nums;
1417
+ white-space: nowrap;
1418
+ transform: translateY(1px);
1419
+ transition: color 0.12s ease;
1420
+ }
1421
+ .ez-usage:hover .ez-limit,
1422
+ .ez-limit:focus-visible {
1423
+ color: var(--ink-muted);
1424
+ }
1425
+ .ez-usage-card {
1426
+ position: absolute;
1427
+ bottom: calc(100% + 8px);
1428
+ right: 0;
1429
+ z-index: 5;
1430
+ width: max-content;
1431
+ min-width: 208px;
1432
+ padding: 10px 12px 11px;
1433
+ border-radius: 10px;
1434
+ background: var(--panel);
1435
+ border: 1px solid var(--border);
1436
+ box-shadow: 0 12px 32px oklch(0% 0 0 / 0.12), 0 2px 8px oklch(0% 0 0 / 0.06);
1437
+ opacity: 0;
1438
+ visibility: hidden;
1439
+ transform: translateY(3px);
1440
+ transition:
1441
+ opacity 0.12s ease,
1442
+ transform 0.12s ease,
1443
+ visibility 0s linear 0.12s;
1444
+ }
1445
+ .ez-usage:hover .ez-usage-card,
1446
+ .ez-usage:focus-within .ez-usage-card {
1447
+ opacity: 1;
1448
+ visibility: visible;
1449
+ transform: translateY(0);
1450
+ transition:
1451
+ opacity 0.12s ease 0.22s,
1452
+ transform 0.12s ease 0.22s,
1453
+ visibility 0s linear 0.22s;
1454
+ }
1455
+ .ez-usage-head {
1456
+ display: flex;
1457
+ align-items: baseline;
1458
+ justify-content: space-between;
1459
+ gap: 12px;
1460
+ margin-bottom: 9px;
1461
+ }
1462
+ .ez-usage-title {
1463
+ font-size: 11px;
1464
+ font-weight: 500;
1465
+ color: var(--ink);
1466
+ }
1467
+ .ez-usage-plan {
1468
+ font-size: 10.5px;
1469
+ font-weight: 600;
1470
+ color: var(--ink-faint);
1471
+ }
1472
+ .ez-usage-row + .ez-usage-row {
1473
+ margin-top: 9px;
1474
+ }
1475
+ .ez-usage-line {
1476
+ display: flex;
1477
+ align-items: baseline;
1478
+ justify-content: space-between;
1479
+ gap: 16px;
1480
+ font-size: 11.5px;
1481
+ line-height: 1.4;
1482
+ }
1483
+ .ez-usage-label {
1484
+ color: var(--ink-muted);
1485
+ }
1486
+ .ez-usage-left {
1487
+ color: var(--ink);
1488
+ font-weight: 600;
1489
+ font-variant-numeric: tabular-nums;
1490
+ }
1491
+ .ez-usage-bar {
1492
+ margin-top: 5px;
1493
+ height: 4px;
1494
+ border-radius: 999px;
1495
+ background: var(--border);
1496
+ overflow: hidden;
1497
+ }
1498
+ .ez-usage-bar i {
1499
+ display: block;
1500
+ height: 100%;
1501
+ border-radius: inherit;
1502
+ background: var(--ink-muted);
1503
+ }
1504
+ .ez-usage-row[data-low] .ez-usage-bar i {
1505
+ background: var(--mark);
1506
+ }
1507
+ .ez-usage-row[data-low] .ez-usage-left {
1508
+ color: var(--mark);
1509
+ }
1510
+ .ez-usage-when {
1511
+ margin-top: 3px;
1512
+ font-size: 10.5px;
1513
+ color: var(--ink-faint);
1514
+ font-variant-numeric: tabular-nums;
1515
+ }
1516
+ @media (prefers-reduced-motion: reduce) {
1517
+ .ez-usage-card {
1518
+ transform: none;
1519
+ }
1520
+ }
1521
+ .ez-agent-name {
1522
+ overflow: hidden;
1523
+ text-overflow: ellipsis;
1524
+ white-space: nowrap;
1525
+ transform: translateY(1px);
1526
+ }
1527
+ .ez-config {
1528
+ display: flex;
1529
+ position: static;
1530
+ }
1531
+ .ez-agent-pill:disabled,
1532
+ .ez-config-pill:disabled {
1533
+ cursor: default;
1534
+ opacity: 0.5;
1535
+ }
1536
+ .ez-config-name {
1537
+ overflow: hidden;
1538
+ text-overflow: ellipsis;
1539
+ white-space: nowrap;
1540
+ transform: translateY(1px);
1541
+ }
1542
+ .ez-note {
1543
+ display: block;
1544
+ position: relative;
1545
+ min-height: 40px;
1546
+ max-height: 160px;
1547
+ overflow-y: auto;
1548
+ font-family: inherit;
1549
+ font-size: 13px;
1550
+ font-weight: 400;
1551
+ line-height: 1.5;
1552
+ color: var(--foreground);
1553
+ white-space: pre-wrap;
1554
+ word-break: break-word;
1555
+ outline: none;
1556
+ }
1557
+ .ez-note[data-empty]::before {
1558
+ content: attr(data-placeholder);
1559
+ position: absolute;
1560
+ inset: 0 0 auto 0;
1561
+ color: var(--ink-ghost);
1562
+ pointer-events: none;
1563
+ }
1564
+ .ez-attach-field:focus-within {
1565
+ border-color: var(--ring);
1566
+ outline: 3px solid var(--ring-halo);
1567
+ outline-offset: 0;
1568
+ }
1569
+ .ez-chip {
1570
+ display: inline-flex;
1571
+ align-items: center;
1572
+ gap: 3px;
1573
+ max-width: 180px;
1574
+ vertical-align: baseline;
1575
+ padding: 1px 6px;
1576
+ border-radius: 4px;
1577
+ background: var(--attach);
1578
+ font-size: 11px;
1579
+ font-weight: 500;
1580
+ line-height: 1.55;
1581
+ color: var(--attach-ink);
1582
+ white-space: nowrap;
1583
+ user-select: none;
1584
+ }
1585
+ .ez-chip-name {
1586
+ overflow: hidden;
1587
+ text-overflow: ellipsis;
1588
+ min-width: 0;
1589
+ }
1590
+ .ez-chip svg {
1591
+ flex-shrink: 0;
1592
+ }
1593
+ .ez-chip-ref {
1594
+ background: var(--ref);
1595
+ color: var(--ref-ink);
1596
+ }
1597
+ .ez-chip-ref.ez-chip-chosen svg {
1598
+ color: var(--explore-accent);
1599
+ }
1600
+ .ez-chip-skill {
1601
+ display: inline;
1602
+ max-width: none;
1603
+ padding: 0;
1604
+ border-radius: 0;
1605
+ background: none;
1606
+ color: var(--skill-ink);
1607
+ font-family:
1608
+ ui-monospace,
1609
+ SFMono-Regular,
1610
+ Menlo,
1611
+ monospace;
1612
+ font-size: 0.92em;
1613
+ font-weight: 400;
1614
+ }
1615
+ .ez-chip-pending {
1616
+ opacity: 0.55;
1617
+ }
1618
+ .ez-file-chips {
1619
+ display: flex;
1620
+ flex-wrap: wrap;
1621
+ gap: 4px;
1622
+ margin-top: 4px;
1623
+ }
1624
+ .ez-attach-error {
1625
+ margin-top: 4px;
1626
+ font-size: 11px;
1627
+ line-height: 1.5;
1628
+ color: oklch(52% 0.2 25);
1629
+ }
1630
+ .ez-slash-menu {
1631
+ position: fixed;
1632
+ z-index: 20;
1633
+ min-width: 240px;
1634
+ max-width: 300px;
1635
+ padding: 4px 4px 5px;
1636
+ border-radius: 10px;
1637
+ background: var(--panel);
1638
+ border: 1px solid var(--border);
1639
+ box-shadow: 0 12px 32px oklch(0% 0 0 / 0.12), 0 2px 8px oklch(0% 0 0 / 0.06);
1640
+ }
1641
+ .ez-slash-head {
1642
+ padding: 7px 10px 5px;
1643
+ font-size: 11px;
1644
+ font-weight: 500;
1645
+ line-height: 1.4;
1646
+ color: var(--ink-faint);
1647
+ }
1648
+ .ez-slash-item {
1649
+ display: flex;
1650
+ align-items: center;
1651
+ gap: 6px;
1652
+ padding: 6px 10px;
1653
+ border-radius: 6px;
1654
+ cursor: pointer;
1655
+ color: var(--foreground);
1656
+ }
1657
+ .ez-slash-item[data-active] {
1658
+ background: var(--muted);
1659
+ }
1660
+ .ez-slash-item svg {
1661
+ flex-shrink: 0;
1662
+ color: var(--ink-muted);
1663
+ }
1664
+ .ez-slash-label {
1665
+ font-size: 13px;
1666
+ line-height: 1;
1667
+ white-space: nowrap;
1668
+ }
1669
+ .ez-slash-hint {
1670
+ margin-left: auto;
1671
+ padding-left: 14px;
1672
+ min-width: 0;
1673
+ overflow: hidden;
1674
+ text-overflow: ellipsis;
1675
+ white-space: nowrap;
1676
+ font-size: 12px;
1677
+ color: var(--ink-faint);
1678
+ }
1679
+ .ez-acp-feed {
1680
+ width: 100%;
1681
+ display: flex;
1682
+ flex-direction: column;
1683
+ gap: 3px;
1684
+ font-size: 12px;
1685
+ min-width: 0;
1686
+ }
1687
+ .ez-acp-plan,
1688
+ .ez-acp-tool {
1689
+ display: flex;
1690
+ align-items: baseline;
1691
+ gap: 7px;
1692
+ color: var(--muted-foreground);
1693
+ min-width: 0;
1694
+ }
1695
+ .ez-acp-text {
1696
+ min-width: 0;
1697
+ overflow: hidden;
1698
+ text-overflow: ellipsis;
1699
+ white-space: nowrap;
1700
+ }
1701
+ .ez-acp-tick {
1702
+ flex: none;
1703
+ width: 10px;
1704
+ text-align: center;
1705
+ }
1706
+ .ez-acp-tick::before {
1707
+ content: "\25cb";
1708
+ color: var(--ink-ghost);
1709
+ font-size: 10px;
1710
+ }
1711
+ .ez-acp-plan-in_progress .ez-acp-tick::before {
1712
+ content: "\25d0";
1713
+ color: var(--ink-muted);
1714
+ }
1715
+ .ez-acp-plan-completed {
1716
+ color: var(--ink-ghost);
1717
+ }
1718
+ .ez-acp-plan-completed .ez-acp-tick::before {
1719
+ content: "\25cf";
1720
+ }
1721
+ .ez-acp-dot {
1722
+ flex: none;
1723
+ width: 12px;
1724
+ text-align: center;
1725
+ font-size: 10px;
1726
+ color: var(--ink-ghost);
1727
+ }
1728
+ .ez-acp-dot::before {
1729
+ content: "\2713";
1730
+ }
1731
+ .ez-acp-tool-pending .ez-acp-dot::before,
1732
+ .ez-acp-tool-in_progress .ez-acp-dot::before {
1733
+ content: "\25cf";
1734
+ font-size: 7px;
1735
+ color: var(--ink-muted);
1736
+ animation: ez-think 1.1s ease-in-out infinite;
1737
+ display: inline-block;
1738
+ }
1739
+ .ez-acp-tool-pending .ez-acp-text,
1740
+ .ez-acp-tool-in_progress .ez-acp-text {
1741
+ color: var(--foreground);
1742
+ }
1743
+ .ez-acp-tool-failed .ez-acp-dot {
1744
+ color: var(--mark);
1745
+ }
1746
+ .ez-acp-tool-failed .ez-acp-dot::before {
1747
+ content: "\2715";
1748
+ }
1749
+ .ez-acp-thought {
1750
+ color: var(--ink-faint);
1751
+ font-style: italic;
1752
+ overflow: hidden;
1753
+ display: -webkit-box;
1754
+ -webkit-line-clamp: 2;
1755
+ -webkit-box-orient: vertical;
1756
+ }
1757
+ .ez-acp-say {
1758
+ margin: 8px 0;
1759
+ }
1760
+ .ez-acp-say:first-child {
1761
+ margin-top: 0;
1762
+ }
1763
+ .ez-acp-say:last-child {
1764
+ margin-bottom: 0;
1765
+ }
1766
+ .ez-acp-feed:not(:empty) + .ez-thinking {
1767
+ margin-top: 12px;
1768
+ }
1769
+ .ez-md {
1770
+ font-size: 12.5px;
1771
+ line-height: 1.55;
1772
+ overflow-wrap: anywhere;
1773
+ min-width: 0;
1774
+ }
1775
+ .ez-md > :first-child {
1776
+ margin-top: 0;
1777
+ }
1778
+ .ez-md > :last-child {
1779
+ margin-bottom: 0;
1780
+ }
1781
+ .ez-md p {
1782
+ margin: 10px 0;
1783
+ }
1784
+ .ez-md h5,
1785
+ .ez-md h6 {
1786
+ margin: 12px 0 4px;
1787
+ font-size: 12.5px;
1788
+ font-weight: 650;
1789
+ }
1790
+ .ez-md ul,
1791
+ .ez-md ol {
1792
+ margin: 10px 0;
1793
+ padding-left: 20px;
1794
+ }
1795
+ .ez-md li {
1796
+ margin: 3px 0;
1797
+ }
1798
+ .ez-md strong {
1799
+ font-weight: 600;
1800
+ }
1801
+ .ez-md a {
1802
+ color: inherit;
1803
+ text-decoration: underline;
1804
+ text-underline-offset: 2px;
1805
+ }
1806
+ .ez-md-code {
1807
+ font-family:
1808
+ ui-monospace,
1809
+ SFMono-Regular,
1810
+ Menlo,
1811
+ monospace;
1812
+ font-size: 0.92em;
1813
+ color: var(--code-ink);
1814
+ background: var(--code-fill);
1815
+ padding: 1.5px 5px;
1816
+ border-radius: 4px;
1817
+ overflow-wrap: anywhere;
1818
+ }
1819
+ .ez-md-pre {
1820
+ font-family:
1821
+ ui-monospace,
1822
+ SFMono-Regular,
1823
+ Menlo,
1824
+ monospace;
1825
+ font-size: 11px;
1826
+ line-height: 1.5;
1827
+ background: var(--muted);
1828
+ border-radius: 6px;
1829
+ padding: 8px 10px;
1830
+ margin: 7px 0;
1831
+ overflow-x: auto;
1832
+ white-space: pre;
1833
+ }
1834
+ .ez-acp-ask {
1835
+ margin: 8px 0 2px;
1836
+ border: 1px solid var(--border);
1837
+ border-radius: var(--radius);
1838
+ background: var(--panel);
1839
+ padding: 10px 12px;
1840
+ }
1841
+ .ez-acp-ask-title {
1842
+ font-size: 12.5px;
1843
+ font-weight: 550;
1844
+ margin-bottom: 8px;
1845
+ white-space: pre-wrap;
1846
+ }
1847
+ .ez-acp-ask-options {
1848
+ display: flex;
1849
+ flex-wrap: wrap;
1850
+ gap: 6px;
1851
+ }
1852
+ .ez-acp-opt {
1853
+ border: 1px solid var(--border);
1854
+ border-radius: 6px;
1855
+ background: var(--muted);
1856
+ color: var(--foreground);
1857
+ font-size: 12px;
1858
+ padding: 5px 10px;
1859
+ cursor: pointer;
1860
+ }
1861
+ .ez-acp-opt:hover {
1862
+ border-color: var(--ink-ghost);
1863
+ }
1864
+ .ez-acp-opt:disabled {
1865
+ opacity: 0.45;
1866
+ cursor: default;
1867
+ }
1868
+ .ez-acp-opt-allow_once,
1869
+ .ez-acp-opt-allow_always {
1870
+ background: var(--primary);
1871
+ color: var(--primary-foreground);
1872
+ border-color: var(--primary);
1873
+ }
1874
+ .ez-acp-ask-q {
1875
+ font-size: 12px;
1876
+ color: var(--muted-foreground);
1877
+ margin: 8px 0 6px;
1878
+ }
1879
+ .ez-acp-opt {
1880
+ display: inline-flex;
1881
+ flex-direction: column;
1882
+ align-items: flex-start;
1883
+ gap: 1px;
1884
+ text-align: left;
1885
+ }
1886
+ .ez-acp-opt-desc {
1887
+ font-size: 11px;
1888
+ color: var(--muted-foreground);
1889
+ }
1890
+ .ez-acp-opt.ez-on {
1891
+ border-color: var(--ink);
1892
+ }
1893
+ .ez-acp-field {
1894
+ display: block;
1895
+ width: 100%;
1896
+ box-sizing: border-box;
1897
+ border: 1px solid var(--border);
1898
+ border-radius: 6px;
1899
+ background: var(--panel);
1900
+ color: var(--foreground);
1901
+ font-family: inherit;
1902
+ font-size: 12.5px;
1903
+ line-height: 1.45;
1904
+ padding: 6px 8px;
1905
+ resize: none;
1906
+ outline: none;
1907
+ }
1908
+ .ez-acp-field:focus {
1909
+ border-color: var(--ring);
1910
+ outline: 3px solid var(--ring-halo);
1911
+ outline-offset: 0;
1912
+ }
1913
+ .ez-acp-field:disabled {
1914
+ opacity: 0.45;
1915
+ }
1916
+ .ez-acp-field-number {
1917
+ width: 140px;
1918
+ }
1919
+ .ez-acp-group {
1920
+ display: flex;
1921
+ flex-direction: column;
1922
+ gap: 6px;
1923
+ }
1924
+ .ez-acp-ask [hidden] {
1925
+ display: none;
1926
+ }
1927
+ .ez-acp-ask-actions {
1928
+ display: flex;
1929
+ gap: 6px;
1930
+ justify-content: flex-end;
1931
+ margin-top: 10px;
1932
+ }
1933
+ .ez-acp-opt-primary {
1934
+ background: var(--primary);
1935
+ color: var(--primary-foreground);
1936
+ border-color: var(--primary);
1937
+ }
1938
+ .ez-acp-opt-primary:disabled {
1939
+ opacity: 0.35;
1940
+ }
1941
+ .ez-acp-turn {
1942
+ display: flex;
1943
+ flex-direction: column;
1944
+ width: 100%;
1945
+ min-width: 0;
1946
+ }
1947
+ .ez-notice {
1948
+ position: relative;
1949
+ padding: 12px 14px;
1950
+ border-top: 1px solid var(--border);
1951
+ background: var(--muted);
1952
+ font-size: 12.5px;
1953
+ line-height: 1.5;
1954
+ flex-shrink: 0;
1955
+ }
1956
+ .ez-notice[hidden] {
1957
+ display: none;
1958
+ }
1959
+ .ez-notice-title {
1960
+ font-weight: 600;
1961
+ font-size: 13px;
1962
+ padding-right: 22px;
1963
+ }
1964
+ .ez-resume .ez-notice-title {
1965
+ font-size: 11px;
1966
+ font-weight: 500;
1967
+ line-height: 1.4;
1968
+ color: var(--ink);
1969
+ }
1970
+ .ez-notice-x {
1971
+ position: absolute;
1972
+ top: 6px;
1973
+ right: 6px;
1974
+ display: inline-flex;
1975
+ align-items: center;
1976
+ justify-content: center;
1977
+ padding: 6px;
1978
+ border: none;
1979
+ background: none;
1980
+ color: var(--ink-ghost);
1981
+ cursor: pointer;
1982
+ }
1983
+ .ez-notice-x:hover {
1984
+ color: var(--foreground);
1985
+ }
1986
+ .ez-notice-body {
1987
+ margin-top: 4px;
1988
+ color: var(--muted-foreground);
1989
+ }
1990
+ .ez-notice-actions {
1991
+ display: flex;
1992
+ align-items: center;
1993
+ gap: 8px;
1994
+ margin-top: 10px;
1995
+ }
1996
+ .ez-notice-go {
1997
+ border: 1px solid var(--primary);
1998
+ background: var(--primary);
1999
+ color: var(--primary-foreground);
2000
+ font-family: inherit;
2001
+ font-size: 12px;
2002
+ font-weight: 600;
2003
+ padding: 5px 12px;
2004
+ border-radius: 6px;
2005
+ cursor: pointer;
2006
+ box-shadow: inset 0 1px 0 0 oklch(100% 0 0 / 0.14);
2007
+ }
2008
+ .ez-notice-go:hover {
2009
+ opacity: 0.88;
2010
+ }
2011
+ .ez-notice-no {
2012
+ border: none;
2013
+ background: none;
2014
+ color: var(--muted-foreground);
2015
+ font-family: inherit;
2016
+ font-size: 12px;
2017
+ font-weight: 600;
2018
+ padding: 5px 2px;
2019
+ cursor: pointer;
2020
+ }
2021
+ .ez-notice-no:hover {
2022
+ color: var(--foreground);
2023
+ }
2024
+ .ez-notice-skip {
2025
+ display: inline-flex;
2026
+ align-items: center;
2027
+ gap: 5px;
2028
+ margin-top: 9px;
2029
+ color: var(--muted-foreground);
2030
+ font-size: 11px;
2031
+ cursor: pointer;
2032
+ user-select: none;
2033
+ }
2034
+ .ez-notice-skip[hidden] {
2035
+ display: none;
2036
+ }
2037
+ .ez-notice-skip:hover {
2038
+ color: var(--foreground);
2039
+ }
2040
+ .ez-notice-skip input {
2041
+ margin: 0;
2042
+ width: 12px;
2043
+ height: 12px;
2044
+ accent-color: var(--primary);
2045
+ cursor: pointer;
2046
+ }
2047
+ .ez-notice-list {
2048
+ --notice-row: 20px;
2049
+ display: flex;
2050
+ flex-direction: column;
2051
+ max-height: calc(var(--notice-row) * 7);
2052
+ overflow-y: auto;
2053
+ margin-top: 10px;
2054
+ overscroll-behavior: contain;
2055
+ }
2056
+ .ez-notice-row {
2057
+ display: flex;
2058
+ align-items: baseline;
2059
+ gap: 5px;
2060
+ width: 100%;
2061
+ padding: 0;
2062
+ border: none;
2063
+ background: none;
2064
+ color: var(--ink-faint);
2065
+ font-family: inherit;
2066
+ font-size: 12px;
2067
+ line-height: var(--notice-row);
2068
+ text-align: left;
2069
+ cursor: pointer;
2070
+ }
2071
+ .ez-notice-row:focus-visible {
2072
+ outline: none;
2073
+ }
2074
+ .ez-notice-row[data-active] {
2075
+ color: var(--foreground);
2076
+ }
2077
+ .ez-notice-row svg {
2078
+ flex-shrink: 0;
2079
+ visibility: hidden;
2080
+ color: var(--ink-faint);
2081
+ transform: translateY(2px);
2082
+ }
2083
+ .ez-notice-row[data-active] svg {
2084
+ visibility: visible;
2085
+ }
2086
+ .ez-notice-row[data-current] .ez-notice-row-name {
2087
+ font-weight: 500;
2088
+ }
2089
+ .ez-notice-row-name {
2090
+ flex: 1;
2091
+ min-width: 0;
2092
+ overflow: hidden;
2093
+ text-overflow: ellipsis;
2094
+ white-space: nowrap;
2095
+ }
2096
+ .ez-notice-row-when {
2097
+ flex-shrink: 0;
2098
+ color: var(--ink-ghost);
2099
+ font-size: 11px;
2100
+ font-variant-numeric: tabular-nums;
2101
+ }
2102
+ .ez-notice-row[data-active] .ez-notice-row-when {
2103
+ color: var(--ink-faint);
2104
+ }
2105
+ .ez-strip[hidden] {
2106
+ display: none;
2107
+ }
2108
+ .ez-strip {
2109
+ position: absolute;
2110
+ left: 50%;
2111
+ bottom: 12px;
2112
+ transform: translateX(-50%);
2113
+ z-index: 3;
2114
+ display: flex;
2115
+ flex-direction: column;
2116
+ align-items: center;
2117
+ gap: 8px;
2118
+ max-width: calc(100% - 24px);
2119
+ }
2120
+ .ez-strip-pill {
2121
+ display: flex;
2122
+ align-items: center;
2123
+ gap: 8px;
2124
+ max-width: 100%;
2125
+ padding: 7px 8px 7px 12px;
2126
+ border-radius: 999px;
2127
+ background: var(--ink);
2128
+ box-shadow: 0 0 0 1px oklch(100% 0 0 / 0.25), 0 6px 20px oklch(0% 0 0 / 0.3);
2129
+ color: #fff;
2130
+ font-size: 12px;
2131
+ line-height: 1.5;
2132
+ }
2133
+ .ez-strip-pill > svg {
2134
+ flex-shrink: 0;
2135
+ color: var(--explore-on-ink);
2136
+ }
2137
+ .ez-strip-chips {
2138
+ display: flex;
2139
+ align-items: center;
2140
+ gap: 4px;
2141
+ min-width: 0;
2142
+ overflow-x: auto;
2143
+ scrollbar-width: none;
2144
+ }
2145
+ .ez-strip-chips::-webkit-scrollbar {
2146
+ display: none;
2147
+ }
2148
+ .ez-strip-chip {
2149
+ flex: 0 0 auto;
2150
+ border: 0;
2151
+ border-radius: 999px;
2152
+ background: oklch(100% 0 0 / 0.14);
2153
+ color: inherit;
2154
+ font: inherit;
2155
+ padding: 4px 11px;
2156
+ max-width: 18ch;
2157
+ overflow: hidden;
2158
+ text-overflow: ellipsis;
2159
+ white-space: nowrap;
2160
+ cursor: pointer;
2161
+ }
2162
+ .ez-strip-chip:hover {
2163
+ background: oklch(100% 0 0 / 0.24);
2164
+ }
2165
+ .ez-strip-chip.ez-on {
2166
+ background: #fff;
2167
+ color: var(--ink);
2168
+ }
2169
+ .ez-strip-pending {
2170
+ flex: 0 0 auto;
2171
+ padding: 0 4px;
2172
+ color: oklch(100% 0 0 / 0.62);
2173
+ }
2174
+ .ez-strip-actions {
2175
+ position: relative;
2176
+ display: flex;
2177
+ align-items: center;
2178
+ gap: 4px;
2179
+ flex: 0 0 auto;
2180
+ padding-left: 8px;
2181
+ border-left: 1px solid oklch(100% 0 0 / 0.18);
2182
+ }
2183
+ .ez-strip-ask {
2184
+ position: absolute;
2185
+ bottom: calc(100% + 10px);
2186
+ right: 0;
2187
+ z-index: 6;
2188
+ width: 250px;
2189
+ display: flex;
2190
+ flex-direction: column;
2191
+ gap: 9px;
2192
+ padding: 11px 12px;
2193
+ border: 0;
2194
+ border-radius: 12px;
2195
+ background: var(--ink);
2196
+ color: #fff;
2197
+ box-shadow: 0 0 0 1px oklch(100% 0 0 / 0.25), 0 14px 34px oklch(0% 0 0 / 0.38);
2198
+ font-size: 12px;
2199
+ line-height: 1.6;
2200
+ text-align: left;
2201
+ white-space: normal;
2202
+ transform-origin: bottom right;
2203
+ animation: ez-menu-in var(--t-menu) var(--ease-out) both;
2204
+ }
2205
+ .ez-strip-ask-actions {
2206
+ display: flex;
2207
+ align-items: center;
2208
+ gap: 6px;
2209
+ }
2210
+ .ez-strip-ask-go,
2211
+ .ez-strip-ask-no {
2212
+ border: 0;
2213
+ border-radius: 6px;
2214
+ font-family: inherit;
2215
+ font-size: 11.5px;
2216
+ line-height: 1.5;
2217
+ padding: 5px 11px;
2218
+ white-space: nowrap;
2219
+ cursor: pointer;
2220
+ }
2221
+ .ez-strip-ask-go {
2222
+ background: #fff;
2223
+ color: var(--ink);
2224
+ }
2225
+ .ez-strip-ask-no {
2226
+ background: oklch(100% 0 0 / 0.14);
2227
+ color: inherit;
2228
+ }
2229
+ .ez-strip-ask-no:hover {
2230
+ background: oklch(100% 0 0 / 0.24);
2231
+ }
2232
+ .ez-strip-ask-go:focus-visible,
2233
+ .ez-strip-ask-no:focus-visible {
2234
+ outline: 2px solid oklch(100% 0 0 / 0.7);
2235
+ outline-offset: 1px;
2236
+ }
2237
+ .ez-strip-ask-skip {
2238
+ display: flex;
2239
+ align-items: center;
2240
+ gap: 6px;
2241
+ color: oklch(100% 0 0 / 0.62);
2242
+ font-size: 11px;
2243
+ cursor: pointer;
2244
+ }
2245
+ .ez-strip-ask-skip input {
2246
+ accent-color: #fff;
2247
+ margin: 0;
2248
+ cursor: pointer;
2249
+ }
2250
+ .ez-strip-action {
2251
+ border: 0;
2252
+ border-radius: 999px;
2253
+ background: oklch(100% 0 0 / 0.14);
2254
+ color: inherit;
2255
+ font: inherit;
2256
+ font-size: 11.5px;
2257
+ padding: 3px 9px;
2258
+ white-space: nowrap;
2259
+ cursor: pointer;
2260
+ }
2261
+ .ez-strip-action:hover:not(:disabled) {
2262
+ background: oklch(100% 0 0 / 0.24);
2263
+ }
2264
+ .ez-strip-action:disabled {
2265
+ opacity: 0.45;
2266
+ cursor: default;
2267
+ }
2268
+ .ez-strip-chip:focus-visible,
2269
+ .ez-strip-action:focus-visible {
2270
+ outline: 2px solid oklch(100% 0 0 / 0.7);
2271
+ outline-offset: 1px;
2272
+ }
2273
+ .ez-fork-bar {
2274
+ position: relative;
2275
+ z-index: 1;
2276
+ display: flex;
2277
+ align-items: center;
2278
+ gap: 5px;
2279
+ min-width: 0;
2280
+ padding: 7px 0 7px;
2281
+ margin-inline: -14px;
2282
+ padding-inline: 14px;
2283
+ border-bottom: 1px solid var(--border);
2284
+ font-size: 12px;
2285
+ line-height: 1.5;
2286
+ animation: ez-fork-in var(--t-pop) var(--ease-out) both;
2287
+ }
2288
+ .ez-fork-bar[hidden] {
2289
+ display: none;
2290
+ }
2291
+ @keyframes ez-fork-in {
2292
+ from {
2293
+ opacity: 0;
2294
+ transform: translateY(-3px);
2295
+ }
2296
+ }
2297
+ .ez-fork-root {
2298
+ color: var(--muted-foreground);
2299
+ }
2300
+ .ez-fork-sep {
2301
+ display: inline-flex;
2302
+ align-items: center;
2303
+ color: var(--ink-ghost);
2304
+ }
2305
+ .ez-fork-root {
2306
+ flex-shrink: 0;
2307
+ border: none;
2308
+ background: none;
2309
+ padding: 0;
2310
+ font-family: inherit;
2311
+ font-size: inherit;
2312
+ line-height: inherit;
2313
+ cursor: pointer;
2314
+ }
2315
+ .ez-fork-root:hover {
2316
+ color: var(--foreground);
2317
+ }
2318
+ .ez-fork-sep {
2319
+ flex-shrink: 0;
2320
+ user-select: none;
2321
+ }
2322
+ .ez-fork-here {
2323
+ display: inline-flex;
2324
+ align-items: center;
2325
+ gap: 5px;
2326
+ min-width: 0;
2327
+ border: none;
2328
+ background: none;
2329
+ padding: 0;
2330
+ color: var(--foreground);
2331
+ font-family: inherit;
2332
+ font-size: inherit;
2333
+ line-height: inherit;
2334
+ font-weight: 500;
2335
+ color: var(--explore-ink);
2336
+ cursor: pointer;
2337
+ }
2338
+ .ez-fork-here:hover,
2339
+ .ez-fork-here[aria-expanded=true] {
2340
+ color: color-mix(in oklab, var(--explore-ink) 80%, var(--paper));
2341
+ }
2342
+ .ez-fork-here:hover svg,
2343
+ .ez-fork-here[aria-expanded=true] svg {
2344
+ color: color-mix(in oklab, var(--explore-accent) 80%, var(--paper));
2345
+ }
2346
+ .ez-fork-here:disabled {
2347
+ cursor: default;
2348
+ }
2349
+ .ez-fork-here:disabled:hover {
2350
+ color: var(--explore-ink);
2351
+ }
2352
+ .ez-fork-here:disabled:hover svg {
2353
+ color: var(--explore-accent);
2354
+ }
2355
+ .ez-fork-here svg {
2356
+ flex-shrink: 0;
2357
+ color: var(--explore-accent);
2358
+ }
2359
+ .ez-fork-name {
2360
+ overflow: hidden;
2361
+ text-overflow: ellipsis;
2362
+ white-space: nowrap;
2363
+ }
2364
+ .ez-fork-menu,
2365
+ .ez-fork-more-menu {
2366
+ position: absolute;
2367
+ top: calc(100% - 2px);
2368
+ z-index: 5;
2369
+ display: flex;
2370
+ min-width: 170px;
2371
+ max-width: min(100%, 280px);
2372
+ animation: ez-menu-in var(--t-menu) var(--ease-out) both;
2373
+ --notice-row: 22px;
2374
+ padding: 7px 4px;
2375
+ gap: 0;
2376
+ max-height: calc(var(--notice-row) * 7);
2377
+ overflow-y: auto;
2378
+ overscroll-behavior: contain;
2379
+ }
2380
+ .ez-fork-menu {
2381
+ left: 14px;
2382
+ right: auto;
2383
+ transform-origin: top left;
2384
+ }
2385
+ .ez-fork-more-menu {
2386
+ left: auto;
2387
+ right: 14px;
2388
+ transform-origin: top right;
2389
+ }
2390
+ .ez-fork-menu[hidden],
2391
+ .ez-fork-more-menu[hidden] {
2392
+ display: none;
2393
+ }
2394
+ @keyframes ez-menu-in {
2395
+ from {
2396
+ opacity: 0;
2397
+ transform: scale(0.96);
2398
+ }
2399
+ }
2400
+ .ez-fork-row {
2401
+ border-radius: 5px;
2402
+ }
2403
+ .ez-fork-row {
2404
+ padding: 0 6px;
2405
+ }
2406
+ .ez-fork-row .ez-notice-row-name {
2407
+ flex: 0 0 auto;
2408
+ }
2409
+ .ez-fork-row .ez-notice-row-when {
2410
+ flex: 1 1 auto;
2411
+ min-width: 0;
2412
+ overflow: hidden;
2413
+ text-overflow: ellipsis;
2414
+ white-space: nowrap;
2415
+ }
2416
+ .ez-fork-more {
2417
+ display: inline-flex;
2418
+ align-items: center;
2419
+ gap: 3px;
2420
+ flex-shrink: 0;
2421
+ margin-left: auto;
2422
+ border: none;
2423
+ background: none;
2424
+ padding: 0;
2425
+ color: var(--muted-foreground);
2426
+ font-family: inherit;
2427
+ font-size: inherit;
2428
+ line-height: inherit;
2429
+ white-space: nowrap;
2430
+ cursor: pointer;
2431
+ }
2432
+ .ez-fork-more:hover,
2433
+ .ez-fork-more[aria-expanded=true] {
2434
+ color: var(--foreground);
2435
+ }
2436
+ .ez-fork-more svg {
2437
+ color: var(--ink-ghost);
2438
+ }
2439
+ .ez-fork-root:disabled {
2440
+ color: var(--foreground);
2441
+ font-weight: 500;
2442
+ cursor: default;
2443
+ }
2444
+ .ez-fork-sep[hidden],
2445
+ .ez-fork-here[hidden],
2446
+ .ez-fork-more[hidden] {
2447
+ display: none;
2448
+ }
2449
+ .ez-conv-scroll[data-enter=deeper] {
2450
+ animation: ez-push-in var(--t-view) var(--ease-out) both;
2451
+ }
2452
+ .ez-conv-scroll[data-enter=back] {
2453
+ animation: ez-push-out var(--t-view) var(--ease-out) both;
2454
+ }
2455
+ .ez-conv-scroll[data-enter=swap] {
2456
+ animation: ez-fade-in var(--t-view) var(--ease-out) both;
2457
+ }
2458
+ @keyframes ez-push-in {
2459
+ from {
2460
+ opacity: 0;
2461
+ transform: translateX(14px);
2462
+ }
2463
+ }
2464
+ @keyframes ez-push-out {
2465
+ from {
2466
+ opacity: 0;
2467
+ transform: translateX(-14px);
2468
+ }
2469
+ }
2470
+ @keyframes ez-fade-in {
2471
+ from {
2472
+ opacity: 0;
2473
+ }
2474
+ }
2475
+ @media (prefers-reduced-motion: reduce) {
2476
+ .ez-fork-bar,
2477
+ .ez-fork-menu,
2478
+ .ez-conv-scroll[data-enter] {
2479
+ animation-name: ez-fade-in;
2480
+ animation-duration: var(--t-pop);
2481
+ }
2482
+ }