@co0ontty/wand 1.29.3 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/process-manager.js +5 -2
- package/dist/server.js +4 -0
- package/dist/structured-session-manager.js +132 -24
- package/dist/types.d.ts +19 -0
- package/dist/web-ui/content/scripts.js +719 -137
- package/dist/web-ui/content/styles.css +860 -262
- package/dist/web-ui/content/vendor/wterm/wterm.bundle.js +1 -1
- package/dist/web-ui/index.js +33 -3
- package/package.json +1 -1
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
.sidebar.pinned.collapsed .sidebar-header-main,
|
|
532
532
|
.sidebar.pinned.collapsed .sidebar-header-more,
|
|
533
533
|
.sidebar.pinned.collapsed .sidebar-pin-toggle,
|
|
534
|
-
.sidebar.pinned.collapsed .sidebar-
|
|
534
|
+
.sidebar.pinned.collapsed .sidebar-footer {
|
|
535
535
|
display: none;
|
|
536
536
|
}
|
|
537
537
|
.sidebar.pinned.collapsed .sidebar-header-actions {
|
|
@@ -539,26 +539,136 @@
|
|
|
539
539
|
width: 100%;
|
|
540
540
|
justify-content: center;
|
|
541
541
|
}
|
|
542
|
-
.sidebar.pinned.collapsed .sidebar-
|
|
543
|
-
padding:
|
|
542
|
+
.sidebar.pinned.collapsed .sidebar-body {
|
|
543
|
+
padding: 8px 4px;
|
|
544
|
+
overflow-y: auto;
|
|
545
|
+
overflow-x: hidden;
|
|
544
546
|
}
|
|
545
|
-
.sidebar.pinned.collapsed
|
|
546
|
-
|
|
547
|
+
.sidebar.pinned.collapsed .sidebar-body::-webkit-scrollbar {
|
|
548
|
+
width: 0;
|
|
547
549
|
}
|
|
548
|
-
.sidebar
|
|
550
|
+
.sidebar-collapsed-tiles {
|
|
551
|
+
display: flex;
|
|
549
552
|
flex-direction: column;
|
|
550
|
-
gap:
|
|
551
|
-
align-items:
|
|
553
|
+
gap: 8px;
|
|
554
|
+
align-items: center;
|
|
552
555
|
}
|
|
553
|
-
.sidebar
|
|
554
|
-
width:
|
|
555
|
-
|
|
556
|
-
|
|
556
|
+
.sidebar-collapsed-tile {
|
|
557
|
+
width: 36px;
|
|
558
|
+
height: 36px;
|
|
559
|
+
border-radius: 11px;
|
|
560
|
+
border: 0.5px solid rgba(255, 255, 255, 0.32);
|
|
561
|
+
background: linear-gradient(145deg, #d4785a 0%, #b8573a 50%, #a04a2e 100%);
|
|
562
|
+
color: #fff;
|
|
563
|
+
font-size: 14px;
|
|
564
|
+
font-weight: 700;
|
|
565
|
+
font-variant-numeric: tabular-nums;
|
|
566
|
+
letter-spacing: -0.01em;
|
|
567
|
+
cursor: pointer;
|
|
568
|
+
display: inline-flex;
|
|
569
|
+
align-items: center;
|
|
557
570
|
justify-content: center;
|
|
571
|
+
padding: 0;
|
|
572
|
+
box-shadow:
|
|
573
|
+
0 1px 3px rgba(184, 92, 55, 0.28),
|
|
574
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.28),
|
|
575
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.08);
|
|
576
|
+
transition:
|
|
577
|
+
filter var(--transition-fast),
|
|
578
|
+
box-shadow 0.22s ease,
|
|
579
|
+
transform 0.22s var(--ease-out-expo);
|
|
558
580
|
}
|
|
559
|
-
.sidebar
|
|
560
|
-
|
|
561
|
-
|
|
581
|
+
.sidebar-collapsed-tile:hover {
|
|
582
|
+
filter: brightness(1.06);
|
|
583
|
+
transform: translateY(-1px);
|
|
584
|
+
box-shadow:
|
|
585
|
+
0 4px 12px -2px rgba(184, 92, 55, 0.42),
|
|
586
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.35),
|
|
587
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.08);
|
|
588
|
+
}
|
|
589
|
+
/* History tile — softer cream tone to distinguish from active sessions */
|
|
590
|
+
.sidebar-collapsed-tile.history {
|
|
591
|
+
background: linear-gradient(145deg, #e8d3c0 0%, #d3b69d 50%, #b89478 100%);
|
|
592
|
+
color: rgba(89, 58, 32, 0.88);
|
|
593
|
+
box-shadow:
|
|
594
|
+
0 1px 3px rgba(120, 88, 56, 0.22),
|
|
595
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.45),
|
|
596
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.06);
|
|
597
|
+
}
|
|
598
|
+
.sidebar-collapsed-tile.history:hover {
|
|
599
|
+
box-shadow:
|
|
600
|
+
0 4px 12px -2px rgba(120, 88, 56, 0.34),
|
|
601
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
602
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.06);
|
|
603
|
+
}
|
|
604
|
+
/* Active — liquid glass crown: outer ring + warm halo + crisp top sheen */
|
|
605
|
+
.sidebar-collapsed-tile.active {
|
|
606
|
+
background: linear-gradient(145deg, #d27358 0%, #b35434 50%, #934128 100%);
|
|
607
|
+
transform: translateY(-1px);
|
|
608
|
+
box-shadow:
|
|
609
|
+
/* outer glow halo */
|
|
610
|
+
0 0 0 1px rgba(255, 255, 255, 0.7),
|
|
611
|
+
0 0 0 3px rgba(197, 101, 61, 0.32),
|
|
612
|
+
0 8px 22px -4px rgba(160, 74, 46, 0.55),
|
|
613
|
+
0 3px 8px -2px rgba(160, 74, 46, 0.32),
|
|
614
|
+
/* top sheen */
|
|
615
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.45),
|
|
616
|
+
inset 1px 0 0 rgba(255, 255, 255, 0.18),
|
|
617
|
+
/* bottom depth */
|
|
618
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.16);
|
|
619
|
+
}
|
|
620
|
+
.sidebar-collapsed-tile:active {
|
|
621
|
+
transform: translateY(0) scale(0.94);
|
|
622
|
+
transition-duration: 0.08s;
|
|
623
|
+
}
|
|
624
|
+
.sidebar-collapsed-empty {
|
|
625
|
+
color: var(--text-muted, rgba(89, 58, 32, 0.45));
|
|
626
|
+
text-align: center;
|
|
627
|
+
font-size: 16px;
|
|
628
|
+
padding: 12px 0;
|
|
629
|
+
user-select: none;
|
|
630
|
+
}
|
|
631
|
+
/* Hover tooltip bubble for narrow tiles — chat-bubble look */
|
|
632
|
+
.sidebar-tile-bubble {
|
|
633
|
+
position: fixed;
|
|
634
|
+
max-width: 320px;
|
|
635
|
+
min-width: 80px;
|
|
636
|
+
padding: 9px 13px;
|
|
637
|
+
background: linear-gradient(145deg, rgba(255, 251, 245, 0.99) 0%, rgba(252, 244, 233, 0.99) 100%);
|
|
638
|
+
border: 1px solid var(--border-subtle, rgba(120, 88, 56, 0.18));
|
|
639
|
+
border-radius: 14px;
|
|
640
|
+
box-shadow:
|
|
641
|
+
0 6px 24px -4px rgba(89, 58, 32, 0.22),
|
|
642
|
+
0 2px 6px rgba(89, 58, 32, 0.08),
|
|
643
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.65);
|
|
644
|
+
font-size: 13px;
|
|
645
|
+
line-height: 1.46;
|
|
646
|
+
color: rgba(56, 36, 18, 0.92);
|
|
647
|
+
z-index: 200;
|
|
648
|
+
pointer-events: none;
|
|
649
|
+
opacity: 0;
|
|
650
|
+
transform: translateX(-4px);
|
|
651
|
+
transition: opacity 0.16s ease, transform 0.18s var(--ease-out-expo, ease);
|
|
652
|
+
white-space: pre-wrap;
|
|
653
|
+
word-break: break-word;
|
|
654
|
+
backdrop-filter: blur(12px) saturate(160%);
|
|
655
|
+
}
|
|
656
|
+
.sidebar-tile-bubble.visible {
|
|
657
|
+
opacity: 1;
|
|
658
|
+
transform: translateX(0);
|
|
659
|
+
}
|
|
660
|
+
.sidebar-tile-bubble::before {
|
|
661
|
+
content: '';
|
|
662
|
+
position: absolute;
|
|
663
|
+
left: -6px;
|
|
664
|
+
top: var(--bubble-tail-y, 50%);
|
|
665
|
+
transform: translateY(-50%) rotate(45deg);
|
|
666
|
+
width: 11px;
|
|
667
|
+
height: 11px;
|
|
668
|
+
background: inherit;
|
|
669
|
+
border-left: 1px solid var(--border-subtle, rgba(120, 88, 56, 0.18));
|
|
670
|
+
border-bottom: 1px solid var(--border-subtle, rgba(120, 88, 56, 0.18));
|
|
671
|
+
box-shadow: -2px 2px 5px -2px rgba(89, 58, 32, 0.08);
|
|
562
672
|
}
|
|
563
673
|
.sidebar-collapse-toggle {
|
|
564
674
|
flex-shrink: 0;
|
|
@@ -567,8 +677,13 @@
|
|
|
567
677
|
.sidebar-collapse-toggle.collapsed {
|
|
568
678
|
color: var(--primary);
|
|
569
679
|
}
|
|
570
|
-
|
|
680
|
+
/* 完全关闭侧栏 — 仅在 pinned 展开态可见(drawer 自带 X;窄条态保持极简) */
|
|
681
|
+
.sidebar .sidebar-header-actions .btn.sidebar-close-fully {
|
|
571
682
|
display: none;
|
|
683
|
+
flex-shrink: 0;
|
|
684
|
+
}
|
|
685
|
+
.sidebar.pinned:not(.collapsed) .sidebar-header-actions .btn.sidebar-close-fully {
|
|
686
|
+
display: inline-flex;
|
|
572
687
|
}
|
|
573
688
|
|
|
574
689
|
/* ===== 图钉按钮 ===== */
|
|
@@ -744,8 +859,19 @@
|
|
|
744
859
|
text-overflow: ellipsis;
|
|
745
860
|
}
|
|
746
861
|
|
|
747
|
-
.tree-item:hover {
|
|
748
|
-
|
|
862
|
+
.tree-item:hover {
|
|
863
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 252, 247, 0.4) 100%);
|
|
864
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
865
|
+
}
|
|
866
|
+
.tree-item.active {
|
|
867
|
+
background:
|
|
868
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.92) 0%, rgba(255, 244, 232, 0.75) 100%);
|
|
869
|
+
color: var(--accent);
|
|
870
|
+
box-shadow:
|
|
871
|
+
0 0 0 1px rgba(197, 101, 61, 0.22),
|
|
872
|
+
0 3px 10px -3px rgba(197, 101, 61, 0.25),
|
|
873
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.85);
|
|
874
|
+
}
|
|
749
875
|
|
|
750
876
|
.tree-toggle {
|
|
751
877
|
flex-shrink: 0;
|
|
@@ -2850,11 +2976,12 @@
|
|
|
2850
2976
|
--term-cursor: #d67b52;
|
|
2851
2977
|
--term-font-family: "Geist Mono", "SF Mono", monospace;
|
|
2852
2978
|
--term-font-size: 13px;
|
|
2853
|
-
/*
|
|
2854
|
-
*
|
|
2855
|
-
*
|
|
2856
|
-
*
|
|
2857
|
-
|
|
2979
|
+
/* 行高直接锁到 --term-row-height(px 值),杜绝 unitless × fontPx 的
|
|
2980
|
+
* 亚像素重算。否则 fontPx 与 rowPx 不成整数比时,浏览器把行内文字算
|
|
2981
|
+
* 出比 row 容器更高(如 13×1.54=20.02px 装进 20px row),相邻行视觉
|
|
2982
|
+
* 互相覆盖几像素;applyTerminalScale 后的非默认字号下尤其明显。
|
|
2983
|
+
* px 路径让 line-height 与 row 高保持单一真相源。 */
|
|
2984
|
+
--term-line-height: var(--term-row-height);
|
|
2858
2985
|
--term-row-height: 20px;
|
|
2859
2986
|
--term-color-0: #1f1b17;
|
|
2860
2987
|
--term-color-1: #d27766;
|
|
@@ -3461,6 +3588,10 @@
|
|
|
3461
3588
|
color: var(--accent);
|
|
3462
3589
|
font-weight: 600;
|
|
3463
3590
|
}
|
|
3591
|
+
.shortcut-key[data-key="shift_tab"] {
|
|
3592
|
+
color: #6a6bb0;
|
|
3593
|
+
font-weight: 600;
|
|
3594
|
+
}
|
|
3464
3595
|
|
|
3465
3596
|
/* Mobile keyboard overlap compensation */
|
|
3466
3597
|
@media (max-width: 640px) {
|
|
@@ -3972,8 +4103,66 @@
|
|
|
3972
4103
|
.chat-message-content > .inline-tool,
|
|
3973
4104
|
.chat-message-content > .terminal-tool,
|
|
3974
4105
|
.chat-message-content > .diff-tool,
|
|
3975
|
-
.chat-message-content > .tool-use-card
|
|
3976
|
-
|
|
4106
|
+
.chat-message-content > .tool-use-card,
|
|
4107
|
+
.chat-message-content > .tool-group {
|
|
4108
|
+
margin: 3px 0;
|
|
4109
|
+
}
|
|
4110
|
+
|
|
4111
|
+
/* ===== 多角色群聊(subagent 加入对话) ===== */
|
|
4112
|
+
/* 一个 assistant turn 内有 subagent 时,根容器切到 multi-agent 模式,
|
|
4113
|
+
内部多个 .chat-message-segment 子段堆叠,每段自带头像与气泡。 */
|
|
4114
|
+
.chat-message.multi-agent {
|
|
4115
|
+
display: flex;
|
|
4116
|
+
flex-direction: column;
|
|
4117
|
+
gap: 6px;
|
|
4118
|
+
max-width: 95%;
|
|
4119
|
+
}
|
|
4120
|
+
.chat-message.multi-agent .chat-message-segment {
|
|
4121
|
+
display: flex;
|
|
4122
|
+
flex-direction: column;
|
|
4123
|
+
}
|
|
4124
|
+
.chat-message.multi-agent .chat-message-segment.subagent {
|
|
4125
|
+
padding-left: 14px;
|
|
4126
|
+
margin-left: 6px;
|
|
4127
|
+
border-left: 2px solid var(--agent-color, var(--border-subtle));
|
|
4128
|
+
border-radius: 0 4px 4px 0;
|
|
4129
|
+
}
|
|
4130
|
+
.chat-message.multi-agent .chat-message-segment.subagent .chat-message-content {
|
|
4131
|
+
/* 子 agent 段内的气泡稍微弱化背景,区分主线 */
|
|
4132
|
+
opacity: 0.96;
|
|
4133
|
+
}
|
|
4134
|
+
.chat-message.multi-agent .chat-message-segment .chat-message-avatar {
|
|
4135
|
+
padding-bottom: 4px;
|
|
4136
|
+
}
|
|
4137
|
+
/* 子 agent 头像 name 跟随 agent 主色 */
|
|
4138
|
+
.chat-message-avatar.subagent .avatar-name {
|
|
4139
|
+
color: var(--agent-color, var(--accent));
|
|
4140
|
+
}
|
|
4141
|
+
|
|
4142
|
+
/* "勤劳初二 ↳ 让 侦探猫 帮忙" 分隔提示 */
|
|
4143
|
+
.chat-handoff {
|
|
4144
|
+
align-self: flex-start;
|
|
4145
|
+
margin: 4px 0 2px 4px;
|
|
4146
|
+
padding: 2px 10px;
|
|
4147
|
+
font-size: 0.7rem;
|
|
4148
|
+
color: var(--text-tertiary);
|
|
4149
|
+
background: color-mix(in srgb, var(--agent-color, var(--accent)) 8%, transparent);
|
|
4150
|
+
border-left: 2px solid var(--agent-color, var(--accent));
|
|
4151
|
+
border-radius: 0 8px 8px 0;
|
|
4152
|
+
line-height: 1.5;
|
|
4153
|
+
}
|
|
4154
|
+
.chat-handoff strong {
|
|
4155
|
+
color: var(--agent-color, var(--accent));
|
|
4156
|
+
font-weight: 600;
|
|
4157
|
+
}
|
|
4158
|
+
.chat-handoff-arrow {
|
|
4159
|
+
color: var(--agent-color, var(--accent));
|
|
4160
|
+
font-weight: 600;
|
|
4161
|
+
margin-right: 2px;
|
|
4162
|
+
}
|
|
4163
|
+
.chat-handoff-desc {
|
|
4164
|
+
color: var(--text-secondary);
|
|
4165
|
+
font-style: italic;
|
|
3977
4166
|
}
|
|
3978
4167
|
|
|
3979
4168
|
/* ===== 消息使用量信息 ===== */
|
|
@@ -3982,13 +4171,98 @@
|
|
|
3982
4171
|
padding-top: 6px;
|
|
3983
4172
|
border-top: 1px solid var(--border-subtle);
|
|
3984
4173
|
font-family: var(--font-mono);
|
|
3985
|
-
font-size: 0.
|
|
4174
|
+
font-size: 0.65rem;
|
|
3986
4175
|
color: var(--text-muted);
|
|
3987
4176
|
display: flex;
|
|
3988
4177
|
gap: 10px;
|
|
3989
4178
|
align-items: center;
|
|
3990
4179
|
flex-wrap: wrap;
|
|
3991
|
-
opacity: 0.
|
|
4180
|
+
opacity: 0.75;
|
|
4181
|
+
}
|
|
4182
|
+
|
|
4183
|
+
/* ===== 空消息占位 / 未识别 block / 截断提示 ===== */
|
|
4184
|
+
.empty-message .empty-message-hint {
|
|
4185
|
+
color: var(--text-tertiary);
|
|
4186
|
+
font-style: italic;
|
|
4187
|
+
font-size: 0.8125rem;
|
|
4188
|
+
opacity: 0.7;
|
|
4189
|
+
}
|
|
4190
|
+
|
|
4191
|
+
.unknown-block {
|
|
4192
|
+
margin: 4px 0;
|
|
4193
|
+
border: 1px dashed var(--border-subtle);
|
|
4194
|
+
border-radius: var(--radius-md);
|
|
4195
|
+
background: color-mix(in srgb, var(--text-muted) 6%, transparent);
|
|
4196
|
+
font-size: 0.75rem;
|
|
4197
|
+
cursor: pointer;
|
|
4198
|
+
transition: background var(--transition-fast);
|
|
4199
|
+
}
|
|
4200
|
+
.unknown-block:hover {
|
|
4201
|
+
background: color-mix(in srgb, var(--text-muted) 10%, transparent);
|
|
4202
|
+
}
|
|
4203
|
+
.unknown-block-header {
|
|
4204
|
+
display: flex;
|
|
4205
|
+
align-items: center;
|
|
4206
|
+
gap: 8px;
|
|
4207
|
+
padding: 6px 10px;
|
|
4208
|
+
color: var(--text-secondary);
|
|
4209
|
+
}
|
|
4210
|
+
.unknown-block-icon {
|
|
4211
|
+
display: inline-flex;
|
|
4212
|
+
align-items: center;
|
|
4213
|
+
justify-content: center;
|
|
4214
|
+
width: 18px;
|
|
4215
|
+
height: 18px;
|
|
4216
|
+
border-radius: 50%;
|
|
4217
|
+
background: var(--text-muted);
|
|
4218
|
+
color: var(--bg-surface);
|
|
4219
|
+
font-size: 0.7rem;
|
|
4220
|
+
font-weight: 600;
|
|
4221
|
+
}
|
|
4222
|
+
.unknown-block-label {
|
|
4223
|
+
flex: 1;
|
|
4224
|
+
font-weight: 500;
|
|
4225
|
+
}
|
|
4226
|
+
.unknown-block-toggle {
|
|
4227
|
+
color: var(--text-tertiary);
|
|
4228
|
+
font-size: 0.7rem;
|
|
4229
|
+
transition: transform var(--transition-fast);
|
|
4230
|
+
}
|
|
4231
|
+
.unknown-block.collapsed .unknown-block-toggle {
|
|
4232
|
+
transform: rotate(-90deg);
|
|
4233
|
+
}
|
|
4234
|
+
.unknown-block-body {
|
|
4235
|
+
margin: 0;
|
|
4236
|
+
padding: 8px 10px 10px;
|
|
4237
|
+
font-family: var(--font-mono);
|
|
4238
|
+
font-size: 0.7rem;
|
|
4239
|
+
color: var(--text-secondary);
|
|
4240
|
+
white-space: pre-wrap;
|
|
4241
|
+
word-break: break-all;
|
|
4242
|
+
max-height: 240px;
|
|
4243
|
+
overflow-y: auto;
|
|
4244
|
+
border-top: 1px dashed var(--border-subtle);
|
|
4245
|
+
}
|
|
4246
|
+
.unknown-block.collapsed .unknown-block-body {
|
|
4247
|
+
display: none;
|
|
4248
|
+
}
|
|
4249
|
+
|
|
4250
|
+
/* tool-use 卡片 / inline-tool / terminal 内容被截断时的提示标签 */
|
|
4251
|
+
.tool-use-card[data-truncated="true"] .tool-use-name::after,
|
|
4252
|
+
.inline-tool[data-truncated="true"] .inline-tool-title::after,
|
|
4253
|
+
.inline-terminal[data-truncated="true"] .inline-terminal-title::after {
|
|
4254
|
+
content: '已截断';
|
|
4255
|
+
display: inline-block;
|
|
4256
|
+
margin-left: 6px;
|
|
4257
|
+
padding: 1px 6px;
|
|
4258
|
+
font-size: 0.6rem;
|
|
4259
|
+
font-weight: 500;
|
|
4260
|
+
color: var(--text-inverse, #fff);
|
|
4261
|
+
background: var(--text-tertiary);
|
|
4262
|
+
border-radius: 999px;
|
|
4263
|
+
letter-spacing: 0.02em;
|
|
4264
|
+
vertical-align: 1px;
|
|
4265
|
+
opacity: 0.85;
|
|
3992
4266
|
}
|
|
3993
4267
|
|
|
3994
4268
|
.message-usage::before {
|
|
@@ -4112,81 +4386,96 @@
|
|
|
4112
4386
|
overflow-y: auto;
|
|
4113
4387
|
}
|
|
4114
4388
|
|
|
4115
|
-
/*
|
|
4389
|
+
/* ──────────────────────────────────────────────────────────────
|
|
4390
|
+
Tool Use Card — generic write/exec tool wrapper
|
|
4391
|
+
Soft cream surface, brand-tinted status states, polished hover.
|
|
4392
|
+
────────────────────────────────────────────────────────────── */
|
|
4116
4393
|
.tool-use-card {
|
|
4117
|
-
margin:
|
|
4394
|
+
margin: 4px 0;
|
|
4118
4395
|
border: 1px solid var(--border-subtle);
|
|
4119
|
-
border-radius:
|
|
4396
|
+
border-radius: var(--radius-sm);
|
|
4120
4397
|
overflow: hidden;
|
|
4121
4398
|
width: 100%;
|
|
4122
4399
|
box-sizing: border-box;
|
|
4123
|
-
background:
|
|
4124
|
-
|
|
4400
|
+
background: linear-gradient(180deg, rgba(255, 251, 245, 0.88) 0%, rgba(255, 246, 234, 0.72) 100%);
|
|
4401
|
+
box-shadow: 0 1px 2px rgba(89, 58, 32, 0.04);
|
|
4402
|
+
transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
|
|
4125
4403
|
}
|
|
4126
4404
|
.tool-use-card:hover {
|
|
4127
|
-
border-color: rgba(79, 122, 88, 0.
|
|
4128
|
-
box-shadow: 0
|
|
4405
|
+
border-color: rgba(79, 122, 88, 0.3);
|
|
4406
|
+
box-shadow: 0 3px 12px rgba(79, 122, 88, 0.08);
|
|
4129
4407
|
}
|
|
4130
4408
|
.tool-use-card.loading {
|
|
4131
|
-
border-color: rgba(
|
|
4409
|
+
border-color: rgba(169, 106, 47, 0.3);
|
|
4410
|
+
background: linear-gradient(180deg, rgba(255, 244, 226, 0.88) 0%, rgba(255, 241, 218, 0.72) 100%);
|
|
4132
4411
|
}
|
|
4133
4412
|
.tool-use-card.success {
|
|
4134
|
-
border-color: rgba(79, 122, 88, 0.
|
|
4413
|
+
border-color: rgba(79, 122, 88, 0.32);
|
|
4135
4414
|
}
|
|
4136
4415
|
.tool-use-card.error {
|
|
4137
|
-
border-color: rgba(178, 79, 69, 0.
|
|
4416
|
+
border-color: rgba(178, 79, 69, 0.32);
|
|
4417
|
+
background: linear-gradient(180deg, rgba(252, 240, 238, 0.88) 0%, rgba(252, 235, 233, 0.72) 100%);
|
|
4138
4418
|
}
|
|
4139
4419
|
.tool-use-header {
|
|
4140
4420
|
display: flex;
|
|
4141
4421
|
align-items: center;
|
|
4142
|
-
gap:
|
|
4143
|
-
padding:
|
|
4144
|
-
background:
|
|
4422
|
+
gap: 10px;
|
|
4423
|
+
padding: 9px 14px;
|
|
4424
|
+
background: transparent;
|
|
4145
4425
|
cursor: pointer;
|
|
4146
4426
|
font-size: 0.8125rem;
|
|
4147
4427
|
user-select: none;
|
|
4148
4428
|
-webkit-user-select: none;
|
|
4149
4429
|
-webkit-tap-highlight-color: transparent;
|
|
4150
4430
|
touch-action: manipulation;
|
|
4151
|
-
transition:
|
|
4152
|
-
min-height:
|
|
4431
|
+
transition: background 0.18s ease;
|
|
4432
|
+
min-height: 38px;
|
|
4153
4433
|
flex-wrap: nowrap;
|
|
4154
4434
|
}
|
|
4155
4435
|
.tool-use-header:hover {
|
|
4156
|
-
background: rgba(
|
|
4436
|
+
background: rgba(197, 101, 61, 0.04);
|
|
4157
4437
|
}
|
|
4158
4438
|
.tool-use-header:active {
|
|
4159
|
-
|
|
4439
|
+
background: rgba(197, 101, 61, 0.07);
|
|
4160
4440
|
}
|
|
4161
|
-
.tool-use-card.loading .tool-use-header {
|
|
4162
|
-
background: rgba(
|
|
4441
|
+
.tool-use-card.loading .tool-use-header:hover {
|
|
4442
|
+
background: rgba(169, 106, 47, 0.06);
|
|
4163
4443
|
}
|
|
4164
|
-
.tool-use-card.success .tool-use-header {
|
|
4165
|
-
background: rgba(79, 122, 88, 0.
|
|
4444
|
+
.tool-use-card.success .tool-use-header:hover {
|
|
4445
|
+
background: rgba(79, 122, 88, 0.06);
|
|
4166
4446
|
}
|
|
4167
|
-
.tool-use-card.error .tool-use-header {
|
|
4168
|
-
background: rgba(178, 79, 69, 0.
|
|
4447
|
+
.tool-use-card.error .tool-use-header:hover {
|
|
4448
|
+
background: rgba(178, 79, 69, 0.06);
|
|
4169
4449
|
}
|
|
4170
4450
|
.tool-use-icon {
|
|
4171
4451
|
font-size: 0.6875rem;
|
|
4172
4452
|
font-family: var(--font-mono);
|
|
4173
|
-
font-weight:
|
|
4453
|
+
font-weight: 700;
|
|
4174
4454
|
flex-shrink: 0;
|
|
4175
|
-
display: flex;
|
|
4455
|
+
display: inline-flex;
|
|
4176
4456
|
align-items: center;
|
|
4177
4457
|
justify-content: center;
|
|
4178
|
-
min-width:
|
|
4179
|
-
height:
|
|
4180
|
-
border-radius:
|
|
4181
|
-
background:
|
|
4458
|
+
min-width: 22px;
|
|
4459
|
+
height: 22px;
|
|
4460
|
+
border-radius: 6px;
|
|
4461
|
+
background: var(--success-muted);
|
|
4182
4462
|
color: var(--success);
|
|
4463
|
+
letter-spacing: -0.02em;
|
|
4464
|
+
}
|
|
4465
|
+
.tool-use-card.loading .tool-use-icon {
|
|
4466
|
+
background: var(--warning-muted);
|
|
4467
|
+
color: var(--warning);
|
|
4468
|
+
}
|
|
4469
|
+
.tool-use-card.error .tool-use-icon {
|
|
4470
|
+
background: var(--danger-muted);
|
|
4471
|
+
color: var(--danger);
|
|
4183
4472
|
}
|
|
4184
4473
|
.tool-use-spinner {
|
|
4185
4474
|
display: inline-block;
|
|
4186
|
-
width:
|
|
4187
|
-
height:
|
|
4188
|
-
border: 2px solid
|
|
4189
|
-
border-top-color: var(--
|
|
4475
|
+
width: 14px;
|
|
4476
|
+
height: 14px;
|
|
4477
|
+
border: 2px solid var(--warning-muted);
|
|
4478
|
+
border-top-color: var(--warning);
|
|
4190
4479
|
border-radius: 50%;
|
|
4191
4480
|
animation: tool-spin 0.8s linear infinite;
|
|
4192
4481
|
}
|
|
@@ -4203,12 +4492,13 @@
|
|
|
4203
4492
|
overflow: hidden;
|
|
4204
4493
|
text-overflow: ellipsis;
|
|
4205
4494
|
white-space: nowrap;
|
|
4495
|
+
letter-spacing: -0.005em;
|
|
4206
4496
|
}
|
|
4207
4497
|
.tool-use-file {
|
|
4208
4498
|
font-size: 0.75rem;
|
|
4209
4499
|
font-family: var(--font-mono);
|
|
4210
|
-
color: var(--text-
|
|
4211
|
-
max-width:
|
|
4500
|
+
color: var(--text-tertiary);
|
|
4501
|
+
max-width: 320px;
|
|
4212
4502
|
overflow: hidden;
|
|
4213
4503
|
text-overflow: ellipsis;
|
|
4214
4504
|
white-space: nowrap;
|
|
@@ -4223,38 +4513,49 @@
|
|
|
4223
4513
|
overflow: hidden;
|
|
4224
4514
|
text-overflow: ellipsis;
|
|
4225
4515
|
white-space: nowrap;
|
|
4226
|
-
margin-left:
|
|
4516
|
+
margin-left: 2px;
|
|
4227
4517
|
}
|
|
4228
4518
|
.tool-use-status {
|
|
4229
|
-
font-size: 0.
|
|
4230
|
-
|
|
4231
|
-
|
|
4519
|
+
font-size: 0.6875rem;
|
|
4520
|
+
font-weight: 600;
|
|
4521
|
+
padding: 3px 10px;
|
|
4522
|
+
border-radius: var(--radius-full);
|
|
4232
4523
|
flex-shrink: 0;
|
|
4233
|
-
margin-left:
|
|
4524
|
+
margin-left: 2px;
|
|
4525
|
+
letter-spacing: 0.01em;
|
|
4234
4526
|
}
|
|
4235
4527
|
.tool-use-card.success .tool-use-status {
|
|
4236
|
-
background:
|
|
4528
|
+
background: var(--success-muted);
|
|
4237
4529
|
color: var(--success);
|
|
4238
4530
|
}
|
|
4239
4531
|
.tool-use-card.error .tool-use-status {
|
|
4240
|
-
background:
|
|
4532
|
+
background: var(--danger-muted);
|
|
4241
4533
|
color: var(--danger);
|
|
4242
4534
|
}
|
|
4535
|
+
.tool-use-card.loading .tool-use-status {
|
|
4536
|
+
background: var(--warning-muted);
|
|
4537
|
+
color: var(--warning);
|
|
4538
|
+
}
|
|
4243
4539
|
.tool-use-toggle {
|
|
4244
4540
|
font-size: 0.75rem;
|
|
4245
4541
|
color: var(--text-muted);
|
|
4246
|
-
transition: transform 0.3s var(--ease-spring);
|
|
4542
|
+
transition: transform 0.3s var(--ease-spring), color 0.18s ease;
|
|
4247
4543
|
flex-shrink: 0;
|
|
4248
4544
|
display: flex;
|
|
4249
4545
|
align-items: center;
|
|
4546
|
+
opacity: 0.6;
|
|
4547
|
+
}
|
|
4548
|
+
.tool-use-card:hover .tool-use-toggle {
|
|
4549
|
+
color: var(--text-secondary);
|
|
4550
|
+
opacity: 1;
|
|
4250
4551
|
}
|
|
4251
4552
|
.tool-use-card.collapsed .tool-use-toggle {
|
|
4252
4553
|
transform: rotate(-90deg);
|
|
4253
4554
|
}
|
|
4254
4555
|
.tool-use-body {
|
|
4255
|
-
padding:
|
|
4256
|
-
background:
|
|
4257
|
-
border-top: 1px solid
|
|
4556
|
+
padding: 12px 14px;
|
|
4557
|
+
background: rgba(255, 253, 248, 0.65);
|
|
4558
|
+
border-top: 1px solid rgba(125, 91, 57, 0.08);
|
|
4258
4559
|
max-height: 600px;
|
|
4259
4560
|
overflow: hidden;
|
|
4260
4561
|
transition: max-height 0.35s var(--ease-out-expo), padding 0.35s var(--ease-out-expo), opacity 0.25s ease, transform 0.35s var(--ease-out-expo);
|
|
@@ -4277,12 +4578,12 @@
|
|
|
4277
4578
|
overflow-wrap: break-word;
|
|
4278
4579
|
max-height: 400px;
|
|
4279
4580
|
overflow-y: auto;
|
|
4280
|
-
line-height: 1.
|
|
4581
|
+
line-height: 1.55;
|
|
4281
4582
|
}
|
|
4282
4583
|
.tool-use-result {
|
|
4283
|
-
margin-top:
|
|
4284
|
-
padding-top:
|
|
4285
|
-
border-top: 1px dashed
|
|
4584
|
+
margin-top: 10px;
|
|
4585
|
+
padding-top: 10px;
|
|
4586
|
+
border-top: 1px dashed rgba(125, 91, 57, 0.14);
|
|
4286
4587
|
}
|
|
4287
4588
|
.tool-use-result-content {
|
|
4288
4589
|
margin: 0;
|
|
@@ -4291,9 +4592,12 @@
|
|
|
4291
4592
|
color: var(--text-secondary);
|
|
4292
4593
|
white-space: pre-wrap;
|
|
4293
4594
|
overflow-wrap: break-word;
|
|
4294
|
-
max-height:
|
|
4595
|
+
max-height: 320px;
|
|
4295
4596
|
overflow-y: auto;
|
|
4296
|
-
line-height: 1.
|
|
4597
|
+
line-height: 1.55;
|
|
4598
|
+
background: rgba(125, 91, 57, 0.035);
|
|
4599
|
+
border-radius: var(--radius-xs);
|
|
4600
|
+
padding: 8px 10px;
|
|
4297
4601
|
}
|
|
4298
4602
|
.tool-use-result-empty {
|
|
4299
4603
|
font-size: 0.75rem;
|
|
@@ -4304,12 +4608,13 @@
|
|
|
4304
4608
|
font-size: 0.75rem;
|
|
4305
4609
|
color: var(--text-muted);
|
|
4306
4610
|
font-family: var(--font-mono);
|
|
4307
|
-
margin-bottom:
|
|
4308
|
-
padding-bottom:
|
|
4309
|
-
border-bottom: 1px dashed
|
|
4611
|
+
margin-bottom: 8px;
|
|
4612
|
+
padding-bottom: 8px;
|
|
4613
|
+
border-bottom: 1px dashed rgba(125, 91, 57, 0.14);
|
|
4310
4614
|
}
|
|
4311
4615
|
.tool-use-meta-label {
|
|
4312
4616
|
color: var(--text-secondary);
|
|
4617
|
+
font-weight: 600;
|
|
4313
4618
|
}
|
|
4314
4619
|
/* AskUserQuestion - simplified */
|
|
4315
4620
|
.tool-use-card.ask-user {
|
|
@@ -4361,7 +4666,17 @@
|
|
|
4361
4666
|
}
|
|
4362
4667
|
.ask-user-option.selected {
|
|
4363
4668
|
border-color: var(--accent);
|
|
4364
|
-
background: rgba(197, 101, 61, 0.
|
|
4669
|
+
background: rgba(197, 101, 61, 0.18);
|
|
4670
|
+
box-shadow: 0 0 0 1px rgba(197, 101, 61, 0.35) inset;
|
|
4671
|
+
}
|
|
4672
|
+
/* 已应答状态的卡片用顶部彩色边条标识,避免只靠 opacity 让"已答"和"未答"区分模糊 */
|
|
4673
|
+
.tool-use-card.ask-user.ask-user-answered {
|
|
4674
|
+
border-top: 2px solid var(--success, #4caf50);
|
|
4675
|
+
}
|
|
4676
|
+
/* 已应答的选项中"用户选过的那个"高亮 */
|
|
4677
|
+
.ask-user-option.ask-user-option-chosen {
|
|
4678
|
+
background: rgba(197, 101, 61, 0.16);
|
|
4679
|
+
border-color: var(--accent);
|
|
4365
4680
|
}
|
|
4366
4681
|
/* Radio / Checkbox indicator */
|
|
4367
4682
|
.ask-user-indicator {
|
|
@@ -4589,100 +4904,184 @@
|
|
|
4589
4904
|
}
|
|
4590
4905
|
|
|
4591
4906
|
/* ── Tool Group (连续同类调用折叠) ── */
|
|
4907
|
+
/* ──────────────────────────────────────────────────────────────
|
|
4908
|
+
Tool Group — collapsible cluster of consecutive read-only tools
|
|
4909
|
+
Cream card with brand-tinted status chip, count pill, smooth body.
|
|
4910
|
+
────────────────────────────────────────────────────────────── */
|
|
4592
4911
|
.tool-group {
|
|
4593
|
-
margin:
|
|
4594
|
-
border-radius:
|
|
4595
|
-
border: 1px solid var(--border-subtle
|
|
4912
|
+
margin: 4px 0;
|
|
4913
|
+
border-radius: var(--radius-sm);
|
|
4914
|
+
border: 1px solid var(--border-subtle);
|
|
4915
|
+
background: linear-gradient(180deg, rgba(255, 251, 245, 0.85) 0%, rgba(255, 248, 238, 0.7) 100%);
|
|
4916
|
+
box-shadow: 0 1px 2px rgba(89, 58, 32, 0.03);
|
|
4596
4917
|
overflow: hidden;
|
|
4918
|
+
transition: border-color 0.18s ease, box-shadow 0.22s ease, transform 0.22s ease;
|
|
4919
|
+
}
|
|
4920
|
+
.tool-group:hover {
|
|
4921
|
+
border-color: rgba(125, 91, 57, 0.18);
|
|
4922
|
+
box-shadow: 0 2px 8px rgba(89, 58, 32, 0.06);
|
|
4923
|
+
}
|
|
4924
|
+
.tool-group[data-status="pending"] {
|
|
4925
|
+
border-color: rgba(169, 106, 47, 0.22);
|
|
4926
|
+
background: linear-gradient(180deg, rgba(255, 244, 226, 0.85) 0%, rgba(255, 241, 218, 0.7) 100%);
|
|
4927
|
+
}
|
|
4928
|
+
.tool-group[data-status="error"] {
|
|
4929
|
+
border-color: rgba(178, 79, 69, 0.28);
|
|
4930
|
+
background: linear-gradient(180deg, rgba(252, 240, 238, 0.85) 0%, rgba(252, 236, 234, 0.7) 100%);
|
|
4597
4931
|
}
|
|
4598
4932
|
.tool-group-summary {
|
|
4599
4933
|
display: flex;
|
|
4600
4934
|
align-items: center;
|
|
4601
|
-
gap:
|
|
4602
|
-
padding:
|
|
4935
|
+
gap: 9px;
|
|
4936
|
+
padding: 8px 12px;
|
|
4603
4937
|
cursor: pointer;
|
|
4604
4938
|
font-size: 0.75rem;
|
|
4605
4939
|
color: var(--text-secondary);
|
|
4606
4940
|
user-select: none;
|
|
4607
|
-
transition: background
|
|
4941
|
+
transition: background 0.18s ease;
|
|
4608
4942
|
}
|
|
4609
4943
|
.tool-group-summary:hover {
|
|
4610
|
-
background:
|
|
4944
|
+
background: rgba(197, 101, 61, 0.04);
|
|
4611
4945
|
}
|
|
4612
4946
|
.tool-group-status {
|
|
4947
|
+
display: inline-flex;
|
|
4948
|
+
align-items: center;
|
|
4949
|
+
justify-content: center;
|
|
4950
|
+
width: 18px;
|
|
4951
|
+
height: 18px;
|
|
4952
|
+
border-radius: 50%;
|
|
4613
4953
|
font-size: 0.6875rem;
|
|
4954
|
+
font-weight: 700;
|
|
4955
|
+
line-height: 1;
|
|
4614
4956
|
flex-shrink: 0;
|
|
4615
|
-
|
|
4616
|
-
|
|
4957
|
+
letter-spacing: 0;
|
|
4958
|
+
}
|
|
4959
|
+
.tool-group[data-status="done"] .tool-group-status {
|
|
4960
|
+
background: var(--success-muted);
|
|
4961
|
+
color: var(--success);
|
|
4962
|
+
}
|
|
4963
|
+
.tool-group[data-status="error"] .tool-group-status {
|
|
4964
|
+
background: var(--danger-muted);
|
|
4965
|
+
color: var(--danger);
|
|
4966
|
+
}
|
|
4967
|
+
.tool-group[data-status="pending"] .tool-group-status {
|
|
4968
|
+
background: var(--warning-muted);
|
|
4969
|
+
color: var(--warning);
|
|
4970
|
+
animation: tool-group-pulse 1.6s ease-in-out infinite;
|
|
4971
|
+
}
|
|
4972
|
+
@keyframes tool-group-pulse {
|
|
4973
|
+
0%, 100% { opacity: 1; }
|
|
4974
|
+
50% { opacity: 0.55; }
|
|
4617
4975
|
}
|
|
4618
|
-
.tool-group[data-status="done"] .tool-group-status { color: var(--success, #22c55e); }
|
|
4619
|
-
.tool-group[data-status="error"] .tool-group-status { color: var(--error, #ef4444); }
|
|
4620
|
-
.tool-group[data-status="pending"] .tool-group-status { color: var(--text-muted); }
|
|
4621
4976
|
.tool-group-text {
|
|
4622
4977
|
flex: 1;
|
|
4623
4978
|
min-width: 0;
|
|
4624
4979
|
overflow: hidden;
|
|
4625
4980
|
text-overflow: ellipsis;
|
|
4626
4981
|
white-space: nowrap;
|
|
4982
|
+
font-weight: 500;
|
|
4983
|
+
color: var(--text-primary);
|
|
4984
|
+
letter-spacing: -0.005em;
|
|
4627
4985
|
}
|
|
4628
4986
|
.tool-group-count {
|
|
4629
4987
|
flex-shrink: 0;
|
|
4630
|
-
font-size: 0.
|
|
4631
|
-
color: var(--text-
|
|
4988
|
+
font-size: 0.6875rem;
|
|
4989
|
+
color: var(--text-tertiary);
|
|
4990
|
+
padding: 2px 8px;
|
|
4991
|
+
border-radius: var(--radius-full);
|
|
4992
|
+
background: rgba(125, 91, 57, 0.07);
|
|
4993
|
+
font-variant-numeric: tabular-nums;
|
|
4632
4994
|
}
|
|
4633
4995
|
.tool-group-chevron {
|
|
4634
4996
|
flex-shrink: 0;
|
|
4635
|
-
transition: transform 0.
|
|
4997
|
+
transition: transform 0.25s var(--ease-out-expo);
|
|
4636
4998
|
color: var(--text-muted);
|
|
4999
|
+
opacity: 0.6;
|
|
5000
|
+
}
|
|
5001
|
+
.tool-group:hover .tool-group-chevron {
|
|
5002
|
+
opacity: 1;
|
|
4637
5003
|
}
|
|
4638
5004
|
.tool-group[data-expanded="true"] .tool-group-chevron {
|
|
4639
5005
|
transform: rotate(180deg);
|
|
4640
5006
|
}
|
|
4641
5007
|
.tool-group-body {
|
|
4642
5008
|
display: none;
|
|
4643
|
-
padding:
|
|
4644
|
-
border-top: 1px solid
|
|
5009
|
+
padding: 4px 8px 8px 18px;
|
|
5010
|
+
border-top: 1px solid rgba(125, 91, 57, 0.06);
|
|
5011
|
+
border-left: 2px solid rgba(125, 91, 57, 0.08);
|
|
5012
|
+
background: rgba(255, 253, 248, 0.55);
|
|
5013
|
+
}
|
|
5014
|
+
/* 同一 tool-group 内多条 inline-tool 视觉收紧 + 左缩进,强化"嵌套" */
|
|
5015
|
+
.tool-group-body > .inline-tool {
|
|
5016
|
+
margin: 0;
|
|
5017
|
+
}
|
|
5018
|
+
.tool-group-body > .inline-tool + .inline-tool {
|
|
5019
|
+
border-top: 1px dashed rgba(125, 91, 57, 0.06);
|
|
4645
5020
|
}
|
|
4646
5021
|
.tool-group[data-expanded="true"] .tool-group-body {
|
|
4647
5022
|
display: block;
|
|
5023
|
+
animation: tool-group-reveal 0.22s var(--ease-out-expo);
|
|
5024
|
+
}
|
|
5025
|
+
@keyframes tool-group-reveal {
|
|
5026
|
+
from { opacity: 0; transform: translateY(-2px); }
|
|
5027
|
+
to { opacity: 1; transform: translateY(0); }
|
|
4648
5028
|
}
|
|
4649
5029
|
|
|
4650
|
-
/*
|
|
5030
|
+
/* ──────────────────────────────────────────────────────────────
|
|
5031
|
+
Inline Tool — single read-only row (Read / Glob / Grep / Web*)
|
|
5032
|
+
Clean two-column layout: icon + title | meta. Hover lifts subtly.
|
|
5033
|
+
────────────────────────────────────────────────────────────── */
|
|
4651
5034
|
.inline-tool {
|
|
4652
5035
|
display: flex;
|
|
4653
5036
|
flex-direction: column;
|
|
4654
5037
|
margin: 1px 0;
|
|
4655
|
-
border-radius:
|
|
5038
|
+
border-radius: var(--radius-xs);
|
|
4656
5039
|
cursor: pointer;
|
|
4657
|
-
transition: background
|
|
5040
|
+
transition: background 0.16s ease;
|
|
4658
5041
|
}
|
|
4659
5042
|
.inline-tool-row {
|
|
4660
5043
|
display: flex;
|
|
4661
5044
|
align-items: center;
|
|
4662
|
-
gap:
|
|
4663
|
-
padding:
|
|
4664
|
-
font-size: 0.
|
|
4665
|
-
color: var(--text-
|
|
5045
|
+
gap: 8px;
|
|
5046
|
+
padding: 5px 10px;
|
|
5047
|
+
font-size: 0.75rem;
|
|
5048
|
+
color: var(--text-secondary);
|
|
4666
5049
|
font-family: var(--font-mono);
|
|
4667
|
-
line-height: 1.
|
|
4668
|
-
|
|
5050
|
+
line-height: 1.45;
|
|
5051
|
+
border-radius: var(--radius-xs);
|
|
5052
|
+
transition: background 0.16s ease, color 0.16s ease;
|
|
4669
5053
|
}
|
|
4670
5054
|
.inline-tool:hover .inline-tool-row {
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
border-radius: 6px;
|
|
5055
|
+
background: rgba(197, 101, 61, 0.06);
|
|
5056
|
+
color: var(--text-primary);
|
|
4674
5057
|
}
|
|
4675
5058
|
.inline-tool-status {
|
|
4676
|
-
|
|
5059
|
+
display: inline-flex;
|
|
5060
|
+
align-items: center;
|
|
5061
|
+
justify-content: center;
|
|
5062
|
+
width: 14px;
|
|
5063
|
+
height: 14px;
|
|
4677
5064
|
flex-shrink: 0;
|
|
5065
|
+
font-size: 0.6875rem;
|
|
5066
|
+
font-weight: 700;
|
|
5067
|
+
color: var(--success);
|
|
5068
|
+
line-height: 1;
|
|
5069
|
+
}
|
|
5070
|
+
.inline-tool[data-status="pending"] .inline-tool-status {
|
|
5071
|
+
color: var(--warning);
|
|
5072
|
+
}
|
|
5073
|
+
.inline-tool[data-status="error"] .inline-tool-status,
|
|
5074
|
+
.inline-tool-error-inline .inline-tool-status {
|
|
5075
|
+
color: var(--danger);
|
|
4678
5076
|
}
|
|
4679
5077
|
.inline-tool-icon {
|
|
4680
5078
|
flex-shrink: 0;
|
|
4681
|
-
color: var(--text-
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
5079
|
+
color: var(--text-tertiary);
|
|
5080
|
+
opacity: 0.85;
|
|
5081
|
+
}
|
|
5082
|
+
.inline-tool:hover .inline-tool-icon {
|
|
5083
|
+
color: var(--accent);
|
|
5084
|
+
opacity: 1;
|
|
4686
5085
|
}
|
|
4687
5086
|
.inline-tool-title {
|
|
4688
5087
|
flex: 1;
|
|
@@ -4690,70 +5089,94 @@
|
|
|
4690
5089
|
overflow: hidden;
|
|
4691
5090
|
text-overflow: ellipsis;
|
|
4692
5091
|
white-space: nowrap;
|
|
4693
|
-
color: var(--text-
|
|
5092
|
+
color: var(--text-secondary);
|
|
5093
|
+
font-size: 0.75rem;
|
|
5094
|
+
}
|
|
5095
|
+
.inline-tool:hover .inline-tool-title {
|
|
5096
|
+
color: var(--text-primary);
|
|
4694
5097
|
}
|
|
4695
5098
|
.inline-tool-meta {
|
|
4696
5099
|
flex-shrink: 0;
|
|
4697
|
-
font-size: 0.
|
|
4698
|
-
color: var(--text-muted);
|
|
4699
|
-
|
|
4700
|
-
max-width: 200px;
|
|
5100
|
+
font-size: 0.6875rem;
|
|
5101
|
+
color: var(--text-muted);
|
|
5102
|
+
max-width: 220px;
|
|
4701
5103
|
overflow: hidden;
|
|
4702
5104
|
text-overflow: ellipsis;
|
|
4703
5105
|
white-space: nowrap;
|
|
5106
|
+
font-variant-numeric: tabular-nums;
|
|
5107
|
+
letter-spacing: -0.01em;
|
|
4704
5108
|
}
|
|
4705
5109
|
.inline-tool-expanded {
|
|
4706
5110
|
display: none;
|
|
4707
|
-
padding: 0 8px
|
|
5111
|
+
padding: 0 10px 8px 10px;
|
|
4708
5112
|
}
|
|
4709
5113
|
.inline-tool-open .inline-tool-expanded {
|
|
4710
5114
|
display: block;
|
|
5115
|
+
animation: tool-group-reveal 0.2s var(--ease-out-expo);
|
|
4711
5116
|
}
|
|
4712
5117
|
.inline-tool-result {
|
|
4713
|
-
background: rgba(
|
|
4714
|
-
border
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
5118
|
+
background: rgba(125, 91, 57, 0.04);
|
|
5119
|
+
border: 1px solid rgba(125, 91, 57, 0.07);
|
|
5120
|
+
border-radius: var(--radius-xs);
|
|
5121
|
+
padding: 10px 12px;
|
|
5122
|
+
margin-top: 6px;
|
|
5123
|
+
max-height: 320px;
|
|
4718
5124
|
overflow-y: auto;
|
|
4719
5125
|
scrollbar-width: thin;
|
|
4720
|
-
scrollbar-color: rgba(
|
|
5126
|
+
scrollbar-color: rgba(125, 91, 57, 0.2) transparent;
|
|
4721
5127
|
}
|
|
4722
5128
|
.inline-tool-result::-webkit-scrollbar {
|
|
4723
|
-
width:
|
|
5129
|
+
width: 6px;
|
|
4724
5130
|
}
|
|
4725
5131
|
.inline-tool-result::-webkit-scrollbar-thumb {
|
|
4726
|
-
background: rgba(
|
|
4727
|
-
border-radius:
|
|
5132
|
+
background: rgba(125, 91, 57, 0.2);
|
|
5133
|
+
border-radius: 3px;
|
|
5134
|
+
}
|
|
5135
|
+
.inline-tool-result::-webkit-scrollbar-thumb:hover {
|
|
5136
|
+
background: rgba(125, 91, 57, 0.32);
|
|
4728
5137
|
}
|
|
4729
5138
|
.inline-tool-result-text {
|
|
4730
5139
|
font-family: var(--font-mono);
|
|
4731
5140
|
font-size: 0.75rem;
|
|
4732
|
-
line-height: 1.
|
|
5141
|
+
line-height: 1.55;
|
|
4733
5142
|
color: var(--text-secondary);
|
|
4734
5143
|
white-space: pre-wrap;
|
|
4735
5144
|
word-break: break-all;
|
|
4736
5145
|
margin: 0;
|
|
4737
|
-
max-height: 300px;
|
|
4738
|
-
overflow-y: auto;
|
|
4739
5146
|
}
|
|
4740
5147
|
.inline-tool-error-inline {
|
|
4741
|
-
border-left: 2px solid
|
|
5148
|
+
border-left: 2px solid var(--danger);
|
|
5149
|
+
padding-left: 2px;
|
|
5150
|
+
margin-left: -2px;
|
|
4742
5151
|
}
|
|
4743
5152
|
.inline-tool-error-inline .inline-tool-row {
|
|
4744
|
-
color:
|
|
5153
|
+
color: var(--danger);
|
|
4745
5154
|
}
|
|
4746
5155
|
.inline-tool-result.inline-tool-error {
|
|
4747
|
-
color:
|
|
5156
|
+
color: var(--danger);
|
|
4748
5157
|
font-family: var(--font-mono);
|
|
4749
5158
|
font-size: 0.75rem;
|
|
4750
|
-
background:
|
|
5159
|
+
background: var(--danger-muted);
|
|
5160
|
+
border-color: rgba(178, 79, 69, 0.18);
|
|
4751
5161
|
}
|
|
4752
5162
|
.inline-tool-loading {
|
|
4753
5163
|
font-size: 0.75rem;
|
|
4754
|
-
color: var(--
|
|
5164
|
+
color: var(--warning);
|
|
4755
5165
|
font-style: italic;
|
|
4756
|
-
padding:
|
|
5166
|
+
padding: 6px 0;
|
|
5167
|
+
display: inline-flex;
|
|
5168
|
+
align-items: center;
|
|
5169
|
+
gap: 6px;
|
|
5170
|
+
}
|
|
5171
|
+
.inline-tool-loading::before {
|
|
5172
|
+
content: "";
|
|
5173
|
+
display: inline-block;
|
|
5174
|
+
width: 10px;
|
|
5175
|
+
height: 10px;
|
|
5176
|
+
border: 1.5px solid var(--warning-muted);
|
|
5177
|
+
border-top-color: var(--warning);
|
|
5178
|
+
border-radius: 50%;
|
|
5179
|
+
animation: tool-content-spin 0.7s linear infinite;
|
|
4757
5180
|
}
|
|
4758
5181
|
.inline-tool-empty {
|
|
4759
5182
|
font-size: 0.75rem;
|
|
@@ -4793,133 +5216,207 @@
|
|
|
4793
5216
|
text-decoration: underline;
|
|
4794
5217
|
}
|
|
4795
5218
|
|
|
4796
|
-
/*
|
|
5219
|
+
/* ──────────────────────────────────────────────────────────────
|
|
5220
|
+
Inline Terminal — Bash card with a real terminal-window look.
|
|
5221
|
+
macOS-style traffic lights, gradient titlebar, monospaced body.
|
|
5222
|
+
────────────────────────────────────────────────────────────── */
|
|
4797
5223
|
.inline-terminal {
|
|
4798
|
-
margin:
|
|
4799
|
-
border: 1px solid rgba(
|
|
4800
|
-
border-radius:
|
|
4801
|
-
background: #
|
|
5224
|
+
margin: 4px 0;
|
|
5225
|
+
border: 1px solid rgba(15, 12, 9, 0.6);
|
|
5226
|
+
border-radius: var(--radius-sm);
|
|
5227
|
+
background: #1f1b17;
|
|
5228
|
+
box-shadow:
|
|
5229
|
+
0 1px 0 rgba(255, 255, 255, 0.04) inset,
|
|
5230
|
+
0 2px 12px rgba(15, 12, 9, 0.18);
|
|
4802
5231
|
overflow: hidden;
|
|
5232
|
+
transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
|
|
5233
|
+
}
|
|
5234
|
+
.inline-terminal:hover {
|
|
5235
|
+
box-shadow:
|
|
5236
|
+
0 1px 0 rgba(255, 255, 255, 0.05) inset,
|
|
5237
|
+
0 4px 18px rgba(15, 12, 9, 0.24);
|
|
5238
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
4803
5239
|
}
|
|
4804
5240
|
.term-header {
|
|
4805
5241
|
display: flex;
|
|
4806
5242
|
align-items: center;
|
|
4807
|
-
gap:
|
|
4808
|
-
padding:
|
|
4809
|
-
background:
|
|
5243
|
+
gap: 10px;
|
|
5244
|
+
padding: 8px 14px;
|
|
5245
|
+
background:
|
|
5246
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
|
|
5247
|
+
rgba(0, 0, 0, 0.18);
|
|
5248
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
|
|
4810
5249
|
font-size: 0.75rem;
|
|
4811
5250
|
cursor: pointer;
|
|
4812
5251
|
user-select: none;
|
|
5252
|
+
position: relative;
|
|
4813
5253
|
}
|
|
4814
5254
|
.term-header:hover {
|
|
4815
|
-
background:
|
|
5255
|
+
background:
|
|
5256
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.025) 100%),
|
|
5257
|
+
rgba(0, 0, 0, 0.18);
|
|
4816
5258
|
}
|
|
4817
5259
|
.term-status-dot {
|
|
4818
|
-
width:
|
|
4819
|
-
height:
|
|
5260
|
+
width: 9px;
|
|
5261
|
+
height: 9px;
|
|
4820
5262
|
border-radius: 50%;
|
|
4821
5263
|
flex-shrink: 0;
|
|
5264
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset;
|
|
5265
|
+
}
|
|
5266
|
+
.term-status-dot.term-success {
|
|
5267
|
+
background: radial-gradient(circle at 35% 30%, #b6f0c4 0%, #6ee09a 50%, #3aa765 100%);
|
|
5268
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(110, 224, 154, 0.35);
|
|
5269
|
+
}
|
|
5270
|
+
.term-status-dot.term-error {
|
|
5271
|
+
background: radial-gradient(circle at 35% 30%, #ffb5b9 0%, #f07178 50%, #b53b41 100%);
|
|
5272
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(240, 113, 120, 0.35);
|
|
5273
|
+
}
|
|
5274
|
+
.term-status-dot.term-warn {
|
|
5275
|
+
background: radial-gradient(circle at 35% 30%, #ffd07a 0%, #f0a500 50%, #ad7400 100%);
|
|
5276
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(240, 165, 0, 0.35);
|
|
5277
|
+
}
|
|
5278
|
+
.term-status-dot.term-running {
|
|
5279
|
+
background: radial-gradient(circle at 35% 30%, #d1d5db 0%, #9ca3af 50%, #4b5563 100%);
|
|
5280
|
+
animation: term-pulse 1s ease-in-out infinite;
|
|
4822
5281
|
}
|
|
4823
|
-
.term-status-dot.term-success { background: #6ee09a; }
|
|
4824
|
-
.term-status-dot.term-error { background: #f07178; }
|
|
4825
|
-
.term-status-dot.term-warn { background: #f0a500; }
|
|
4826
|
-
.term-status-dot.term-running { background: #6b7280; animation: term-pulse 1s ease-in-out infinite; }
|
|
4827
5282
|
@keyframes term-pulse {
|
|
4828
|
-
0%, 100% { opacity: 1; }
|
|
4829
|
-
50% { opacity: 0.
|
|
5283
|
+
0%, 100% { opacity: 1; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 0 0 rgba(156, 163, 175, 0); }
|
|
5284
|
+
50% { opacity: 0.55; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 0 8px rgba(156, 163, 175, 0.35); }
|
|
4830
5285
|
}
|
|
4831
5286
|
.term-cmd-preview {
|
|
4832
5287
|
flex: 1;
|
|
4833
5288
|
min-width: 0;
|
|
4834
5289
|
font-family: var(--font-mono);
|
|
4835
|
-
font-size: 0.
|
|
4836
|
-
color: rgba(
|
|
5290
|
+
font-size: 0.75rem;
|
|
5291
|
+
color: rgba(232, 220, 200, 0.78);
|
|
4837
5292
|
overflow: hidden;
|
|
4838
5293
|
text-overflow: ellipsis;
|
|
4839
5294
|
white-space: nowrap;
|
|
5295
|
+
letter-spacing: -0.005em;
|
|
4840
5296
|
}
|
|
4841
5297
|
.term-cmd-preview .term-prompt {
|
|
4842
|
-
color:
|
|
4843
|
-
font-weight:
|
|
4844
|
-
margin-right:
|
|
4845
|
-
font-size: 0.
|
|
5298
|
+
color: #6ee09a;
|
|
5299
|
+
font-weight: 600;
|
|
5300
|
+
margin-right: 6px;
|
|
5301
|
+
font-size: 0.75rem;
|
|
5302
|
+
opacity: 0.9;
|
|
4846
5303
|
}
|
|
4847
5304
|
.term-title {
|
|
4848
5305
|
flex: 1;
|
|
4849
5306
|
font-family: var(--font-mono);
|
|
4850
5307
|
font-size: 0.75rem;
|
|
4851
|
-
color: rgba(255, 255, 255, 0.
|
|
5308
|
+
color: rgba(255, 255, 255, 0.4);
|
|
4852
5309
|
}
|
|
4853
5310
|
.term-toggle-icon {
|
|
4854
|
-
font-size: 0.
|
|
4855
|
-
color: rgba(255, 255, 255, 0.
|
|
4856
|
-
transition:
|
|
5311
|
+
font-size: 0.625rem;
|
|
5312
|
+
color: rgba(255, 255, 255, 0.35);
|
|
5313
|
+
transition: color 0.18s ease;
|
|
5314
|
+
flex-shrink: 0;
|
|
5315
|
+
}
|
|
5316
|
+
.term-header:hover .term-toggle-icon {
|
|
5317
|
+
color: rgba(255, 255, 255, 0.65);
|
|
4857
5318
|
}
|
|
4858
5319
|
.term-body {
|
|
4859
|
-
padding:
|
|
5320
|
+
padding: 12px 14px 14px;
|
|
5321
|
+
background:
|
|
5322
|
+
linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0) 24px),
|
|
5323
|
+
#1f1b17;
|
|
4860
5324
|
}
|
|
4861
5325
|
.term-command {
|
|
4862
5326
|
font-family: var(--font-mono);
|
|
4863
5327
|
font-size: 0.8125rem;
|
|
4864
|
-
color: #
|
|
4865
|
-
line-height: 1.
|
|
4866
|
-
margin-bottom:
|
|
5328
|
+
color: #f4e9d4;
|
|
5329
|
+
line-height: 1.55;
|
|
5330
|
+
margin-bottom: 6px;
|
|
5331
|
+
white-space: pre-wrap;
|
|
5332
|
+
word-break: break-all;
|
|
4867
5333
|
}
|
|
4868
5334
|
.term-prompt {
|
|
4869
5335
|
color: #6ee09a;
|
|
4870
5336
|
font-weight: 600;
|
|
4871
|
-
margin-right:
|
|
5337
|
+
margin-right: 6px;
|
|
5338
|
+
text-shadow: 0 0 6px rgba(110, 224, 154, 0.25);
|
|
4872
5339
|
}
|
|
4873
5340
|
.term-output {
|
|
4874
|
-
margin-top:
|
|
4875
|
-
padding-top:
|
|
4876
|
-
border-top: 1px
|
|
5341
|
+
margin-top: 8px;
|
|
5342
|
+
padding-top: 8px;
|
|
5343
|
+
border-top: 1px dashed rgba(255, 255, 255, 0.06);
|
|
5344
|
+
max-height: 360px;
|
|
5345
|
+
overflow-y: auto;
|
|
5346
|
+
scrollbar-width: thin;
|
|
5347
|
+
scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
|
|
5348
|
+
}
|
|
5349
|
+
.term-output::-webkit-scrollbar {
|
|
5350
|
+
width: 6px;
|
|
5351
|
+
}
|
|
5352
|
+
.term-output::-webkit-scrollbar-thumb {
|
|
5353
|
+
background: rgba(255, 255, 255, 0.15);
|
|
5354
|
+
border-radius: 3px;
|
|
5355
|
+
}
|
|
5356
|
+
.term-output::-webkit-scrollbar-thumb:hover {
|
|
5357
|
+
background: rgba(255, 255, 255, 0.25);
|
|
4877
5358
|
}
|
|
4878
5359
|
.term-line {
|
|
4879
5360
|
font-family: var(--font-mono);
|
|
4880
5361
|
font-size: 0.8125rem;
|
|
4881
|
-
color: #
|
|
4882
|
-
line-height: 1.
|
|
5362
|
+
color: #d4c2a3;
|
|
5363
|
+
line-height: 1.55;
|
|
4883
5364
|
white-space: pre-wrap;
|
|
4884
5365
|
word-break: break-all;
|
|
4885
5366
|
}
|
|
4886
5367
|
.term-exit {
|
|
4887
|
-
margin-top:
|
|
4888
|
-
padding-top:
|
|
4889
|
-
border-top: 1px
|
|
5368
|
+
margin-top: 10px;
|
|
5369
|
+
padding-top: 8px;
|
|
5370
|
+
border-top: 1px dashed rgba(255, 255, 255, 0.06);
|
|
4890
5371
|
font-family: var(--font-mono);
|
|
4891
|
-
font-size: 0.
|
|
5372
|
+
font-size: 0.6875rem;
|
|
4892
5373
|
line-height: 1.5;
|
|
5374
|
+
letter-spacing: 0.04em;
|
|
4893
5375
|
}
|
|
4894
|
-
.term-exit-success { color: rgba(110, 224, 154, 0.
|
|
4895
|
-
.term-exit-error { color: rgba(240, 113, 120, 0.
|
|
5376
|
+
.term-exit-success { color: rgba(110, 224, 154, 0.75); }
|
|
5377
|
+
.term-exit-error { color: rgba(240, 113, 120, 0.78); }
|
|
4896
5378
|
|
|
4897
|
-
/*
|
|
5379
|
+
/* ──────────────────────────────────────────────────────────────
|
|
5380
|
+
Inline Diff — Edit / Write / MultiEdit
|
|
5381
|
+
Card with clearly-labelled "旧 | 新" columns and status pill.
|
|
5382
|
+
────────────────────────────────────────────────────────────── */
|
|
4898
5383
|
.inline-diff {
|
|
4899
|
-
margin:
|
|
4900
|
-
border: 1px solid
|
|
4901
|
-
border-radius:
|
|
5384
|
+
margin: 4px 0;
|
|
5385
|
+
border: 1px solid var(--border-subtle);
|
|
5386
|
+
border-radius: var(--radius-sm);
|
|
4902
5387
|
overflow: hidden;
|
|
4903
|
-
background:
|
|
5388
|
+
background: linear-gradient(180deg, rgba(255, 251, 245, 0.88) 0%, rgba(255, 246, 234, 0.72) 100%);
|
|
5389
|
+
box-shadow: 0 1px 2px rgba(89, 58, 32, 0.04);
|
|
5390
|
+
transition: border-color 0.22s ease, box-shadow 0.22s ease;
|
|
5391
|
+
}
|
|
5392
|
+
.inline-diff:hover {
|
|
5393
|
+
border-color: rgba(125, 91, 57, 0.22);
|
|
5394
|
+
box-shadow: 0 3px 12px rgba(89, 58, 32, 0.06);
|
|
4904
5395
|
}
|
|
4905
5396
|
.diff-header {
|
|
4906
5397
|
display: flex;
|
|
4907
5398
|
align-items: center;
|
|
4908
|
-
gap:
|
|
4909
|
-
padding:
|
|
4910
|
-
background:
|
|
4911
|
-
font-size: 0.
|
|
5399
|
+
gap: 10px;
|
|
5400
|
+
padding: 8px 14px;
|
|
5401
|
+
background: transparent;
|
|
5402
|
+
font-size: 0.8125rem;
|
|
4912
5403
|
cursor: pointer;
|
|
5404
|
+
transition: background 0.18s ease;
|
|
4913
5405
|
}
|
|
4914
5406
|
.diff-header:hover {
|
|
4915
|
-
background: rgba(
|
|
5407
|
+
background: rgba(197, 101, 61, 0.04);
|
|
4916
5408
|
}
|
|
4917
5409
|
.diff-toggle {
|
|
4918
5410
|
font-size: 0.625rem;
|
|
4919
5411
|
color: var(--text-muted);
|
|
4920
|
-
transition: transform 0.3s var(--ease-spring);
|
|
5412
|
+
transition: transform 0.3s var(--ease-spring), color 0.18s ease;
|
|
4921
5413
|
flex-shrink: 0;
|
|
4922
5414
|
margin-left: auto;
|
|
5415
|
+
opacity: 0.6;
|
|
5416
|
+
}
|
|
5417
|
+
.inline-diff:hover .diff-toggle {
|
|
5418
|
+
color: var(--text-secondary);
|
|
5419
|
+
opacity: 1;
|
|
4923
5420
|
}
|
|
4924
5421
|
.inline-diff.collapsed .diff-toggle {
|
|
4925
5422
|
transform: rotate(-90deg);
|
|
@@ -4935,49 +5432,56 @@
|
|
|
4935
5432
|
}
|
|
4936
5433
|
.diff-file-name {
|
|
4937
5434
|
font-family: var(--font-mono);
|
|
4938
|
-
font-weight:
|
|
5435
|
+
font-weight: 700;
|
|
4939
5436
|
color: var(--text-primary);
|
|
4940
5437
|
flex-shrink: 0;
|
|
5438
|
+
font-size: 0.8125rem;
|
|
5439
|
+
letter-spacing: -0.005em;
|
|
4941
5440
|
}
|
|
4942
5441
|
.diff-path {
|
|
4943
5442
|
font-family: var(--font-mono);
|
|
4944
|
-
color: var(--text-
|
|
5443
|
+
color: var(--text-tertiary);
|
|
4945
5444
|
flex: 1;
|
|
4946
5445
|
min-width: 0;
|
|
4947
5446
|
overflow: hidden;
|
|
4948
5447
|
text-overflow: ellipsis;
|
|
4949
5448
|
white-space: nowrap;
|
|
4950
|
-
font-size: 0.
|
|
5449
|
+
font-size: 0.6875rem;
|
|
4951
5450
|
}
|
|
4952
5451
|
.diff-status {
|
|
4953
5452
|
flex-shrink: 0;
|
|
4954
|
-
font-size: 0.
|
|
4955
|
-
|
|
4956
|
-
|
|
5453
|
+
font-size: 0.6875rem;
|
|
5454
|
+
font-weight: 600;
|
|
5455
|
+
padding: 3px 10px;
|
|
5456
|
+
border-radius: var(--radius-full);
|
|
5457
|
+
letter-spacing: 0.01em;
|
|
4957
5458
|
}
|
|
4958
5459
|
.diff-status.diff-success {
|
|
4959
|
-
background:
|
|
5460
|
+
background: var(--success-muted);
|
|
4960
5461
|
color: var(--success);
|
|
4961
5462
|
}
|
|
4962
5463
|
.diff-status.diff-error {
|
|
4963
|
-
background:
|
|
5464
|
+
background: var(--danger-muted);
|
|
4964
5465
|
color: var(--danger);
|
|
4965
5466
|
}
|
|
4966
5467
|
.diff-status.diff-pending {
|
|
4967
|
-
background:
|
|
4968
|
-
color: var(--
|
|
5468
|
+
background: var(--warning-muted);
|
|
5469
|
+
color: var(--warning);
|
|
4969
5470
|
}
|
|
4970
5471
|
.diff-body {
|
|
4971
5472
|
overflow: hidden;
|
|
5473
|
+
border-top: 1px solid rgba(125, 91, 57, 0.08);
|
|
5474
|
+
background: rgba(255, 253, 248, 0.65);
|
|
4972
5475
|
}
|
|
4973
5476
|
.diff-columns {
|
|
4974
5477
|
display: flex;
|
|
4975
5478
|
gap: 1px;
|
|
4976
|
-
background: rgba(
|
|
5479
|
+
background: rgba(125, 91, 57, 0.08);
|
|
4977
5480
|
}
|
|
4978
5481
|
.diff-col {
|
|
4979
5482
|
flex: 1;
|
|
4980
5483
|
min-width: 0;
|
|
5484
|
+
background: rgba(255, 253, 248, 0.85);
|
|
4981
5485
|
}
|
|
4982
5486
|
.diff-col-half {
|
|
4983
5487
|
flex: 1;
|
|
@@ -4988,30 +5492,32 @@
|
|
|
4988
5492
|
}
|
|
4989
5493
|
.diff-col-label {
|
|
4990
5494
|
font-family: var(--font-mono);
|
|
4991
|
-
font-size: 0.
|
|
5495
|
+
font-size: 0.625rem;
|
|
4992
5496
|
font-weight: 700;
|
|
4993
|
-
padding:
|
|
4994
|
-
color: var(--text-
|
|
5497
|
+
padding: 4px 12px;
|
|
5498
|
+
color: var(--text-tertiary);
|
|
4995
5499
|
text-transform: uppercase;
|
|
4996
|
-
letter-spacing: 0.
|
|
4997
|
-
background: rgba(
|
|
4998
|
-
border-bottom: 1px solid rgba(
|
|
5500
|
+
letter-spacing: 0.08em;
|
|
5501
|
+
background: rgba(125, 91, 57, 0.05);
|
|
5502
|
+
border-bottom: 1px solid rgba(125, 91, 57, 0.08);
|
|
4999
5503
|
}
|
|
5000
5504
|
.diff-line {
|
|
5001
|
-
padding:
|
|
5505
|
+
padding: 3px 12px;
|
|
5002
5506
|
font-family: var(--font-mono);
|
|
5003
5507
|
font-size: 0.75rem;
|
|
5004
|
-
line-height: 1.
|
|
5508
|
+
line-height: 1.55;
|
|
5005
5509
|
white-space: pre-wrap;
|
|
5006
5510
|
word-break: break-all;
|
|
5007
5511
|
}
|
|
5008
5512
|
.diff-add {
|
|
5009
|
-
background: rgba(
|
|
5010
|
-
color: #
|
|
5513
|
+
background: rgba(79, 122, 88, 0.08);
|
|
5514
|
+
color: #2c5535;
|
|
5515
|
+
border-left: 2px solid rgba(79, 122, 88, 0.5);
|
|
5011
5516
|
}
|
|
5012
5517
|
.diff-remove {
|
|
5013
5518
|
background: rgba(178, 79, 69, 0.06);
|
|
5014
|
-
color: #
|
|
5519
|
+
color: #7c2a23;
|
|
5520
|
+
border-left: 2px solid rgba(178, 79, 69, 0.45);
|
|
5015
5521
|
}
|
|
5016
5522
|
|
|
5017
5523
|
/* 旧版卡片式思考(保留作为 fallback) */
|
|
@@ -5520,17 +6026,33 @@
|
|
|
5520
6026
|
|
|
5521
6027
|
/* Queued message in chat view */
|
|
5522
6028
|
.chat-message.user.queued {
|
|
5523
|
-
opacity: 0.
|
|
6029
|
+
opacity: 0.7;
|
|
6030
|
+
}
|
|
6031
|
+
.chat-message.user.queued .chat-message-bubble,
|
|
6032
|
+
.chat-message.user.queued .chat-message-content {
|
|
6033
|
+
/* 排队气泡用虚线边框 + 浅浅的阴影,让"未发送"状态有触感 */
|
|
6034
|
+
box-shadow: 0 0 0 1px rgba(197, 101, 61, 0.25) inset;
|
|
5524
6035
|
}
|
|
5525
6036
|
.queued-badge {
|
|
5526
|
-
display: inline-
|
|
6037
|
+
display: inline-flex;
|
|
6038
|
+
align-items: center;
|
|
6039
|
+
gap: 4px;
|
|
5527
6040
|
font-size: 0.625rem;
|
|
5528
6041
|
color: var(--accent);
|
|
5529
6042
|
background: var(--accent-muted);
|
|
5530
|
-
padding:
|
|
5531
|
-
border-radius:
|
|
6043
|
+
padding: 2px 8px;
|
|
6044
|
+
border-radius: 999px;
|
|
5532
6045
|
font-weight: 600;
|
|
5533
|
-
margin-top:
|
|
6046
|
+
margin-top: 6px;
|
|
6047
|
+
letter-spacing: 0.04em;
|
|
6048
|
+
animation: queuePulse 1.5s ease-in-out infinite;
|
|
6049
|
+
}
|
|
6050
|
+
.queued-badge::before {
|
|
6051
|
+
content: '';
|
|
6052
|
+
width: 6px;
|
|
6053
|
+
height: 6px;
|
|
6054
|
+
border-radius: 50%;
|
|
6055
|
+
background: var(--accent);
|
|
5534
6056
|
animation: queuePulse 1.5s ease-in-out infinite;
|
|
5535
6057
|
}
|
|
5536
6058
|
|
|
@@ -7161,11 +7683,17 @@
|
|
|
7161
7683
|
box-shadow: 0 4px 12px rgba(125, 91, 57, 0.08);
|
|
7162
7684
|
}
|
|
7163
7685
|
.session-modal .mode-card.active {
|
|
7164
|
-
background:
|
|
7165
|
-
|
|
7686
|
+
background:
|
|
7687
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.95) 0%, rgba(255, 240, 224, 0.82) 100%);
|
|
7688
|
+
border: 0.5px solid rgba(255, 255, 255, 0.8);
|
|
7689
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
7690
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
7166
7691
|
box-shadow:
|
|
7167
|
-
0 0 0
|
|
7168
|
-
0 4px
|
|
7692
|
+
0 0 0 1px rgba(197, 101, 61, 0.32),
|
|
7693
|
+
0 0 0 4px rgba(197, 101, 61, 0.14),
|
|
7694
|
+
0 8px 22px -4px rgba(197, 101, 61, 0.3),
|
|
7695
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.95),
|
|
7696
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.08);
|
|
7169
7697
|
transform: none;
|
|
7170
7698
|
}
|
|
7171
7699
|
.session-modal .mode-card.active .mode-card-label {
|
|
@@ -7190,11 +7718,17 @@
|
|
|
7190
7718
|
box-shadow: 0 8px 20px rgba(125, 91, 57, 0.1);
|
|
7191
7719
|
}
|
|
7192
7720
|
.session-modal .tool-card.active {
|
|
7193
|
-
background:
|
|
7194
|
-
|
|
7721
|
+
background:
|
|
7722
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.95) 0%, rgba(255, 240, 224, 0.82) 100%);
|
|
7723
|
+
border: 0.5px solid rgba(255, 255, 255, 0.8);
|
|
7724
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
7725
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
7195
7726
|
box-shadow:
|
|
7196
|
-
0 0 0
|
|
7197
|
-
0
|
|
7727
|
+
0 0 0 1px rgba(197, 101, 61, 0.3),
|
|
7728
|
+
0 0 0 4px rgba(197, 101, 61, 0.14),
|
|
7729
|
+
0 10px 28px -6px rgba(197, 101, 61, 0.3),
|
|
7730
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.95),
|
|
7731
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.08);
|
|
7198
7732
|
transform: none;
|
|
7199
7733
|
}
|
|
7200
7734
|
|
|
@@ -7434,12 +7968,19 @@
|
|
|
7434
7968
|
transform: none;
|
|
7435
7969
|
border-color: transparent;
|
|
7436
7970
|
}
|
|
7971
|
+
/* Settings tab active — liquid glass row with warm halo */
|
|
7437
7972
|
.settings-modal .settings-tab.active {
|
|
7438
|
-
background:
|
|
7973
|
+
background:
|
|
7974
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.95) 0%, rgba(255, 244, 232, 0.78) 100%);
|
|
7439
7975
|
color: var(--accent);
|
|
7976
|
+
backdrop-filter: blur(14px) saturate(180%);
|
|
7977
|
+
-webkit-backdrop-filter: blur(14px) saturate(180%);
|
|
7440
7978
|
box-shadow:
|
|
7441
|
-
inset 0 0 0 1px rgba(197, 101, 61, 0.
|
|
7442
|
-
0 1px
|
|
7979
|
+
inset 0 0 0 1px rgba(197, 101, 61, 0.25),
|
|
7980
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.9),
|
|
7981
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.08),
|
|
7982
|
+
0 4px 14px -4px rgba(197, 101, 61, 0.22),
|
|
7983
|
+
0 1px 3px rgba(125, 91, 57, 0.06);
|
|
7443
7984
|
}
|
|
7444
7985
|
.settings-modal .settings-tab.active .settings-tab-meta {
|
|
7445
7986
|
color: var(--text-secondary);
|
|
@@ -7712,6 +8253,7 @@
|
|
|
7712
8253
|
.sidebar-pin-toggle.pinned {
|
|
7713
8254
|
background: rgba(197, 101, 61, 0.12);
|
|
7714
8255
|
color: var(--accent);
|
|
8256
|
+
transform: rotate(45deg);
|
|
7715
8257
|
}
|
|
7716
8258
|
|
|
7717
8259
|
/* Drawer close — same pattern as modal-close (rotate + danger tint) */
|
|
@@ -7747,17 +8289,27 @@
|
|
|
7747
8289
|
padding: 6px;
|
|
7748
8290
|
}
|
|
7749
8291
|
.sidebar-header-overflow .overflow-item {
|
|
7750
|
-
border-radius:
|
|
8292
|
+
border-radius: 9px;
|
|
7751
8293
|
padding: 9px 10px;
|
|
7752
8294
|
font-size: 0.8125rem;
|
|
7753
8295
|
font-weight: 500;
|
|
8296
|
+
transition:
|
|
8297
|
+
background 0.16s ease,
|
|
8298
|
+
color 0.16s ease,
|
|
8299
|
+
box-shadow 0.18s ease,
|
|
8300
|
+
transform 0.18s var(--ease-out-expo);
|
|
7754
8301
|
}
|
|
7755
8302
|
.sidebar-header-overflow .overflow-item:hover {
|
|
7756
|
-
background:
|
|
8303
|
+
background:
|
|
8304
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 252, 247, 0.6) 100%);
|
|
7757
8305
|
color: var(--text-primary);
|
|
8306
|
+
box-shadow:
|
|
8307
|
+
0 0 0 0.5px rgba(125, 91, 57, 0.08),
|
|
8308
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.85);
|
|
7758
8309
|
}
|
|
7759
8310
|
.sidebar-header-overflow .overflow-item:active {
|
|
7760
|
-
background: rgba(
|
|
8311
|
+
background: rgba(197, 101, 61, 0.12);
|
|
8312
|
+
color: var(--accent);
|
|
7761
8313
|
transform: scale(0.98);
|
|
7762
8314
|
}
|
|
7763
8315
|
|
|
@@ -7864,17 +8416,20 @@
|
|
|
7864
8416
|
|
|
7865
8417
|
/* ── Session item — clean card on glass ── */
|
|
7866
8418
|
.session-item {
|
|
7867
|
-
background: rgba(255, 255, 255, 0.
|
|
7868
|
-
border:
|
|
7869
|
-
border-radius:
|
|
8419
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.62) 0%, rgba(255, 252, 247, 0.42) 100%);
|
|
8420
|
+
border: 0.5px solid rgba(255, 255, 255, 0.55);
|
|
8421
|
+
border-radius: 13px;
|
|
7870
8422
|
padding: 11px 14px;
|
|
7871
8423
|
margin-bottom: 6px;
|
|
7872
|
-
box-shadow:
|
|
8424
|
+
box-shadow:
|
|
8425
|
+
0 0 0 0.5px rgba(125, 91, 57, 0.05),
|
|
8426
|
+
0 1px 2px rgba(125, 91, 57, 0.03),
|
|
8427
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
|
7873
8428
|
transition:
|
|
7874
|
-
background 0.
|
|
7875
|
-
border-color 0.
|
|
7876
|
-
box-shadow 0.
|
|
7877
|
-
transform 0.
|
|
8429
|
+
background 0.2s ease,
|
|
8430
|
+
border-color 0.2s ease,
|
|
8431
|
+
box-shadow 0.22s ease,
|
|
8432
|
+
transform 0.22s var(--ease-out-expo);
|
|
7878
8433
|
}
|
|
7879
8434
|
.session-item::before {
|
|
7880
8435
|
left: 4px;
|
|
@@ -7882,32 +8437,57 @@
|
|
|
7882
8437
|
bottom: 10px;
|
|
7883
8438
|
width: 3px;
|
|
7884
8439
|
border-radius: 2px;
|
|
7885
|
-
background: var(--accent);
|
|
8440
|
+
background: linear-gradient(180deg, var(--accent), rgba(197, 101, 61, 0.5));
|
|
7886
8441
|
}
|
|
7887
8442
|
.session-item:hover {
|
|
7888
|
-
background: rgba(255, 255, 255, 0.85);
|
|
7889
|
-
border-color: rgba(
|
|
8443
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 253, 248, 0.62) 100%);
|
|
8444
|
+
border-color: rgba(255, 255, 255, 0.7);
|
|
7890
8445
|
transform: translateY(-1px);
|
|
7891
|
-
box-shadow:
|
|
8446
|
+
box-shadow:
|
|
8447
|
+
0 0 0 0.5px rgba(125, 91, 57, 0.08),
|
|
8448
|
+
0 6px 16px -6px rgba(125, 91, 57, 0.18),
|
|
8449
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
|
7892
8450
|
}
|
|
7893
8451
|
.session-item:hover::before {
|
|
7894
|
-
opacity: 0.
|
|
8452
|
+
opacity: 0.5;
|
|
7895
8453
|
transform: scaleY(1);
|
|
7896
8454
|
}
|
|
8455
|
+
/* Selected (active) — true liquid glass pill with depth + accent glow */
|
|
7897
8456
|
.session-item.active {
|
|
7898
|
-
background:
|
|
7899
|
-
|
|
8457
|
+
background:
|
|
8458
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.92) 0%, rgba(255, 244, 232, 0.78) 100%);
|
|
8459
|
+
border: 0.5px solid rgba(255, 255, 255, 0.85);
|
|
8460
|
+
transform: translateY(-1px);
|
|
8461
|
+
backdrop-filter: blur(20px) saturate(180%);
|
|
8462
|
+
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
7900
8463
|
box-shadow:
|
|
7901
|
-
|
|
7902
|
-
0
|
|
8464
|
+
/* outer accent ring (soft) */
|
|
8465
|
+
0 0 0 1px rgba(197, 101, 61, 0.28),
|
|
8466
|
+
/* warm glow halo */
|
|
8467
|
+
0 8px 28px -6px rgba(197, 101, 61, 0.32),
|
|
8468
|
+
/* base elevation */
|
|
8469
|
+
0 2px 6px -1px rgba(125, 91, 57, 0.1),
|
|
8470
|
+
/* top inner highlight — light from above */
|
|
8471
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.95),
|
|
8472
|
+
/* bottom inner shadow — depth at base */
|
|
8473
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.08),
|
|
8474
|
+
/* left inner glint */
|
|
8475
|
+
inset 1px 0 0 rgba(255, 255, 255, 0.4);
|
|
7903
8476
|
}
|
|
7904
8477
|
.session-item.active::before {
|
|
7905
8478
|
opacity: 1;
|
|
7906
8479
|
transform: scaleY(1);
|
|
8480
|
+
box-shadow: 0 0 8px rgba(197, 101, 61, 0.5);
|
|
7907
8481
|
}
|
|
8482
|
+
/* Multi-select state — quieter glass tint, no accent halo */
|
|
7908
8483
|
.session-item.selected {
|
|
7909
|
-
background:
|
|
7910
|
-
|
|
8484
|
+
background:
|
|
8485
|
+
linear-gradient(180deg, rgba(255, 250, 244, 0.85) 0%, rgba(255, 246, 236, 0.65) 100%);
|
|
8486
|
+
border: 0.5px solid rgba(255, 255, 255, 0.7);
|
|
8487
|
+
box-shadow:
|
|
8488
|
+
0 0 0 1px rgba(197, 101, 61, 0.18),
|
|
8489
|
+
0 4px 14px -4px rgba(125, 91, 57, 0.14),
|
|
8490
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.85);
|
|
7911
8491
|
}
|
|
7912
8492
|
.session-item.selected::before {
|
|
7913
8493
|
opacity: 0.7;
|
|
@@ -8052,11 +8632,21 @@
|
|
|
8052
8632
|
transform: scale(0.96);
|
|
8053
8633
|
transition-duration: 0.06s;
|
|
8054
8634
|
}
|
|
8635
|
+
/* Footer tab active — same liquid glass language as .session-item.active */
|
|
8055
8636
|
.sidebar-footer-actions .btn.active {
|
|
8056
|
-
background:
|
|
8057
|
-
|
|
8637
|
+
background:
|
|
8638
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.95) 0%, rgba(255, 242, 228, 0.78) 100%);
|
|
8639
|
+
border: 0.5px solid rgba(255, 255, 255, 0.85);
|
|
8058
8640
|
color: var(--accent);
|
|
8059
|
-
|
|
8641
|
+
transform: translateY(-1px);
|
|
8642
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
8643
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
8644
|
+
box-shadow:
|
|
8645
|
+
0 0 0 1px rgba(197, 101, 61, 0.28),
|
|
8646
|
+
0 6px 18px -4px rgba(197, 101, 61, 0.32),
|
|
8647
|
+
0 2px 4px -1px rgba(125, 91, 57, 0.08),
|
|
8648
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.95),
|
|
8649
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.08);
|
|
8060
8650
|
}
|
|
8061
8651
|
.sidebar-footer-actions .btn.sidebar-logout:hover {
|
|
8062
8652
|
background: rgba(178, 79, 69, 0.08);
|
|
@@ -10059,9 +10649,17 @@
|
|
|
10059
10649
|
|
|
10060
10650
|
.settings-tab.active {
|
|
10061
10651
|
color: var(--accent);
|
|
10062
|
-
border-color: rgba(
|
|
10063
|
-
background:
|
|
10064
|
-
|
|
10652
|
+
border-color: rgba(255, 255, 255, 0.7);
|
|
10653
|
+
background:
|
|
10654
|
+
linear-gradient(180deg, rgba(255, 252, 247, 0.92) 0%, rgba(255, 244, 232, 0.72) 100%);
|
|
10655
|
+
backdrop-filter: blur(14px) saturate(180%);
|
|
10656
|
+
-webkit-backdrop-filter: blur(14px) saturate(180%);
|
|
10657
|
+
box-shadow:
|
|
10658
|
+
inset 0 0 0 1px rgba(197, 101, 61, 0.22),
|
|
10659
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.9),
|
|
10660
|
+
inset 0 -1px 0 rgba(197, 101, 61, 0.06),
|
|
10661
|
+
0 4px 14px -4px rgba(197, 101, 61, 0.22),
|
|
10662
|
+
0 1px 3px rgba(125, 91, 57, 0.04);
|
|
10065
10663
|
}
|
|
10066
10664
|
|
|
10067
10665
|
.settings-tab.active::before {
|