Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qjclaw-dmg
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AI-甘富林
qjclaw-dmg
Commits
613f5921
Commit
613f5921
authored
May 13, 2026
by
edy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ui): refresh desktop client visuals
parent
f7047bcf
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
275 additions
and
71 deletions
+275
-71
BindEntry.tsx
apps/ui/src/features/chat/BindEntry.tsx
+8
-3
base.css
apps/ui/src/styles/base.css
+5
-0
components.css
apps/ui/src/styles/components.css
+65
-5
shell.css
apps/ui/src/styles/shell.css
+47
-25
theme-openclaw.css
apps/ui/src/styles/theme-openclaw.css
+150
-38
No files found.
apps/ui/src/features/chat/BindEntry.tsx
View file @
613f5921
...
@@ -15,6 +15,8 @@ export function BindEntry({
...
@@ -15,6 +15,8 @@ export function BindEntry({
onLobsterKeyChange
,
onLobsterKeyChange
,
onSave
onSave
}:
BindEntryProps
)
{
}:
BindEntryProps
)
{
const
bindingSteps
=
[
"同步聊天配置"
,
"启用专家与插件"
,
"进入桌面协作工作台"
]
return
(
return
(
<
div
className=
"bind-entry bind-entry-elevated"
>
<
div
className=
"bind-entry bind-entry-elevated"
>
<
div
className=
"bind-entry-copy"
>
<
div
className=
"bind-entry-copy"
>
...
@@ -23,9 +25,12 @@ export function BindEntry({
...
@@ -23,9 +25,12 @@ export function BindEntry({
<
p
>
输入龙虾密钥后即可完成身份绑定,同步工作区配置并解锁专家对话、插件协作与运行时能力。
</
p
>
<
p
>
输入龙虾密钥后即可完成身份绑定,同步工作区配置并解锁专家对话、插件协作与运行时能力。
</
p
>
</
div
>
</
div
>
<
div
className=
"bind-entry-benefits"
aria
-
label=
"绑定后可用能力"
>
<
div
className=
"bind-entry-benefits"
aria
-
label=
"绑定后可用能力"
>
<
span
>
同步聊天配置
</
span
>
{
bindingSteps
.
map
((
step
,
index
)
=>
(
<
span
>
启用专家与插件
</
span
>
<
span
key=
{
step
}
className=
"bind-entry-benefit"
>
<
span
>
进入桌面协作工作台
</
span
>
<
span
className=
"bind-entry-benefit-index"
aria
-
hidden=
"true"
>
{
index
+
1
}
</
span
>
<
span
>
{
step
}
</
span
>
</
span
>
))
}
</
div
>
</
div
>
<
div
className=
"bind-row"
>
<
div
className=
"bind-row"
>
<
input
<
input
...
...
apps/ui/src/styles/base.css
View file @
613f5921
...
@@ -106,6 +106,11 @@
...
@@ -106,6 +106,11 @@
--shadow-card
:
0
10px
24px
rgba
(
15
,
23
,
42
,
0.06
);
--shadow-card
:
0
10px
24px
rgba
(
15
,
23
,
42
,
0.06
);
--shadow-button
:
0
8px
16px
rgba
(
37
,
99
,
235
,
0.18
);
--shadow-button
:
0
8px
16px
rgba
(
37
,
99
,
235
,
0.18
);
--shadow-floating
:
0
20px
40px
rgba
(
15
,
23
,
42
,
0.1
);
--shadow-floating
:
0
20px
40px
rgba
(
15
,
23
,
42
,
0.1
);
--gradient-primary
:
linear-gradient
(
135deg
,
#2563eb
0%
,
#7c3aed
100%
);
--gradient-primary-soft
:
linear-gradient
(
135deg
,
rgba
(
37
,
99
,
235
,
0.12
)
0%
,
rgba
(
124
,
58
,
237
,
0.1
)
100%
);
--surface-card
:
rgba
(
255
,
255
,
255
,
0.9
);
--surface-card-strong
:
#ffffff
;
--border-card
:
rgba
(
148
,
163
,
184
,
0.26
);
color
:
var
(
--color-text-primary
);
color
:
var
(
--color-text-primary
);
background
:
var
(
--color-bg-primary
);
background
:
var
(
--color-bg-primary
);
...
...
apps/ui/src/styles/components.css
View file @
613f5921
...
@@ -69,15 +69,73 @@
...
@@ -69,15 +69,73 @@
}
}
.bind-entry
{
.bind-entry
{
padding
:
14px
;
width
:
min
(
100%
,
720px
);
border-radius
:
16px
;
justify-self
:
center
;
border
:
1px
dashed
#cfdced
;
align-self
:
center
;
background
:
#f8fbff
;
padding
:
26px
;
border-radius
:
22px
;
border
:
1px
solid
var
(
--border-card
);
background
:
var
(
--surface-card-strong
);
box-shadow
:
var
(
--shadow-floating
);
}
}
.bind-entry-copy
{
.bind-entry-copy
{
display
:
grid
;
display
:
grid
;
gap
:
6px
;
justify-items
:
center
;
gap
:
8px
;
text-align
:
center
;
}
.bind-entry-copy
strong
{
color
:
#0f172a
;
font-size
:
24px
;
line-height
:
1.25
;
}
.bind-entry-kicker
{
display
:
inline-flex
;
align-items
:
center
;
min-height
:
24px
;
padding
:
0
10px
;
border-radius
:
999px
;
border
:
1px
solid
rgba
(
37
,
99
,
235
,
0.2
);
background
:
rgba
(
239
,
246
,
255
,
0.82
);
color
:
#1d4ed8
;
font-size
:
12px
;
font-weight
:
700
;
}
.bind-entry-benefits
{
display
:
grid
;
grid-template-columns
:
repeat
(
3
,
minmax
(
0
,
1
fr
));
gap
:
10px
;
}
.bind-entry-benefit
{
min-width
:
0
;
display
:
flex
;
align-items
:
center
;
gap
:
8px
;
padding
:
10px
12px
;
border-radius
:
14px
;
border
:
1px
solid
rgba
(
37
,
99
,
235
,
0.14
);
background
:
linear-gradient
(
180deg
,
#ffffff
,
#f8fbff
);
color
:
#31516f
;
font-size
:
13px
;
font-weight
:
600
;
}
.bind-entry-benefit-index
{
width
:
22px
;
height
:
22px
;
flex
:
0
0
auto
;
display
:
inline-grid
;
place-items
:
center
;
border-radius
:
999px
;
background
:
var
(
--gradient-primary
);
color
:
#ffffff
;
font-size
:
12px
;
line-height
:
1
;
}
}
.bind-row
input
{
flex
:
1
1
auto
;
}
.bind-row
input
{
flex
:
1
1
auto
;
}
...
@@ -1220,6 +1278,8 @@ select:focus-visible {
...
@@ -1220,6 +1278,8 @@ select:focus-visible {
.startup-overlay-tagline
{
font-size
:
13px
;
letter-spacing
:
0.24em
;
}
.startup-overlay-tagline
{
font-size
:
13px
;
letter-spacing
:
0.24em
;
}
.startup-overlay-body
{
width
:
100%
;
margin-top
:
28px
;
}
.startup-overlay-body
{
width
:
100%
;
margin-top
:
28px
;
}
.startup-overlay-status
{
width
:
100%
;
}
.startup-overlay-status
{
width
:
100%
;
}
.bind-entry
{
padding
:
20px
;
}
.bind-entry-benefits
{
grid-template-columns
:
1
fr
;
}
.header-actions
,
.header-actions
,
.button-row
,
.button-row
,
.mini-info
,
.mini-info
,
...
...
apps/ui/src/styles/shell.css
View file @
613f5921
...
@@ -399,19 +399,15 @@
...
@@ -399,19 +399,15 @@
padding
:
28px
;
padding
:
28px
;
overflow
:
hidden
;
overflow
:
hidden
;
background
:
background
:
radial-gradient
(
circle
at
16%
18%
,
rgba
(
90
,
176
,
255
,
0.34
),
transparent
28%
),
linear-gradient
(
135deg
,
rgba
(
219
,
234
,
254
,
0.94
)
0%
,
rgba
(
245
,
243
,
255
,
0.9
)
48%
,
rgba
(
255
,
255
,
255
,
0.98
)
100%
),
radial-gradient
(
circle
at
84%
16%
,
rgba
(
255
,
255
,
255
,
0.92
),
transparent
34%
),
linear-gradient
(
180deg
,
#eff6ff
0%
,
#ffffff
100%
);
radial-gradient
(
circle
at
50%
78%
,
rgba
(
190
,
228
,
255
,
0.36
),
transparent
38%
),
linear-gradient
(
145deg
,
#dff1ff
0%
,
#edf7ff
42%
,
#ffffff
100%
);
}
}
.startup-overlay
::before
,
.startup-overlay
::before
,
.startup-overlay
::after
{
.startup-overlay
::after
{
content
:
""
;
content
:
""
;
position
:
absolute
;
position
:
absolute
;
border-radius
:
999px
;
opacity
:
0
;
filter
:
blur
(
18px
);
opacity
:
0.55
;
pointer-events
:
none
;
pointer-events
:
none
;
}
}
...
@@ -434,14 +430,20 @@
...
@@ -434,14 +430,20 @@
.startup-overlay-panel
{
.startup-overlay-panel
{
position
:
relative
;
position
:
relative
;
z-index
:
1
;
z-index
:
1
;
width
:
min
(
76
0px
,
100%
);
width
:
min
(
68
0px
,
100%
);
min-height
:
auto
;
min-height
:
auto
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
gap
:
0
;
gap
:
0
;
padding
:
0
;
padding
:
36px
;
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.38
);
border-radius
:
30px
;
background
:
rgba
(
255
,
255
,
255
,
0.72
);
box-shadow
:
0
30px
70px
rgba
(
37
,
99
,
235
,
0.14
);
backdrop-filter
:
blur
(
18px
);
-webkit-backdrop-filter
:
blur
(
18px
);
text-align
:
center
;
text-align
:
center
;
animation
:
startup-overlay-enter
420ms
ease-out
both
;
animation
:
startup-overlay-enter
420ms
ease-out
both
;
}
}
...
@@ -461,11 +463,11 @@
...
@@ -461,11 +463,11 @@
.startup-overlay-copy
h1
{
.startup-overlay-copy
h1
{
margin
:
0
;
margin
:
0
;
font-size
:
clamp
(
56px
,
6vw
,
84
px
);
font-size
:
clamp
(
48px
,
5vw
,
72
px
);
line-height
:
1.02
;
line-height
:
1.02
;
letter-spacing
:
-0.06em
;
letter-spacing
:
0
;
font-weight
:
800
;
font-weight
:
800
;
background-image
:
linear-gradient
(
135deg
,
#
9fd4ff
0%
,
#bdd7ff
45%
,
#d8c5ff
100%
);
background-image
:
linear-gradient
(
135deg
,
#
1d4ed8
0%
,
#2563eb
46%
,
#7c3aed
100%
);
-webkit-background-clip
:
text
;
-webkit-background-clip
:
text
;
background-clip
:
text
;
background-clip
:
text
;
color
:
transparent
;
color
:
transparent
;
...
@@ -490,15 +492,16 @@
...
@@ -490,15 +492,16 @@
}
}
.startup-overlay-mark-shell
{
.startup-overlay-mark-shell
{
width
:
6
0
px
;
width
:
6
4
px
;
height
:
6
0
px
;
height
:
6
4
px
;
flex
:
0
0
auto
;
flex
:
0
0
auto
;
display
:
inline-flex
;
display
:
inline-flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
border-radius
:
0
;
border-radius
:
18px
;
background
:
transparent
;
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.42
);
box-shadow
:
none
;
background
:
rgba
(
255
,
255
,
255
,
0.78
);
box-shadow
:
0
16px
32px
rgba
(
37
,
99
,
235
,
0.14
);
}
}
.startup-overlay-logo
{
.startup-overlay-logo
{
...
@@ -512,9 +515,9 @@
...
@@ -512,9 +515,9 @@
margin
:
0
;
margin
:
0
;
font-size
:
15px
;
font-size
:
15px
;
font-weight
:
600
;
font-weight
:
600
;
letter-spacing
:
0.
32
em
;
letter-spacing
:
0.
18
em
;
text-transform
:
uppercase
;
text-transform
:
uppercase
;
color
:
#
7ea2d9
;
color
:
#
5c78a0
;
}
}
.startup-overlay-body
{
.startup-overlay-body
{
...
@@ -523,45 +526,64 @@
...
@@ -523,45 +526,64 @@
justify-items
:
center
;
justify-items
:
center
;
gap
:
16px
;
gap
:
16px
;
margin-top
:
34px
;
margin-top
:
34px
;
padding
:
18px
;
border-radius
:
22px
;
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.3
);
background
:
rgba
(
255
,
255
,
255
,
0.74
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.84
);
}
}
.startup-overlay-progress
{
.startup-overlay-progress
{
width
:
100%
;
width
:
100%
;
height
:
7
px
;
height
:
8
px
;
overflow
:
hidden
;
overflow
:
hidden
;
border-radius
:
999px
;
border-radius
:
999px
;
background
:
rgba
(
1
28
,
174
,
223
,
0.18
);
background
:
rgba
(
1
48
,
163
,
184
,
0.18
);
}
}
.startup-overlay-progress
span
{
.startup-overlay-progress
span
{
display
:
block
;
display
:
block
;
height
:
100%
;
height
:
100%
;
border-radius
:
inherit
;
border-radius
:
inherit
;
background
:
linear-gradient
(
90deg
,
#
69bcff
0%
,
#3f8cff
100%
);
background
:
linear-gradient
(
90deg
,
#
2563eb
0%
,
#7c3aed
100%
);
box-shadow
:
0
0
18px
rgba
(
63
,
140
,
255
,
0.28
);
box-shadow
:
0
0
18px
rgba
(
37
,
99
,
235
,
0.24
);
transition
:
width
240ms
ease
;
transition
:
width
240ms
ease
;
}
}
.startup-overlay-status
{
.startup-overlay-status
{
width
:
100%
;
display
:
grid
;
display
:
grid
;
gap
:
8px
;
gap
:
8px
;
justify-items
:
center
;
justify-items
:
center
;
}
}
.startup-overlay-status
strong
{
.startup-overlay-status
strong
{
color
:
#
1f426d
;
color
:
#
0f2f59
;
font-size
:
16px
;
font-size
:
16px
;
line-height
:
1.5
;
line-height
:
1.5
;
}
}
.startup-overlay-status
span
{
.startup-overlay-status
span
{
color
:
#
67819f
;
color
:
#
5f7188
;
font-size
:
13px
;
font-size
:
13px
;
line-height
:
1.7
;
line-height
:
1.7
;
}
}
.startup-overlay-detail
{
width
:
100%
;
margin
:
4px
0
0
;
padding
:
10px
12px
;
border-radius
:
14px
;
border
:
1px
solid
rgba
(
239
,
68
,
68
,
0.18
);
background
:
rgba
(
254
,
242
,
242
,
0.84
);
color
:
#9f2f2f
;
font-size
:
13px
;
line-height
:
1.6
;
}
.startup-overlay-actions
{
.startup-overlay-actions
{
justify-content
:
center
;
justify-content
:
center
;
flex-wrap
:
wrap
;
}
}
@keyframes
startup-overlay-enter
{
@keyframes
startup-overlay-enter
{
...
...
apps/ui/src/styles/theme-openclaw.css
View file @
613f5921
...
@@ -10,6 +10,10 @@
...
@@ -10,6 +10,10 @@
--revamp-blue-strong
:
#1d4ed8
;
--revamp-blue-strong
:
#1d4ed8
;
--revamp-blue-soft
:
#e0edff
;
--revamp-blue-soft
:
#e0edff
;
--revamp-blue-border
:
rgba
(
59
,
130
,
246
,
0.48
);
--revamp-blue-border
:
rgba
(
59
,
130
,
246
,
0.48
);
--revamp-violet
:
#7c3aed
;
--revamp-violet-soft
:
#ede9fe
;
--revamp-gradient
:
linear-gradient
(
135deg
,
#2563eb
0%
,
#7c3aed
100%
);
--revamp-gradient-soft
:
linear-gradient
(
135deg
,
rgba
(
37
,
99
,
235
,
0.11
)
0%
,
rgba
(
124
,
58
,
237
,
0.1
)
100%
);
--revamp-cyber-blue
:
#0f6eea
;
--revamp-cyber-blue
:
#0f6eea
;
--revamp-cyber-cyan
:
#19b6d9
;
--revamp-cyber-cyan
:
#19b6d9
;
--revamp-cyber-glow
:
rgba
(
37
,
99
,
235
,
0.18
);
--revamp-cyber-glow
:
rgba
(
37
,
99
,
235
,
0.18
);
...
@@ -17,6 +21,7 @@
...
@@ -17,6 +21,7 @@
--revamp-border-strong
:
rgba
(
148
,
163
,
184
,
0.38
);
--revamp-border-strong
:
rgba
(
148
,
163
,
184
,
0.38
);
--revamp-shadow
:
0
14px
32px
rgba
(
15
,
23
,
42
,
0.06
);
--revamp-shadow
:
0
14px
32px
rgba
(
15
,
23
,
42
,
0.06
);
--revamp-shadow-soft
:
0
8px
18px
rgba
(
15
,
23
,
42
,
0.04
);
--revamp-shadow-soft
:
0
8px
18px
rgba
(
15
,
23
,
42
,
0.04
);
--revamp-shadow-card
:
0
22px
54px
rgba
(
37
,
99
,
235
,
0.13
);
min-width
:
960px
;
min-width
:
960px
;
grid-template-columns
:
clamp
(
260px
,
20vw
,
280px
)
minmax
(
0
,
1
fr
);
grid-template-columns
:
clamp
(
260px
,
20vw
,
280px
)
minmax
(
0
,
1
fr
);
background
:
var
(
--revamp-canvas
);
background
:
var
(
--revamp-canvas
);
...
@@ -551,6 +556,91 @@
...
@@ -551,6 +556,91 @@
box-shadow
:
var
(
--revamp-shadow-soft
);
box-shadow
:
var
(
--revamp-shadow-soft
);
}
}
.shell.openclaw-theme
.bind-entry
{
position
:
relative
;
overflow
:
hidden
;
gap
:
18px
;
padding
:
30px
;
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.42
);
background
:
linear-gradient
(
135deg
,
rgba
(
239
,
246
,
255
,
0.88
),
rgba
(
245
,
243
,
255
,
0.62
)
42%
,
rgba
(
255
,
255
,
255
,
0.92
)
100%
),
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0.96
),
rgba
(
248
,
251
,
255
,
0.94
));
box-shadow
:
var
(
--revamp-shadow-card
);
}
.shell.openclaw-theme
.bind-entry
::before
{
content
:
""
;
position
:
absolute
;
inset
:
0
;
pointer-events
:
none
;
border-radius
:
inherit
;
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.86
);
}
.shell.openclaw-theme
.bind-entry-copy
,
.shell.openclaw-theme
.bind-entry-benefits
,
.shell.openclaw-theme
.bind-row
{
position
:
relative
;
z-index
:
1
;
}
.shell.openclaw-theme
.bind-entry-copy
strong
{
color
:
#0f2f59
;
font-size
:
26px
;
font-weight
:
800
;
}
.shell.openclaw-theme
.bind-entry-copy
p
{
max-width
:
560px
;
color
:
#536b88
;
}
.shell.openclaw-theme
.bind-entry-kicker
{
border-color
:
rgba
(
37
,
99
,
235
,
0.24
);
background
:
rgba
(
255
,
255
,
255
,
0.72
);
color
:
var
(
--revamp-blue-strong
);
box-shadow
:
inset
0
0
0
1px
rgba
(
255
,
255
,
255
,
0.56
);
}
.shell.openclaw-theme
.bind-entry-benefit
{
border-color
:
rgba
(
147
,
197
,
253
,
0.38
);
background
:
rgba
(
255
,
255
,
255
,
0.72
);
color
:
#23466d
;
box-shadow
:
0
8px
18px
rgba
(
37
,
99
,
235
,
0.06
);
}
.shell.openclaw-theme
.bind-entry-benefit-index
{
background
:
var
(
--revamp-gradient
);
box-shadow
:
0
6px
14px
rgba
(
37
,
99
,
235
,
0.22
);
}
.shell.openclaw-theme
.bind-row
{
align-items
:
stretch
;
padding
:
6px
;
border-radius
:
16px
;
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.42
);
background
:
rgba
(
255
,
255
,
255
,
0.82
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.86
);
}
.shell.openclaw-theme
.bind-row
input
{
min-height
:
46px
;
border
:
0
;
background
:
transparent
;
box-shadow
:
none
;
}
.shell.openclaw-theme
.bind-row
input
:focus
{
box-shadow
:
none
;
}
.shell.openclaw-theme
.bind-row
button
{
min-height
:
46px
;
border-radius
:
12px
;
background
:
var
(
--revamp-gradient
);
box-shadow
:
0
12px
24px
rgba
(
37
,
99
,
235
,
0.2
);
}
.shell.openclaw-theme
.status-chip
{
.shell.openclaw-theme
.status-chip
{
border-color
:
var
(
--revamp-border
);
border-color
:
var
(
--revamp-border
);
padding
:
3px
9px
;
padding
:
3px
9px
;
...
@@ -577,24 +667,29 @@
...
@@ -577,24 +667,29 @@
.conversation-shell
.conversation-panel-kicker
{
.conversation-shell
.conversation-panel-kicker
{
border-color
:
var
(
--revamp-border
);
border-color
:
var
(
--revamp-border
);
background
:
var
(
--revamp-surface
);
background
:
rgba
(
255
,
255
,
255
,
0.82
);
color
:
var
(
--revamp-text-muted
);
color
:
var
(
--revamp-text-muted
);
box-shadow
:
inset
0
0
0
1px
rgba
(
255
,
255
,
255
,
0.58
);
}
}
.conversation-shell
.conversation-workspace
{
.conversation-shell
.conversation-workspace
{
padding
:
16px
18px
18px
;
padding
:
18px
20px
20px
;
border-radius
:
22px
;
border-radius
:
24px
;
border
:
1px
solid
rgba
(
226
,
232
,
240
,
0.82
);
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.32
);
background
:
rgba
(
255
,
255
,
255
,
0.66
);
background
:
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.78
);
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0.82
),
rgba
(
248
,
251
,
255
,
0.74
)),
var
(
--revamp-gradient-soft
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.86
),
0
18px
44px
rgba
(
37
,
99
,
235
,
0.08
);
}
}
.conversation-shell
.message-list
{
.conversation-shell
.message-list
{
min-height
:
0
;
min-height
:
0
;
height
:
100%
;
height
:
100%
;
overflow
:
auto
;
overflow
:
auto
;
gap
:
2
0
px
;
gap
:
2
2
px
;
padding
:
8px
4px
18
px
0
;
padding
:
10px
6px
20
px
0
;
align-content
:
start
;
align-content
:
start
;
background
:
transparent
;
background
:
transparent
;
scrollbar-color
:
rgba
(
148
,
163
,
184
,
0.52
)
transparent
;
scrollbar-color
:
rgba
(
148
,
163
,
184
,
0.52
)
transparent
;
...
@@ -925,16 +1020,18 @@
...
@@ -925,16 +1020,18 @@
gap
:
var
(
--space-3
);
gap
:
var
(
--space-3
);
max-width
:
min
(
72%
,
760px
);
max-width
:
min
(
72%
,
760px
);
padding
:
var
(
--space-4
)
var
(
--space-5
);
padding
:
var
(
--space-4
)
var
(
--space-5
);
border-radius
:
var
(
--radius-lg
);
border-radius
:
18px
;
border-color
:
var
(
--revamp-border
);
border-color
:
rgba
(
147
,
197
,
253
,
0.28
);
background
:
var
(
--revamp-surface
);
background
:
rgba
(
255
,
255
,
255
,
0.92
);
box-shadow
:
var
(
--revamp-shadow-soft
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.82
),
0
12px
26px
rgba
(
15
,
23
,
42
,
0.06
);
}
}
.conversation-shell
.message-bubble-user
{
.conversation-shell
.message-bubble-user
{
margin-left
:
auto
;
margin-left
:
auto
;
border-color
:
rgba
(
147
,
197
,
253
,
0.7
);
border-color
:
rgba
(
96
,
165
,
250
,
0.42
);
background
:
#eff6ff
;
background
:
linear-gradient
(
135deg
,
#eaf3ff
0%
,
#f2f7ff
100%
)
;
color
:
var
(
--revamp-text
);
color
:
var
(
--revamp-text
);
}
}
...
@@ -950,10 +1047,12 @@
...
@@ -950,10 +1047,12 @@
.conversation-shell
.message-card.assistant
.markdown-body
{
.conversation-shell
.message-card.assistant
.markdown-body
{
padding
:
var
(
--space-5
)
var
(
--space-6
);
padding
:
var
(
--space-5
)
var
(
--space-6
);
border-radius
:
var
(
--radius-lg
);
border-radius
:
18px
;
border-color
:
var
(
--revamp-border
);
border
:
1px
solid
rgba
(
203
,
213
,
225
,
0.72
);
background
:
var
(
--revamp-surface
);
background
:
rgba
(
255
,
255
,
255
,
0.94
);
box-shadow
:
var
(
--revamp-shadow-soft
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.86
),
0
12px
28px
rgba
(
15
,
23
,
42
,
0.055
);
}
}
.conversation-shell
.message-card.user
.message-plain-text
,
.conversation-shell
.message-card.user
.message-plain-text
,
...
@@ -971,7 +1070,11 @@
...
@@ -971,7 +1070,11 @@
}
}
.conversation-shell
.message-card.assistant
.generation-status-card
{
.conversation-shell
.message-card.assistant
.generation-status-card
{
border-radius
:
22px
;
border-radius
:
18px
;
border-color
:
rgba
(
37
,
99
,
235
,
0.24
);
background
:
linear-gradient
(
180deg
,
rgba
(
239
,
246
,
255
,
0.98
),
rgba
(
255
,
255
,
255
,
0.94
));
box-shadow
:
0
12px
26px
rgba
(
37
,
99
,
235
,
0.08
);
}
}
.conversation-shell
.message-card.assistant
.message-trace.streaming
{
.conversation-shell
.message-card.assistant
.message-trace.streaming
{
...
@@ -982,6 +1085,11 @@
...
@@ -982,6 +1085,11 @@
min-height
:
36px
;
min-height
:
36px
;
}
}
.conversation-shell
.message-card.assistant
.reasoning-strip
{
border
:
1px
solid
rgba
(
203
,
213
,
225
,
0.62
);
background
:
rgba
(
248
,
250
,
252
,
0.88
);
}
.conversation-shell
.message-card.assistant
.reasoning-strip.streaming
.reasoning-strip-action
{
.conversation-shell
.message-card.assistant
.reasoning-strip.streaming
.reasoning-strip-action
{
color
:
#64748b
;
color
:
#64748b
;
}
}
...
@@ -1019,11 +1127,11 @@
...
@@ -1019,11 +1127,11 @@
--composer-textarea-max-height
:
188px
;
--composer-textarea-max-height
:
188px
;
position
:
relative
;
position
:
relative
;
gap
:
0
;
gap
:
0
;
padding
-top
:
11px
;
padding
:
13px
4px
0
;
margin-top
:
auto
;
margin-top
:
auto
;
background
:
linear-gradient
(
180deg
,
rgba
(
248
,
25
0
,
252
,
0.95
),
rgba
(
248
,
250
,
252
,
0
)
18
px
);
background
:
linear-gradient
(
180deg
,
rgba
(
248
,
25
1
,
255
,
0
),
rgba
(
248
,
251
,
255
,
0.92
)
24
px
);
box-shadow
:
none
;
box-shadow
:
none
;
border-top
:
1px
solid
var
(
--revamp-border
);
border-top
:
1px
solid
rgba
(
147
,
197
,
253
,
0.22
);
}
}
.conversation-shell
.composer-shell.resizing
,
.conversation-shell
.composer-shell.resizing
,
...
@@ -1052,7 +1160,7 @@
...
@@ -1052,7 +1160,7 @@
width
:
38px
;
width
:
38px
;
height
:
3px
;
height
:
3px
;
border-radius
:
999px
;
border-radius
:
999px
;
background
:
rgba
(
37
,
99
,
235
,
0.2
2
);
background
:
rgba
(
37
,
99
,
235
,
0.2
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.82
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.82
);
opacity
:
0.72
;
opacity
:
0.72
;
transition
:
background
160ms
ease
,
opacity
160ms
ease
,
transform
160ms
ease
;
transition
:
background
160ms
ease
,
opacity
160ms
ease
,
transform
160ms
ease
;
...
@@ -1073,19 +1181,23 @@
...
@@ -1073,19 +1181,23 @@
.conversation-shell
.composer-surface
{
.conversation-shell
.composer-surface
{
display
:
grid
;
display
:
grid
;
gap
:
9px
;
gap
:
10px
;
padding
:
11px
13px
10px
;
padding
:
12px
14px
11px
;
border-radius
:
18px
;
border-radius
:
20px
;
border-color
:
rgba
(
37
,
99
,
235
,
0.38
);
border
:
1px
solid
rgba
(
147
,
197
,
253
,
0.42
);
background
:
#ffffff
;
background
:
box-shadow
:
var
(
--revamp-shadow-soft
);
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0.98
),
rgba
(
248
,
251
,
255
,
0.96
));
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.9
),
0
18px
38px
rgba
(
37
,
99
,
235
,
0.1
);
}
}
.conversation-shell
.composer-surface
:focus-within
{
.conversation-shell
.composer-surface
:focus-within
{
border-color
:
rgba
(
37
,
99
,
235
,
0.5
2
);
border-color
:
rgba
(
37
,
99
,
235
,
0.5
8
);
box-shadow
:
box-shadow
:
0
0
0
1px
rgba
(
37
,
99
,
235
,
0.08
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.9
),
var
(
--revamp-shadow-soft
);
0
0
0
3px
rgba
(
37
,
99
,
235
,
0.08
),
0
20px
42px
rgba
(
37
,
99
,
235
,
0.12
);
}
}
.conversation-shell
.composer-field
textarea
,
.conversation-shell
.composer-field
textarea
,
...
@@ -1131,8 +1243,8 @@
...
@@ -1131,8 +1243,8 @@
.conversation-shell
.skill-trigger
,
.conversation-shell
.skill-trigger
,
.conversation-shell
.skill-chip
,
.conversation-shell
.skill-chip
,
.conversation-shell
.composer-attachment-chip
{
.conversation-shell
.composer-attachment-chip
{
border-color
:
var
(
--revamp-border
);
border-color
:
rgba
(
147
,
197
,
253
,
0.34
);
background
:
var
(
--revamp-surface-soft
);
background
:
rgba
(
239
,
246
,
255
,
0.78
);
color
:
var
(
--revamp-blue
);
color
:
var
(
--revamp-blue
);
box-shadow
:
none
;
box-shadow
:
none
;
}
}
...
@@ -1195,16 +1307,16 @@
...
@@ -1195,16 +1307,16 @@
padding
:
0
;
padding
:
0
;
border-radius
:
999px
;
border-radius
:
999px
;
flex
:
0
0
auto
;
flex
:
0
0
auto
;
background
:
var
(
--revamp-
blue
);
background
:
var
(
--revamp-
gradient
);
color
:
#ffffff
;
color
:
#ffffff
;
font-size
:
0
;
font-size
:
0
;
box-shadow
:
0
8px
18px
rgba
(
37
,
99
,
235
,
0.18
);
box-shadow
:
0
10px
20px
rgba
(
37
,
99
,
235
,
0.22
);
transition
:
background
160ms
ease
,
box-shadow
160ms
ease
,
transform
160ms
ease
;
transition
:
background
160ms
ease
,
box-shadow
160ms
ease
,
transform
160ms
ease
;
}
}
.conversation-shell
.composer-submit
:hover:not
(
:disabled
)
{
.conversation-shell
.composer-submit
:hover:not
(
:disabled
)
{
background
:
var
(
--revamp-blue-strong
);
background
:
linear-gradient
(
135deg
,
#1d4ed8
0%
,
#6d28d9
100%
);
box-shadow
:
0
9px
20px
rgba
(
37
,
99
,
235
,
0.2
);
box-shadow
:
0
12px
24px
rgba
(
37
,
99
,
235
,
0.26
);
}
}
.conversation-shell
.composer-submit
:disabled
{
.conversation-shell
.composer-submit
:disabled
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment