@co0ontty/wand 1.31.0 → 1.31.2
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.
|
@@ -3842,14 +3842,18 @@
|
|
|
3842
3842
|
}
|
|
3843
3843
|
|
|
3844
3844
|
/* ===== 聊天消息列表 ===== */
|
|
3845
|
+
/* overflow-x: hidden 是兜底——任何子级(pre、table、tool-card)的
|
|
3846
|
+
横向溢出都不应该冒到聊天容器,由它们各自的内部滚动负责。 */
|
|
3845
3847
|
.chat-messages {
|
|
3846
3848
|
flex: 1;
|
|
3847
3849
|
overflow-y: auto;
|
|
3850
|
+
overflow-x: hidden;
|
|
3848
3851
|
display: flex;
|
|
3849
3852
|
flex-direction: column-reverse;
|
|
3850
3853
|
gap: 16px;
|
|
3851
3854
|
padding: 20px 4px 12px;
|
|
3852
3855
|
min-height: 0;
|
|
3856
|
+
min-width: 0;
|
|
3853
3857
|
scrollbar-gutter: stable;
|
|
3854
3858
|
}
|
|
3855
3859
|
|
|
@@ -3913,6 +3917,7 @@
|
|
|
3913
3917
|
display: flex;
|
|
3914
3918
|
flex-direction: column;
|
|
3915
3919
|
max-width: 100%;
|
|
3920
|
+
min-width: 0;
|
|
3916
3921
|
margin: 4px 0;
|
|
3917
3922
|
transition: opacity 0.2s ease, transform 0.2s var(--ease-out-expo);
|
|
3918
3923
|
--chat-card-max-width: 720px;
|
|
@@ -4080,7 +4085,8 @@
|
|
|
4080
4085
|
font-family: var(--font-mono);
|
|
4081
4086
|
font-size: 0.8125rem;
|
|
4082
4087
|
max-width: 100%;
|
|
4083
|
-
|
|
4088
|
+
min-width: 0;
|
|
4089
|
+
overflow-wrap: anywhere;
|
|
4084
4090
|
word-break: break-word;
|
|
4085
4091
|
box-shadow: 0 4px 16px rgba(197, 101, 61, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
4086
4092
|
}
|
|
@@ -4097,8 +4103,11 @@
|
|
|
4097
4103
|
color: var(--text-primary);
|
|
4098
4104
|
padding: 14px 18px;
|
|
4099
4105
|
max-width: 100%;
|
|
4106
|
+
min-width: 0;
|
|
4100
4107
|
white-space: pre-wrap;
|
|
4101
4108
|
word-wrap: break-word;
|
|
4109
|
+
overflow-wrap: anywhere;
|
|
4110
|
+
word-break: break-word;
|
|
4102
4111
|
border: 1px solid var(--border-subtle);
|
|
4103
4112
|
box-shadow: var(--shadow-sm);
|
|
4104
4113
|
}
|
|
@@ -4114,9 +4123,11 @@
|
|
|
4114
4123
|
flex-direction: column;
|
|
4115
4124
|
gap: 2px;
|
|
4116
4125
|
max-width: 100%;
|
|
4126
|
+
min-width: 0;
|
|
4117
4127
|
font-size: 0.875rem;
|
|
4118
4128
|
line-height: var(--line-height-relaxed);
|
|
4119
4129
|
word-wrap: break-word;
|
|
4130
|
+
overflow-wrap: anywhere;
|
|
4120
4131
|
color: var(--text-primary);
|
|
4121
4132
|
}
|
|
4122
4133
|
|
|
@@ -4193,6 +4204,25 @@
|
|
|
4193
4204
|
font-style: italic;
|
|
4194
4205
|
}
|
|
4195
4206
|
|
|
4207
|
+
/* subagent 身份小 tag("勤劳初二 让 侦探猫 [subagent] 帮忙"),让用户一眼知道
|
|
4208
|
+
这是子代理在说话,不是同一个 AI 突然换了个名字。色调跟 --agent-color 走。 */
|
|
4209
|
+
.chat-handoff-tag {
|
|
4210
|
+
display: inline-block;
|
|
4211
|
+
margin: 0 6px;
|
|
4212
|
+
padding: 1px 6px;
|
|
4213
|
+
font-size: 0.62rem;
|
|
4214
|
+
font-weight: 600;
|
|
4215
|
+
letter-spacing: 0.04em;
|
|
4216
|
+
text-transform: uppercase;
|
|
4217
|
+
color: var(--agent-color, var(--accent));
|
|
4218
|
+
background: color-mix(in srgb, var(--agent-color, var(--accent)) 14%, transparent);
|
|
4219
|
+
border: 1px solid color-mix(in srgb, var(--agent-color, var(--accent)) 32%, transparent);
|
|
4220
|
+
border-radius: 4px;
|
|
4221
|
+
vertical-align: 1px;
|
|
4222
|
+
line-height: 1.4;
|
|
4223
|
+
white-space: nowrap;
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4196
4226
|
/* subagent 回复气泡(群聊角色完成任务后的发言) */
|
|
4197
4227
|
.subagent-reply {
|
|
4198
4228
|
background: color-mix(in srgb, var(--agent-color, var(--accent)) 6%, var(--bg-surface));
|
|
@@ -4204,6 +4234,10 @@
|
|
|
4204
4234
|
font-size: 0.875rem;
|
|
4205
4235
|
color: var(--text-primary);
|
|
4206
4236
|
word-break: break-word;
|
|
4237
|
+
overflow-wrap: anywhere;
|
|
4238
|
+
max-width: 100%;
|
|
4239
|
+
min-width: 0;
|
|
4240
|
+
overflow-x: hidden;
|
|
4207
4241
|
}
|
|
4208
4242
|
|
|
4209
4243
|
.subagent-reply > :first-child { margin-top: 0; }
|
|
@@ -4244,6 +4278,94 @@
|
|
|
4244
4278
|
word-break: break-word;
|
|
4245
4279
|
overflow-wrap: anywhere;
|
|
4246
4280
|
margin: 8px 0;
|
|
4281
|
+
max-width: 100%;
|
|
4282
|
+
min-width: 0;
|
|
4283
|
+
}
|
|
4284
|
+
|
|
4285
|
+
/* ===== subagent 回复三态折叠 =====
|
|
4286
|
+
preview(默认)→ 限高 ~5 行 + 渐隐 mask + 内部可滚
|
|
4287
|
+
expanded → 拉到一个比较大的上限,内部可滚
|
|
4288
|
+
collapsed → 完全收起,只剩底部一条工具栏,按钮还能再点回来 */
|
|
4289
|
+
.subagent-reply.collapsible {
|
|
4290
|
+
position: relative;
|
|
4291
|
+
padding-right: 14px;
|
|
4292
|
+
padding-bottom: 28px;
|
|
4293
|
+
}
|
|
4294
|
+
|
|
4295
|
+
.subagent-reply-scroll {
|
|
4296
|
+
overflow: hidden;
|
|
4297
|
+
transition: max-height 0.32s var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1));
|
|
4298
|
+
min-width: 0;
|
|
4299
|
+
max-width: 100%;
|
|
4300
|
+
}
|
|
4301
|
+
.subagent-reply-scroll > :first-child { margin-top: 0; }
|
|
4302
|
+
.subagent-reply-scroll > :last-child { margin-bottom: 0; }
|
|
4303
|
+
|
|
4304
|
+
.subagent-reply.collapsible[data-collapse-mode="preview"] .subagent-reply-scroll {
|
|
4305
|
+
max-height: 7.5em; /* ~5 行 */
|
|
4306
|
+
overflow-y: auto;
|
|
4307
|
+
-webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
|
|
4308
|
+
mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
|
|
4309
|
+
}
|
|
4310
|
+
|
|
4311
|
+
.subagent-reply.collapsible[data-collapse-mode="expanded"] .subagent-reply-scroll {
|
|
4312
|
+
max-height: 360px;
|
|
4313
|
+
overflow-y: auto;
|
|
4314
|
+
}
|
|
4315
|
+
|
|
4316
|
+
.subagent-reply.collapsible[data-collapse-mode="collapsed"] {
|
|
4317
|
+
padding-top: 6px;
|
|
4318
|
+
padding-bottom: 26px;
|
|
4319
|
+
}
|
|
4320
|
+
.subagent-reply.collapsible[data-collapse-mode="collapsed"] .subagent-reply-scroll {
|
|
4321
|
+
max-height: 0;
|
|
4322
|
+
overflow: hidden;
|
|
4323
|
+
margin: 0;
|
|
4324
|
+
}
|
|
4325
|
+
|
|
4326
|
+
/* 三态循环按钮:固定在气泡右下角,三种模式下都可见 */
|
|
4327
|
+
.subagent-reply-cycle {
|
|
4328
|
+
position: absolute;
|
|
4329
|
+
right: 8px;
|
|
4330
|
+
bottom: 6px;
|
|
4331
|
+
display: inline-flex;
|
|
4332
|
+
align-items: center;
|
|
4333
|
+
gap: 3px;
|
|
4334
|
+
padding: 2px 8px;
|
|
4335
|
+
font-size: 0.7rem;
|
|
4336
|
+
font-weight: 500;
|
|
4337
|
+
line-height: 1.4;
|
|
4338
|
+
color: var(--agent-color, var(--accent));
|
|
4339
|
+
background: color-mix(in srgb, var(--agent-color, var(--accent)) 8%, var(--bg-surface, #fff));
|
|
4340
|
+
border: 1px solid color-mix(in srgb, var(--agent-color, var(--accent)) 28%, transparent);
|
|
4341
|
+
border-radius: 999px;
|
|
4342
|
+
cursor: pointer;
|
|
4343
|
+
user-select: none;
|
|
4344
|
+
transition: background 0.15s ease, transform 0.1s ease, border-color 0.15s ease;
|
|
4345
|
+
}
|
|
4346
|
+
.subagent-reply-cycle:hover {
|
|
4347
|
+
background: color-mix(in srgb, var(--agent-color, var(--accent)) 16%, var(--bg-surface, #fff));
|
|
4348
|
+
border-color: color-mix(in srgb, var(--agent-color, var(--accent)) 45%, transparent);
|
|
4349
|
+
}
|
|
4350
|
+
.subagent-reply-cycle:active {
|
|
4351
|
+
transform: translateY(1px);
|
|
4352
|
+
}
|
|
4353
|
+
.subagent-reply-cycle-icon {
|
|
4354
|
+
font-size: 0.7rem;
|
|
4355
|
+
line-height: 1;
|
|
4356
|
+
}
|
|
4357
|
+
|
|
4358
|
+
/* 内部滚动条做小一点,别抢戏 */
|
|
4359
|
+
.subagent-reply-scroll::-webkit-scrollbar {
|
|
4360
|
+
width: 6px;
|
|
4361
|
+
height: 6px;
|
|
4362
|
+
}
|
|
4363
|
+
.subagent-reply-scroll::-webkit-scrollbar-thumb {
|
|
4364
|
+
background: color-mix(in srgb, var(--agent-color, var(--accent)) 35%, transparent);
|
|
4365
|
+
border-radius: 3px;
|
|
4366
|
+
}
|
|
4367
|
+
.subagent-reply-scroll::-webkit-scrollbar-track {
|
|
4368
|
+
background: transparent;
|
|
4247
4369
|
}
|
|
4248
4370
|
|
|
4249
4371
|
/* ===== 消息使用量信息 ===== */
|
|
@@ -5707,20 +5829,39 @@
|
|
|
5707
5829
|
}
|
|
5708
5830
|
|
|
5709
5831
|
/* Markdown Content */
|
|
5710
|
-
|
|
5832
|
+
/* min-width:0 让该 flex 子项可以在窄屏下收缩到比内容更窄;
|
|
5833
|
+
overflow-wrap: anywhere + word-break: break-word 兜底超长不可断词(长 URL / 长 ID / 长 token)。 */
|
|
5834
|
+
.markdown-content {
|
|
5835
|
+
color: inherit;
|
|
5836
|
+
white-space: normal;
|
|
5837
|
+
overflow-x: hidden;
|
|
5838
|
+
max-width: 100%;
|
|
5839
|
+
min-width: 0;
|
|
5840
|
+
overflow-wrap: anywhere;
|
|
5841
|
+
word-break: break-word;
|
|
5842
|
+
}
|
|
5843
|
+
/* 代码块:长行强制 wrap,不出现横向滚动条。代码块在窄屏下也保持在
|
|
5844
|
+
可视范围内,用户不需要拖横滚条才能看到右侧内容。 */
|
|
5711
5845
|
.markdown-content .code-block pre {
|
|
5712
5846
|
overflow-x: hidden;
|
|
5713
5847
|
white-space: pre-wrap;
|
|
5714
5848
|
word-break: break-word;
|
|
5715
5849
|
overflow-wrap: anywhere;
|
|
5850
|
+
max-width: 100%;
|
|
5851
|
+
min-width: 0;
|
|
5716
5852
|
}
|
|
5717
|
-
.markdown-content p { margin: 0 0 8px 0; }
|
|
5853
|
+
.markdown-content p { margin: 0 0 8px 0; overflow-wrap: anywhere; word-break: break-word; }
|
|
5718
5854
|
.markdown-content p:last-child { margin-bottom: 0; }
|
|
5719
5855
|
.markdown-content strong { font-weight: 600; }
|
|
5720
5856
|
.markdown-content em { font-style: italic; }
|
|
5721
5857
|
.markdown-content ul, .markdown-content ol { margin: 8px 0; padding-left: 20px; }
|
|
5722
|
-
.markdown-content li { margin: 4px 0; }
|
|
5723
|
-
.markdown-content h1, .markdown-content h2, .markdown-content h3 {
|
|
5858
|
+
.markdown-content li { margin: 4px 0; overflow-wrap: anywhere; word-break: break-word; }
|
|
5859
|
+
.markdown-content h1, .markdown-content h2, .markdown-content h3 {
|
|
5860
|
+
margin: 16px 0 8px 0;
|
|
5861
|
+
font-weight: 600;
|
|
5862
|
+
overflow-wrap: anywhere;
|
|
5863
|
+
word-break: break-word;
|
|
5864
|
+
}
|
|
5724
5865
|
.markdown-content h1 { font-size: 1.25rem; }
|
|
5725
5866
|
.markdown-content h2 { font-size: 1.1rem; }
|
|
5726
5867
|
.markdown-content h3 { font-size: 1rem; }
|
|
@@ -5730,6 +5871,16 @@
|
|
|
5730
5871
|
border-left: 3px solid var(--accent);
|
|
5731
5872
|
background: rgba(197, 101, 61, 0.06);
|
|
5732
5873
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
5874
|
+
overflow-wrap: anywhere;
|
|
5875
|
+
word-break: break-word;
|
|
5876
|
+
}
|
|
5877
|
+
.markdown-content a {
|
|
5878
|
+
overflow-wrap: anywhere;
|
|
5879
|
+
word-break: break-all;
|
|
5880
|
+
}
|
|
5881
|
+
.markdown-content img {
|
|
5882
|
+
max-width: 100%;
|
|
5883
|
+
height: auto;
|
|
5733
5884
|
}
|
|
5734
5885
|
.markdown-content code:not(.code-block):not(.code-inline) {
|
|
5735
5886
|
font-family: var(--font-mono);
|
|
@@ -5737,6 +5888,8 @@
|
|
|
5737
5888
|
background: rgba(150, 118, 85, 0.12);
|
|
5738
5889
|
padding: 2px 5px;
|
|
5739
5890
|
border-radius: 4px;
|
|
5891
|
+
overflow-wrap: anywhere;
|
|
5892
|
+
word-break: break-all;
|
|
5740
5893
|
}
|
|
5741
5894
|
|
|
5742
5895
|
.markdown-content code.code-inline {
|
|
@@ -5745,6 +5898,8 @@
|
|
|
5745
5898
|
background: rgba(150, 118, 85, 0.12);
|
|
5746
5899
|
padding: 2px 5px;
|
|
5747
5900
|
border-radius: 4px;
|
|
5901
|
+
overflow-wrap: anywhere;
|
|
5902
|
+
word-break: break-all;
|
|
5748
5903
|
}
|
|
5749
5904
|
.markdown-content .md-table-wrap {
|
|
5750
5905
|
margin: 12px 0;
|
|
@@ -5756,6 +5911,7 @@
|
|
|
5756
5911
|
.markdown-content .md-table {
|
|
5757
5912
|
border-collapse: collapse;
|
|
5758
5913
|
width: 100%;
|
|
5914
|
+
table-layout: fixed;
|
|
5759
5915
|
font-size: 0.8125rem;
|
|
5760
5916
|
white-space: normal;
|
|
5761
5917
|
}
|
|
@@ -5765,6 +5921,8 @@
|
|
|
5765
5921
|
padding: 6px 10px;
|
|
5766
5922
|
text-align: left;
|
|
5767
5923
|
vertical-align: top;
|
|
5924
|
+
overflow-wrap: anywhere;
|
|
5925
|
+
word-break: break-word;
|
|
5768
5926
|
}
|
|
5769
5927
|
.markdown-content .md-table th {
|
|
5770
5928
|
background: rgba(150, 118, 85, 0.1);
|
|
@@ -5829,6 +5987,8 @@
|
|
|
5829
5987
|
white-space: pre-wrap;
|
|
5830
5988
|
word-break: break-word;
|
|
5831
5989
|
overflow-wrap: anywhere;
|
|
5990
|
+
max-width: 100%;
|
|
5991
|
+
min-width: 0;
|
|
5832
5992
|
}
|
|
5833
5993
|
.markdown-content pre code {
|
|
5834
5994
|
font-family: var(--font-mono);
|
|
@@ -5837,6 +5997,8 @@
|
|
|
5837
5997
|
color: #f5eadc;
|
|
5838
5998
|
background: transparent;
|
|
5839
5999
|
padding: 0;
|
|
6000
|
+
max-width: 100%;
|
|
6001
|
+
display: block;
|
|
5840
6002
|
}
|
|
5841
6003
|
|
|
5842
6004
|
/* Syntax Highlighting */
|
|
@@ -5918,6 +6080,73 @@
|
|
|
5918
6080
|
background-color: rgba(255, 255, 255, 0.9);
|
|
5919
6081
|
}
|
|
5920
6082
|
|
|
6083
|
+
/* 三件套(Mode / Model / Thinking)扁平文字版:
|
|
6084
|
+
去掉边框 / 背景 / chevron,只留纯文字 + · 分隔。点击文字区域弹出原生
|
|
6085
|
+
<select>(桌面端下拉、移动端滚轮选择),由透明的 .composer-text-hidden-select
|
|
6086
|
+
叠层承载交互。显示文本统一用 raw id(default / claude-sonnet-4-5 / standard…)。 */
|
|
6087
|
+
.composer-text-group {
|
|
6088
|
+
display: inline-flex;
|
|
6089
|
+
align-items: center;
|
|
6090
|
+
gap: 4px;
|
|
6091
|
+
min-width: 0;
|
|
6092
|
+
flex-wrap: nowrap;
|
|
6093
|
+
}
|
|
6094
|
+
.composer-text-pill {
|
|
6095
|
+
position: relative;
|
|
6096
|
+
font-family: var(--font-sans);
|
|
6097
|
+
font-size: 0.7rem;
|
|
6098
|
+
font-weight: 500;
|
|
6099
|
+
line-height: 1;
|
|
6100
|
+
padding: 2px 2px;
|
|
6101
|
+
color: var(--text-secondary);
|
|
6102
|
+
cursor: pointer;
|
|
6103
|
+
transition: color var(--transition-fast);
|
|
6104
|
+
display: inline-flex;
|
|
6105
|
+
align-items: center;
|
|
6106
|
+
justify-content: center;
|
|
6107
|
+
white-space: nowrap;
|
|
6108
|
+
box-sizing: border-box;
|
|
6109
|
+
user-select: none;
|
|
6110
|
+
max-width: 110px;
|
|
6111
|
+
letter-spacing: 0.01em;
|
|
6112
|
+
}
|
|
6113
|
+
.composer-text-pill:hover,
|
|
6114
|
+
.composer-text-pill:focus-within {
|
|
6115
|
+
color: var(--accent);
|
|
6116
|
+
}
|
|
6117
|
+
.composer-text-label {
|
|
6118
|
+
overflow: hidden;
|
|
6119
|
+
text-overflow: ellipsis;
|
|
6120
|
+
max-width: 100%;
|
|
6121
|
+
}
|
|
6122
|
+
.composer-text-hidden-select {
|
|
6123
|
+
position: absolute;
|
|
6124
|
+
inset: 0;
|
|
6125
|
+
width: 100%;
|
|
6126
|
+
height: 100%;
|
|
6127
|
+
margin: 0;
|
|
6128
|
+
padding: 0;
|
|
6129
|
+
border: 0;
|
|
6130
|
+
background: transparent;
|
|
6131
|
+
color: transparent;
|
|
6132
|
+
font: inherit;
|
|
6133
|
+
opacity: 0;
|
|
6134
|
+
cursor: pointer;
|
|
6135
|
+
appearance: none;
|
|
6136
|
+
-webkit-appearance: none;
|
|
6137
|
+
}
|
|
6138
|
+
.composer-text-hidden-select:focus { outline: none; }
|
|
6139
|
+
.composer-text-sep {
|
|
6140
|
+
color: var(--text-tertiary, #b5a89a);
|
|
6141
|
+
font-size: 0.7rem;
|
|
6142
|
+
line-height: 1;
|
|
6143
|
+
user-select: none;
|
|
6144
|
+
pointer-events: none;
|
|
6145
|
+
opacity: 0.65;
|
|
6146
|
+
}
|
|
6147
|
+
.chat-model-text-pill { max-width: 110px; }
|
|
6148
|
+
.chat-thinking-text-pill { max-width: 90px; }
|
|
6149
|
+
|
|
5921
6150
|
/* Permission actions inline in composer bar */
|
|
5922
6151
|
.permission-actions {
|
|
5923
6152
|
display: inline-flex;
|
|
@@ -6116,40 +6345,393 @@
|
|
|
6116
6345
|
flex: 1;
|
|
6117
6346
|
justify-content: flex-end;
|
|
6118
6347
|
}
|
|
6119
|
-
/*
|
|
6120
|
-
|
|
6121
|
-
|
|
6348
|
+
/* 旧 #queue-counter pill(v1.30.3 那颗藏在 input-hint 旁的小角标)已下线,
|
|
6349
|
+
由 .queue-bar(输入框上方独立浮条)接管。queuePulse / queueDotPulse 关键帧
|
|
6350
|
+
新组件继续复用,保留在下方。 */
|
|
6351
|
+
@keyframes queuePulse {
|
|
6352
|
+
0%, 100% { opacity: 1; }
|
|
6353
|
+
50% { opacity: 0.78; }
|
|
6354
|
+
}
|
|
6355
|
+
@keyframes queueDotPulse {
|
|
6356
|
+
0%, 100% { transform: scale(1); opacity: 1; }
|
|
6357
|
+
50% { transform: scale(0.7); opacity: 0.55; }
|
|
6358
|
+
}
|
|
6359
|
+
|
|
6360
|
+
/* ─────────────────────────────────────────────────────────────────────
|
|
6361
|
+
排队消息条(.queue-bar)—— 浮在 .input-composer 上方,靠 .queue-bar-host
|
|
6362
|
+
右对齐到对话框右下角。结构:
|
|
6363
|
+
.queue-bar (折叠条 row)
|
|
6364
|
+
├ .queue-bar-toggle (● 排队 N · 预览 ⌃)
|
|
6365
|
+
├ .queue-bar-divider
|
|
6366
|
+
├ .queue-bar-promote (⚡ 立即)
|
|
6367
|
+
└ .queue-bar-panel (展开后下拉的消息列表,默认隐)
|
|
6368
|
+
展开时给 .queue-bar 加 .expanded class,CSS 控制 panel 显形 + chevron 翻转。
|
|
6369
|
+
───────────────────────────────────────────────────────────────────── */
|
|
6370
|
+
.queue-bar-host {
|
|
6371
|
+
display: flex;
|
|
6372
|
+
justify-content: flex-end;
|
|
6373
|
+
padding: 0 6px 6px;
|
|
6374
|
+
position: relative;
|
|
6375
|
+
z-index: 2;
|
|
6376
|
+
pointer-events: none; /* host 自身不挡点击,bar 内子节点 auto */
|
|
6377
|
+
}
|
|
6378
|
+
.queue-bar-host[hidden] { display: none; }
|
|
6379
|
+
|
|
6380
|
+
.queue-bar {
|
|
6381
|
+
pointer-events: auto;
|
|
6382
|
+
position: relative;
|
|
6122
6383
|
display: inline-flex;
|
|
6123
|
-
align-items:
|
|
6124
|
-
gap:
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
|
|
6128
|
-
padding:
|
|
6384
|
+
align-items: stretch;
|
|
6385
|
+
gap: 0;
|
|
6386
|
+
width: 340px;
|
|
6387
|
+
max-width: calc(100% - 4px);
|
|
6388
|
+
height: 38px;
|
|
6389
|
+
padding: 0;
|
|
6129
6390
|
border-radius: 999px;
|
|
6130
|
-
|
|
6131
|
-
|
|
6132
|
-
|
|
6133
|
-
|
|
6134
|
-
|
|
6391
|
+
background: linear-gradient(180deg, #fffaf2 0%, #f6ead8 100%);
|
|
6392
|
+
box-shadow:
|
|
6393
|
+
0 0 0 1.2px rgba(197, 101, 61, 0.42),
|
|
6394
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.85),
|
|
6395
|
+
var(--shadow-sm);
|
|
6396
|
+
transition: box-shadow var(--transition-fast), transform var(--transition-fast);
|
|
6397
|
+
animation: queueBarEnter 220ms ease-out both;
|
|
6135
6398
|
}
|
|
6136
|
-
.queue-
|
|
6137
|
-
|
|
6138
|
-
|
|
6139
|
-
|
|
6399
|
+
.queue-bar:hover {
|
|
6400
|
+
transform: translateY(-1px);
|
|
6401
|
+
box-shadow:
|
|
6402
|
+
0 0 0 1.2px rgba(197, 101, 61, 0.55),
|
|
6403
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.9),
|
|
6404
|
+
var(--shadow-md);
|
|
6405
|
+
}
|
|
6406
|
+
.queue-bar.queue-bar-capacity {
|
|
6407
|
+
box-shadow:
|
|
6408
|
+
0 0 0 1.4px rgba(169, 106, 47, 0.6),
|
|
6409
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.85),
|
|
6410
|
+
var(--shadow-sm);
|
|
6411
|
+
}
|
|
6412
|
+
.queue-bar.queue-bar-inflight {
|
|
6413
|
+
animation: queueBarEnter 220ms ease-out both, queuePulse 1.6s ease-in-out 220ms infinite;
|
|
6414
|
+
}
|
|
6415
|
+
@keyframes queueBarEnter {
|
|
6416
|
+
from { opacity: 0; transform: translateY(4px) scale(0.98); }
|
|
6417
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
6418
|
+
}
|
|
6419
|
+
|
|
6420
|
+
.queue-bar-toggle {
|
|
6421
|
+
flex: 1 1 auto;
|
|
6422
|
+
min-width: 0;
|
|
6423
|
+
display: inline-flex;
|
|
6424
|
+
align-items: center;
|
|
6425
|
+
gap: 7px;
|
|
6426
|
+
padding: 0 10px 0 14px;
|
|
6427
|
+
border: none;
|
|
6428
|
+
background: transparent;
|
|
6429
|
+
cursor: pointer;
|
|
6430
|
+
font: inherit;
|
|
6431
|
+
color: var(--text-primary);
|
|
6432
|
+
border-radius: 999px 0 0 999px;
|
|
6433
|
+
text-align: left;
|
|
6434
|
+
}
|
|
6435
|
+
.queue-bar-toggle:focus-visible {
|
|
6436
|
+
outline: 2px solid var(--border-focus);
|
|
6437
|
+
outline-offset: -2px;
|
|
6438
|
+
}
|
|
6439
|
+
.queue-bar-dot {
|
|
6440
|
+
width: 8px;
|
|
6441
|
+
height: 8px;
|
|
6140
6442
|
border-radius: 50%;
|
|
6141
6443
|
background: var(--accent);
|
|
6142
6444
|
flex-shrink: 0;
|
|
6445
|
+
box-shadow: 0 0 0 2px rgba(197, 101, 61, 0.18);
|
|
6446
|
+
}
|
|
6447
|
+
.queue-bar-dot.queue-bar-dot-pulse {
|
|
6143
6448
|
animation: queueDotPulse 1.0s ease-in-out infinite;
|
|
6144
6449
|
}
|
|
6145
|
-
.queue-
|
|
6146
|
-
|
|
6147
|
-
|
|
6148
|
-
|
|
6450
|
+
.queue-bar-count {
|
|
6451
|
+
font-size: 0.75rem;
|
|
6452
|
+
font-weight: 600;
|
|
6453
|
+
color: var(--accent);
|
|
6454
|
+
letter-spacing: 0.02em;
|
|
6455
|
+
flex-shrink: 0;
|
|
6456
|
+
line-height: 1;
|
|
6149
6457
|
}
|
|
6150
|
-
|
|
6151
|
-
|
|
6152
|
-
|
|
6458
|
+
.queue-bar-sep {
|
|
6459
|
+
color: var(--text-muted);
|
|
6460
|
+
opacity: 0.55;
|
|
6461
|
+
font-size: 0.7rem;
|
|
6462
|
+
flex-shrink: 0;
|
|
6463
|
+
}
|
|
6464
|
+
.queue-bar-preview {
|
|
6465
|
+
font-size: 0.75rem;
|
|
6466
|
+
color: var(--text-secondary);
|
|
6467
|
+
flex: 1 1 auto;
|
|
6468
|
+
min-width: 0;
|
|
6469
|
+
overflow: hidden;
|
|
6470
|
+
text-overflow: ellipsis;
|
|
6471
|
+
white-space: nowrap;
|
|
6472
|
+
line-height: 1;
|
|
6473
|
+
}
|
|
6474
|
+
.queue-bar-chevron {
|
|
6475
|
+
color: var(--text-tertiary);
|
|
6476
|
+
flex-shrink: 0;
|
|
6477
|
+
transition: transform 180ms ease-out;
|
|
6478
|
+
}
|
|
6479
|
+
.queue-bar.expanded .queue-bar-chevron {
|
|
6480
|
+
transform: rotate(180deg);
|
|
6481
|
+
color: var(--accent);
|
|
6482
|
+
}
|
|
6483
|
+
|
|
6484
|
+
.queue-bar-divider {
|
|
6485
|
+
width: 1px;
|
|
6486
|
+
background: rgba(197, 101, 61, 0.28);
|
|
6487
|
+
margin: 7px 0;
|
|
6488
|
+
flex-shrink: 0;
|
|
6489
|
+
}
|
|
6490
|
+
|
|
6491
|
+
.queue-bar-promote {
|
|
6492
|
+
flex-shrink: 0;
|
|
6493
|
+
display: inline-flex;
|
|
6494
|
+
align-items: center;
|
|
6495
|
+
gap: 5px;
|
|
6496
|
+
padding: 0 14px 0 12px;
|
|
6497
|
+
border: none;
|
|
6498
|
+
cursor: pointer;
|
|
6499
|
+
font: inherit;
|
|
6500
|
+
font-size: 0.75rem;
|
|
6501
|
+
font-weight: 600;
|
|
6502
|
+
color: #fff;
|
|
6503
|
+
background: linear-gradient(180deg, var(--accent) 0%, var(--accent-active) 100%);
|
|
6504
|
+
border-radius: 0 999px 999px 0;
|
|
6505
|
+
letter-spacing: 0.04em;
|
|
6506
|
+
transition: filter var(--transition-fast), transform var(--transition-fast);
|
|
6507
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
|
|
6508
|
+
}
|
|
6509
|
+
.queue-bar-promote:hover { filter: brightness(1.06); }
|
|
6510
|
+
.queue-bar-promote:active { transform: scale(0.97); }
|
|
6511
|
+
.queue-bar-promote:focus-visible {
|
|
6512
|
+
outline: 2px solid var(--border-focus);
|
|
6513
|
+
outline-offset: 2px;
|
|
6514
|
+
}
|
|
6515
|
+
.queue-bar-promote svg { flex-shrink: 0; }
|
|
6516
|
+
.queue-bar-promote-label { line-height: 1; }
|
|
6517
|
+
|
|
6518
|
+
/* 展开面板:默认折叠(不可见 + 不占空间),加 .expanded 时滑出 */
|
|
6519
|
+
.queue-bar-panel {
|
|
6520
|
+
position: absolute;
|
|
6521
|
+
right: 0;
|
|
6522
|
+
bottom: calc(100% + 8px);
|
|
6523
|
+
width: min(380px, calc(100vw - 24px));
|
|
6524
|
+
max-height: 280px;
|
|
6525
|
+
display: flex;
|
|
6526
|
+
flex-direction: column;
|
|
6527
|
+
background: var(--bg-elevated);
|
|
6528
|
+
border-radius: 14px;
|
|
6529
|
+
box-shadow:
|
|
6530
|
+
0 0 0 1px var(--border-default),
|
|
6531
|
+
var(--shadow-lg);
|
|
6532
|
+
overflow: hidden;
|
|
6533
|
+
opacity: 0;
|
|
6534
|
+
transform: scale(0.96) translateY(4px);
|
|
6535
|
+
transform-origin: bottom right;
|
|
6536
|
+
pointer-events: none;
|
|
6537
|
+
transition: opacity 180ms ease-out, transform 180ms ease-out;
|
|
6538
|
+
}
|
|
6539
|
+
.queue-bar.expanded .queue-bar-panel {
|
|
6540
|
+
opacity: 1;
|
|
6541
|
+
transform: scale(1) translateY(0);
|
|
6542
|
+
pointer-events: auto;
|
|
6543
|
+
}
|
|
6544
|
+
|
|
6545
|
+
.queue-bar-panel-header {
|
|
6546
|
+
display: flex;
|
|
6547
|
+
align-items: center;
|
|
6548
|
+
gap: 8px;
|
|
6549
|
+
padding: 9px 12px;
|
|
6550
|
+
border-bottom: 1px solid var(--border-subtle);
|
|
6551
|
+
background: linear-gradient(180deg, rgba(246, 234, 216, 0.55) 0%, transparent 100%);
|
|
6552
|
+
}
|
|
6553
|
+
.queue-bar-panel-title {
|
|
6554
|
+
font-size: 0.78rem;
|
|
6555
|
+
font-weight: 600;
|
|
6556
|
+
color: var(--text-primary);
|
|
6557
|
+
flex: 1 1 auto;
|
|
6558
|
+
min-width: 0;
|
|
6559
|
+
}
|
|
6560
|
+
.queue-bar-clear,
|
|
6561
|
+
.queue-bar-collapse {
|
|
6562
|
+
display: inline-flex;
|
|
6563
|
+
align-items: center;
|
|
6564
|
+
gap: 3px;
|
|
6565
|
+
padding: 3px 9px;
|
|
6566
|
+
border: 1px solid transparent;
|
|
6567
|
+
background: transparent;
|
|
6568
|
+
cursor: pointer;
|
|
6569
|
+
font: inherit;
|
|
6570
|
+
font-size: 0.7rem;
|
|
6571
|
+
color: var(--text-tertiary);
|
|
6572
|
+
border-radius: 8px;
|
|
6573
|
+
transition: all var(--transition-fast);
|
|
6574
|
+
line-height: 1;
|
|
6575
|
+
}
|
|
6576
|
+
.queue-bar-clear:hover:not([disabled]) {
|
|
6577
|
+
color: var(--danger);
|
|
6578
|
+
background: var(--danger-muted);
|
|
6579
|
+
border-color: rgba(178, 79, 69, 0.25);
|
|
6580
|
+
}
|
|
6581
|
+
.queue-bar-clear[disabled] {
|
|
6582
|
+
opacity: 0.4;
|
|
6583
|
+
cursor: not-allowed;
|
|
6584
|
+
}
|
|
6585
|
+
.queue-bar-collapse:hover {
|
|
6586
|
+
color: var(--accent);
|
|
6587
|
+
background: var(--accent-muted);
|
|
6588
|
+
}
|
|
6589
|
+
.queue-bar-collapse svg { flex-shrink: 0; }
|
|
6590
|
+
|
|
6591
|
+
.queue-bar-list {
|
|
6592
|
+
list-style: none;
|
|
6593
|
+
margin: 0;
|
|
6594
|
+
padding: 6px;
|
|
6595
|
+
display: flex;
|
|
6596
|
+
flex-direction: column;
|
|
6597
|
+
gap: 6px;
|
|
6598
|
+
overflow-y: auto;
|
|
6599
|
+
overscroll-behavior: contain;
|
|
6600
|
+
flex: 1 1 auto;
|
|
6601
|
+
min-height: 0;
|
|
6602
|
+
}
|
|
6603
|
+
|
|
6604
|
+
.queue-bar-item {
|
|
6605
|
+
display: flex;
|
|
6606
|
+
align-items: flex-start;
|
|
6607
|
+
gap: 6px;
|
|
6608
|
+
padding: 8px 8px 8px 4px;
|
|
6609
|
+
background: var(--bg-surface);
|
|
6610
|
+
border: 1px solid var(--border-subtle);
|
|
6611
|
+
border-radius: 10px;
|
|
6612
|
+
position: relative;
|
|
6613
|
+
transition: transform 140ms ease-out, box-shadow var(--transition-fast),
|
|
6614
|
+
background var(--transition-fast), border-color var(--transition-fast);
|
|
6615
|
+
will-change: transform;
|
|
6616
|
+
}
|
|
6617
|
+
.queue-bar-item:hover {
|
|
6618
|
+
background: rgba(255, 251, 245, 0.92);
|
|
6619
|
+
border-color: var(--border-default);
|
|
6620
|
+
}
|
|
6621
|
+
.queue-bar-item.dragging {
|
|
6622
|
+
z-index: 5;
|
|
6623
|
+
box-shadow: var(--shadow-lg), 0 0 0 1.5px var(--accent);
|
|
6624
|
+
background: var(--bg-elevated);
|
|
6625
|
+
transition: box-shadow var(--transition-fast); /* dragging 期间禁用 transform 过渡 */
|
|
6626
|
+
cursor: grabbing;
|
|
6627
|
+
}
|
|
6628
|
+
.queue-bar-item-sliding {
|
|
6629
|
+
transition: transform 140ms ease-out;
|
|
6630
|
+
}
|
|
6631
|
+
|
|
6632
|
+
.queue-bar-item-drag {
|
|
6633
|
+
flex-shrink: 0;
|
|
6634
|
+
width: 18px;
|
|
6635
|
+
height: 28px;
|
|
6636
|
+
border: none;
|
|
6637
|
+
background: transparent;
|
|
6638
|
+
cursor: grab;
|
|
6639
|
+
color: var(--text-muted);
|
|
6640
|
+
padding: 0;
|
|
6641
|
+
display: inline-flex;
|
|
6642
|
+
align-items: center;
|
|
6643
|
+
justify-content: center;
|
|
6644
|
+
border-radius: 4px;
|
|
6645
|
+
touch-action: none; /* 不让浏览器抢走拖拽手势用作滚动 */
|
|
6646
|
+
transition: color var(--transition-fast), background var(--transition-fast);
|
|
6647
|
+
}
|
|
6648
|
+
.queue-bar-item-drag:hover { color: var(--accent); background: var(--accent-muted); }
|
|
6649
|
+
.queue-bar-item-drag:active { cursor: grabbing; }
|
|
6650
|
+
.queue-bar-item-drag[disabled] {
|
|
6651
|
+
opacity: 0.35;
|
|
6652
|
+
cursor: default;
|
|
6653
|
+
}
|
|
6654
|
+
.queue-bar-item-drag[disabled]:hover {
|
|
6655
|
+
color: var(--text-muted);
|
|
6656
|
+
background: transparent;
|
|
6657
|
+
}
|
|
6658
|
+
|
|
6659
|
+
.queue-bar-item-index {
|
|
6660
|
+
flex-shrink: 0;
|
|
6661
|
+
font-family: var(--font-mono);
|
|
6662
|
+
font-size: 0.65rem;
|
|
6663
|
+
font-weight: 600;
|
|
6664
|
+
color: var(--accent);
|
|
6665
|
+
background: var(--accent-muted);
|
|
6666
|
+
padding: 3px 6px;
|
|
6667
|
+
border-radius: 6px;
|
|
6668
|
+
line-height: 1;
|
|
6669
|
+
margin-top: 1px;
|
|
6670
|
+
min-width: 26px;
|
|
6671
|
+
text-align: center;
|
|
6672
|
+
}
|
|
6673
|
+
|
|
6674
|
+
.queue-bar-item-text {
|
|
6675
|
+
flex: 1 1 auto;
|
|
6676
|
+
min-width: 0;
|
|
6677
|
+
border: none;
|
|
6678
|
+
background: transparent;
|
|
6679
|
+
cursor: pointer;
|
|
6680
|
+
font: inherit;
|
|
6681
|
+
font-size: 0.78rem;
|
|
6682
|
+
color: var(--text-primary);
|
|
6683
|
+
text-align: left;
|
|
6684
|
+
padding: 1px 0;
|
|
6685
|
+
line-height: 1.4;
|
|
6686
|
+
display: -webkit-box;
|
|
6687
|
+
-webkit-line-clamp: 2;
|
|
6688
|
+
-webkit-box-orient: vertical;
|
|
6689
|
+
overflow: hidden;
|
|
6690
|
+
white-space: pre-wrap;
|
|
6691
|
+
word-break: break-word;
|
|
6692
|
+
transition: color var(--transition-fast);
|
|
6693
|
+
}
|
|
6694
|
+
.queue-bar-item.expanded .queue-bar-item-text {
|
|
6695
|
+
display: block;
|
|
6696
|
+
-webkit-line-clamp: unset;
|
|
6697
|
+
max-height: 200px;
|
|
6698
|
+
overflow-y: auto;
|
|
6699
|
+
}
|
|
6700
|
+
.queue-bar-item-text:hover { color: var(--accent); }
|
|
6701
|
+
|
|
6702
|
+
.queue-bar-item-delete {
|
|
6703
|
+
flex-shrink: 0;
|
|
6704
|
+
width: 22px;
|
|
6705
|
+
height: 22px;
|
|
6706
|
+
border: none;
|
|
6707
|
+
background: transparent;
|
|
6708
|
+
cursor: pointer;
|
|
6709
|
+
color: var(--text-muted);
|
|
6710
|
+
border-radius: 6px;
|
|
6711
|
+
display: inline-flex;
|
|
6712
|
+
align-items: center;
|
|
6713
|
+
justify-content: center;
|
|
6714
|
+
opacity: 0;
|
|
6715
|
+
transition: opacity var(--transition-fast), color var(--transition-fast),
|
|
6716
|
+
background var(--transition-fast);
|
|
6717
|
+
}
|
|
6718
|
+
.queue-bar-item:hover .queue-bar-item-delete,
|
|
6719
|
+
.queue-bar-item:focus-within .queue-bar-item-delete {
|
|
6720
|
+
opacity: 1;
|
|
6721
|
+
}
|
|
6722
|
+
.queue-bar-item-delete:hover {
|
|
6723
|
+
color: var(--danger);
|
|
6724
|
+
background: var(--danger-muted);
|
|
6725
|
+
}
|
|
6726
|
+
|
|
6727
|
+
/* 窄屏:bar 撑满,preview 隐藏,操作按钮始终显形 */
|
|
6728
|
+
@media (max-width: 560px) {
|
|
6729
|
+
.queue-bar-host { padding: 0 4px 6px; }
|
|
6730
|
+
.queue-bar { width: 100%; }
|
|
6731
|
+
.queue-bar-preview { display: none; }
|
|
6732
|
+
.queue-bar-sep { display: none; }
|
|
6733
|
+
.queue-bar-item-delete { opacity: 1; }
|
|
6734
|
+
.queue-bar-panel { width: calc(100vw - 16px); right: -2px; }
|
|
6153
6735
|
}
|
|
6154
6736
|
|
|
6155
6737
|
/* Queued message in chat view:用户最容易"觉得排队没生效"是因为旧版徽章太小。
|
|
@@ -9282,19 +9864,26 @@
|
|
|
9282
9864
|
|
|
9283
9865
|
/* 平板适配 */
|
|
9284
9866
|
@media (max-width: 768px) {
|
|
9867
|
+
/* 手机隐藏「固定侧栏」按钮:手机上完整 300px 常驻太占地,
|
|
9868
|
+
只保留「收起为窄条」按钮,让用户能切到 56px 窄条形态。 */
|
|
9285
9869
|
.sidebar-pin-toggle { display: none; }
|
|
9286
|
-
|
|
9287
|
-
|
|
9870
|
+
/* drawer 模式(pinned 但非窄条)下若未打开,则隐藏到屏幕左侧。
|
|
9871
|
+
窄条模式(pinned + collapsed)由 .sidebar.pinned.collapsed 的 width:56px
|
|
9872
|
+
规则常驻显示,不进入这条隐藏分支。 */
|
|
9873
|
+
.sidebar.pinned:not(.collapsed):not(.open) {
|
|
9288
9874
|
transform: translateX(-100%);
|
|
9289
9875
|
pointer-events: none;
|
|
9290
9876
|
opacity: 0;
|
|
9291
9877
|
}
|
|
9292
|
-
|
|
9878
|
+
/* 与上方对称:drawer 模式下取消 anchored padding;
|
|
9879
|
+
窄条模式(.sidebar-pinned.sidebar-collapsed)继承全局 56px padding。 */
|
|
9880
|
+
.main-layout.sidebar-pinned:not(.sidebar-collapsed) {
|
|
9293
9881
|
padding-left: 0;
|
|
9294
9882
|
}
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9883
|
+
/* drawer 模式(未 anchored)默认就显示 hamburger(继承全局 inline-flex)。
|
|
9884
|
+
窄条模式(.sidebar-pinned.sidebar-collapsed)由全局
|
|
9885
|
+
`.main-layout.sidebar-pinned .floating-sidebar-toggle{display:none}`
|
|
9886
|
+
隐藏 hamburger,窄条自身就是入口。 */
|
|
9298
9887
|
.app-container {
|
|
9299
9888
|
--layout-main-file-panel-width: 0px;
|
|
9300
9889
|
}
|
|
@@ -10049,6 +10638,26 @@
|
|
|
10049
10638
|
}
|
|
10050
10639
|
}
|
|
10051
10640
|
|
|
10641
|
+
/* ===== 手机竖屏(≤480px)—— 进一步收紧 chat 视图 padding,
|
|
10642
|
+
并允许 tool-use 卡片头部 wrap,避免在极窄宽度下被裁切。 ===== */
|
|
10643
|
+
@media (max-width: 480px) {
|
|
10644
|
+
.chat-container { padding: 0 6px 8px; }
|
|
10645
|
+
.chat-messages { padding-left: 2px; padding-right: 2px; gap: 12px; }
|
|
10646
|
+
.chat-message { --chat-card-max-width: 100%; }
|
|
10647
|
+
.tool-use-header {
|
|
10648
|
+
flex-wrap: wrap;
|
|
10649
|
+
row-gap: 4px;
|
|
10650
|
+
padding: 8px 12px;
|
|
10651
|
+
}
|
|
10652
|
+
.tool-use-file { max-width: 100%; }
|
|
10653
|
+
.tool-use-body { padding: 10px 12px; }
|
|
10654
|
+
.subagent-reply { padding: 9px 12px; }
|
|
10655
|
+
.markdown-content .code-block { margin: 8px 0; }
|
|
10656
|
+
.markdown-content pre,
|
|
10657
|
+
.markdown-content .code-block pre,
|
|
10658
|
+
.subagent-reply pre { padding: 10px; }
|
|
10659
|
+
}
|
|
10660
|
+
|
|
10052
10661
|
/* Blank chat mobile optimization */
|
|
10053
10662
|
.session-kind-badge {
|
|
10054
10663
|
display: inline-flex;
|