-
- {{ msg.author }}
- {{ msg.time }}
-
-
{{ msg.text }}
-
-
+
+
+
+
+
+
+ {{ msg.author }}
+ {{ msg.time }}
+
+ ARS 回复
+
+
+ 提示词
+
+
+
{{ msg.text }}
+
-
+
-
-
+
-
-
- 发送
-
+ ↓ 回到底部
+
+
+
+
+ +
+
+
+
+
+ 发送
+
+
@@ -373,52 +725,82 @@ const handleSend = () => {
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(0, 0, 0, 0.04);
box-shadow: 0 18px 32px rgba(17, 24, 39, 0.08);
+ align-items: center;
}
.history {
display: flex;
flex-direction: column;
gap: 12px;
- max-height: 48vh;
- overflow: auto;
- padding-right: 8px;
- scrollbar-width: thin;
- scrollbar-color: rgba(37, 99, 235, 0.25) rgba(255, 255, 255, 0.8);
+ width: min(980px, 100%);
+ padding: 0 12px;
+ margin: 0 auto;
}
-.history::-webkit-scrollbar {
- width: 8px;
+.skeleton {
+ padding: 12px 8px;
}
-.history::-webkit-scrollbar-thumb {
- background: rgba(37, 99, 235, 0.3);
- border-radius: 10px;
+.history-error {
+ margin-bottom: 8px;
+}
+
+.composer-dock {
+ position: sticky;
+ bottom: 0;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 8px;
+ padding: 8px 0;
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
+}
+
+.jump-down {
+ border: 1px solid rgba(37, 99, 235, 0.2);
+ background: rgba(255, 255, 255, 0.92);
+ color: #1d4ed8;
+ border-radius: 999px;
+ padding: 6px 12px;
+ box-shadow: 0 10px 20px rgba(17, 24, 39, 0.08);
+ cursor: pointer;
+ transition: transform 0.12s ease, box-shadow 0.12s ease;
+}
+
+.jump-down:hover {
+ transform: translateY(-1px);
+ box-shadow: 0 14px 28px rgba(17, 24, 39, 0.12);
}
.bubble {
- padding: 12px 14px;
- border-radius: 14px;
+ padding: 14px 16px;
+ border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.05);
- max-width: 760px;
+ max-width: 820px;
box-shadow: 0 10px 20px rgba(17, 24, 39, 0.06);
+ width: calc(100% - 48px);
+ align-self: center;
+ background: #ffffff;
+ word-break: break-word;
+ white-space: pre-wrap;
+ position: relative;
}
.bubble-user {
- align-self: flex-end;
- background: linear-gradient(135deg, #e7f0ff, #dfe9ff);
border-color: rgba(37, 99, 235, 0.18);
+ background: linear-gradient(135deg, #edf2ff, #e5edff);
}
.bubble-agent {
- align-self: flex-start;
- background: #ffffff;
+ border-color: rgba(0, 0, 0, 0.04);
}
.bubble-head {
display: flex;
align-items: center;
- gap: 8px;
- margin-bottom: 4px;
+ gap: 10px;
+ margin-bottom: 6px;
}
.author {
@@ -432,9 +814,10 @@ const handleSend = () => {
}
.bubble-text {
- margin: 0 0 6px;
+ margin: 0 0 8px;
color: #111827;
- line-height: 1.6;
+ line-height: 1.7;
+ font-size: 15px;
}
.attachment-list {
@@ -451,6 +834,7 @@ const handleSend = () => {
padding: 8px 10px;
border-radius: 10px;
background: rgba(15, 23, 42, 0.03);
+ word-break: break-word;
}
.attachment.file {
@@ -484,10 +868,12 @@ const handleSend = () => {
grid-template-columns: auto 1fr auto;
gap: 10px;
align-items: flex-start;
- padding: 12px;
+ padding: 14px;
border-radius: 14px;
background: #f7f9fc;
border: 1px solid rgba(0, 0, 0, 0.04);
+ width: min(980px, 100%);
+ box-shadow: 0 12px 30px rgba(17, 24, 39, 0.12);
}
.add-btn {
@@ -513,6 +899,7 @@ const handleSend = () => {
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.06);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
+ min-height: 110px;
}
.send-btn {
@@ -592,6 +979,7 @@ const handleSend = () => {
.composer {
grid-template-columns: 1fr;
+ width: 100%;
}
.add-btn {