codexmate 0.0.26 → 0.0.28
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/README.md +7 -2
- package/README.zh.md +7 -2
- package/cli/builtin-proxy.js +636 -95
- package/cli/openai-bridge.js +497 -5
- package/cli.js +75 -29
- package/lib/cli-models-utils.js +71 -10
- package/package.json +3 -1
- package/plugins/prompt-templates/computed.mjs +1 -1
- package/plugins/prompt-templates/methods.mjs +0 -66
- package/plugins/prompt-templates/overview.mjs +1 -0
- package/web-ui/app.js +16 -16
- package/web-ui/logic.codex.mjs +56 -0
- package/web-ui/logic.sessions.mjs +56 -0
- package/web-ui/modules/app.computed.dashboard.mjs +54 -0
- package/web-ui/modules/app.computed.session.mjs +48 -0
- package/web-ui/modules/app.methods.claude-config.mjs +18 -7
- package/web-ui/modules/app.methods.codex-config.mjs +35 -3
- package/web-ui/modules/app.methods.providers.mjs +9 -1
- package/web-ui/modules/app.methods.session-actions.mjs +2 -5
- package/web-ui/modules/app.methods.session-browser.mjs +4 -5
- package/web-ui/modules/app.methods.session-trash.mjs +19 -4
- package/web-ui/modules/app.methods.startup-claude.mjs +12 -1
- package/web-ui/modules/i18n.dict.mjs +28 -32
- package/web-ui/modules/provider-url-display.mjs +17 -0
- package/web-ui/partials/index/panel-config-claude.html +5 -1
- package/web-ui/partials/index/panel-config-codex.html +33 -4
- package/web-ui/partials/index/panel-plugins.html +3 -29
- package/web-ui/partials/index/panel-sessions.html +0 -10
- package/web-ui/partials/index/panel-settings.html +62 -67
- package/web-ui/partials/index/panel-usage.html +31 -2
- package/web-ui/session-helpers.mjs +2 -2
- package/web-ui/styles/base-theme.css +47 -34
- package/web-ui/styles/controls-forms.css +27 -28
- package/web-ui/styles/layout-shell.css +37 -34
- package/web-ui/styles/modals-core.css +12 -10
- package/web-ui/styles/navigation-panels.css +36 -35
- package/web-ui/styles/responsive.css +4 -4
- package/web-ui/styles/sessions-list.css +10 -6
- package/web-ui/styles/sessions-usage.css +95 -0
- package/web-ui/styles/settings-panel.css +19 -0
- package/web-ui/styles/titles-cards.css +90 -26
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
color: var(--color-text-secondary);
|
|
15
15
|
font-size: var(--font-size-body);
|
|
16
16
|
font-weight: var(--font-weight-secondary);
|
|
17
|
-
box-shadow: var(--shadow-
|
|
17
|
+
box-shadow: var(--shadow-card);
|
|
18
18
|
transition: all var(--transition-normal) var(--ease-spring);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -62,23 +62,23 @@
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
.lang-toggle-btn:hover {
|
|
65
|
-
border-color:
|
|
65
|
+
border-color: var(--color-border-strong);
|
|
66
66
|
background: var(--color-surface);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.lang-toggle-btn.active {
|
|
70
|
-
background:
|
|
71
|
-
border-color: rgba(
|
|
72
|
-
color: var(--color-
|
|
70
|
+
background: var(--color-brand-light);
|
|
71
|
+
border-color: rgba(200, 121, 99, 0.28);
|
|
72
|
+
color: var(--color-brand-dark);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.status-chip {
|
|
76
76
|
min-width: 0;
|
|
77
77
|
max-width: 100%;
|
|
78
78
|
padding: 6px 10px;
|
|
79
|
-
border: 1px solid var(--color-border);
|
|
80
|
-
background:
|
|
81
|
-
box-shadow:
|
|
79
|
+
border: 1px solid var(--color-border-soft);
|
|
80
|
+
background: rgba(255, 255, 255, 0.62);
|
|
81
|
+
box-shadow: var(--shadow-subtle);
|
|
82
82
|
display: inline-flex;
|
|
83
83
|
flex-direction: row;
|
|
84
84
|
align-items: center;
|
|
@@ -109,10 +109,10 @@
|
|
|
109
109
|
.provider-fast-switch {
|
|
110
110
|
margin: 0 0 14px;
|
|
111
111
|
padding: 10px 12px;
|
|
112
|
-
border-radius:
|
|
113
|
-
border: 1px solid var(--color-border);
|
|
114
|
-
background:
|
|
115
|
-
box-shadow:
|
|
112
|
+
border-radius: var(--radius-md);
|
|
113
|
+
border: 1px solid var(--color-border-soft);
|
|
114
|
+
background: rgba(255, 255, 255, 0.58);
|
|
115
|
+
box-shadow: var(--shadow-card);
|
|
116
116
|
display: grid;
|
|
117
117
|
gap: 6px;
|
|
118
118
|
}
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
border-radius: var(--radius-sm);
|
|
134
134
|
font-size: var(--font-size-body);
|
|
135
135
|
color: var(--color-text-primary);
|
|
136
|
-
background-color:
|
|
136
|
+
background-color: rgba(255, 255, 255, 0.72);
|
|
137
137
|
outline: none;
|
|
138
138
|
cursor: pointer;
|
|
139
139
|
appearance: none;
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
|
|
159
159
|
.main-panel {
|
|
160
160
|
min-width: 0;
|
|
161
|
-
background:
|
|
161
|
+
background: transparent;
|
|
162
162
|
border: none;
|
|
163
163
|
border-radius: 0;
|
|
164
164
|
box-shadow: none;
|
|
@@ -181,10 +181,10 @@
|
|
|
181
181
|
position: sticky;
|
|
182
182
|
top: 0;
|
|
183
183
|
z-index: 12;
|
|
184
|
-
margin: 0 -28px
|
|
185
|
-
padding: 0 28px
|
|
184
|
+
margin: 0 -28px 18px;
|
|
185
|
+
padding: 0 28px 14px;
|
|
186
186
|
background: linear-gradient(180deg, var(--color-bg-topbar-strong) 0%, var(--color-bg-topbar-soft) 78%, var(--color-bg-topbar-clear) 100%);
|
|
187
|
-
backdrop-filter: blur(
|
|
187
|
+
backdrop-filter: blur(18px) saturate(130%);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
.panel-header {
|
|
@@ -198,8 +198,8 @@
|
|
|
198
198
|
justify-content: space-between;
|
|
199
199
|
gap: 14px;
|
|
200
200
|
margin: 0 0 14px;
|
|
201
|
-
padding:
|
|
202
|
-
border-bottom: 1px solid
|
|
201
|
+
padding: 20px 0 16px;
|
|
202
|
+
border-bottom: 1px solid rgba(137, 111, 94, 0.14);
|
|
203
203
|
background: transparent;
|
|
204
204
|
}
|
|
205
205
|
|
|
@@ -277,16 +277,16 @@
|
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
.top-tab {
|
|
280
|
-
border: 1px solid var(--color-border);
|
|
280
|
+
border: 1px solid var(--color-border-soft);
|
|
281
281
|
border-radius: 999px;
|
|
282
|
-
background:
|
|
282
|
+
background: rgba(255, 255, 255, 0.66);
|
|
283
283
|
padding: 6px 10px;
|
|
284
284
|
font-size: 11px;
|
|
285
285
|
color: var(--color-text-secondary);
|
|
286
286
|
text-align: center;
|
|
287
287
|
cursor: pointer;
|
|
288
|
-
transition: border-color var(--transition-fast) var(--ease-smooth), background-color var(--transition-fast) var(--ease-smooth), color var(--transition-fast) var(--ease-smooth);
|
|
289
|
-
box-shadow:
|
|
288
|
+
transition: border-color var(--transition-fast) var(--ease-smooth), background-color var(--transition-fast) var(--ease-smooth), color var(--transition-fast) var(--ease-smooth), box-shadow var(--transition-fast) var(--ease-smooth), transform var(--transition-fast) var(--ease-smooth);
|
|
289
|
+
box-shadow: var(--shadow-subtle);
|
|
290
290
|
flex: 0 0 auto;
|
|
291
291
|
scroll-snap-align: start;
|
|
292
292
|
}
|
|
@@ -294,14 +294,15 @@
|
|
|
294
294
|
.top-tab:hover {
|
|
295
295
|
border-color: var(--color-border-strong);
|
|
296
296
|
color: var(--color-text-primary);
|
|
297
|
+
transform: translateY(-1px);
|
|
297
298
|
}
|
|
298
299
|
|
|
299
300
|
.top-tab.active,
|
|
300
301
|
.top-tab.nav-intent-active {
|
|
301
|
-
border-color: rgba(
|
|
302
|
+
border-color: rgba(200, 121, 99, 0.28);
|
|
302
303
|
color: var(--color-brand-dark);
|
|
303
|
-
background:
|
|
304
|
-
box-shadow:
|
|
304
|
+
background: rgba(255, 255, 255, 0.82);
|
|
305
|
+
box-shadow: 0 10px 24px rgba(92, 68, 52, 0.1);
|
|
305
306
|
}
|
|
306
307
|
|
|
307
308
|
.top-tab.nav-intent-inactive,
|
|
@@ -321,17 +322,17 @@
|
|
|
321
322
|
gap: 6px;
|
|
322
323
|
margin-bottom: 12px;
|
|
323
324
|
padding: 4px;
|
|
324
|
-
background: rgba(
|
|
325
|
-
border-radius:
|
|
326
|
-
border: 1px solid
|
|
327
|
-
box-shadow:
|
|
325
|
+
background: rgba(255, 255, 255, 0.42);
|
|
326
|
+
border-radius: var(--radius-md);
|
|
327
|
+
border: 1px solid var(--color-border-soft);
|
|
328
|
+
box-shadow: var(--shadow-subtle);
|
|
328
329
|
}
|
|
329
330
|
|
|
330
331
|
.config-subtab {
|
|
331
332
|
border: 1px solid rgba(216, 201, 184, 0.3);
|
|
332
|
-
border-radius:
|
|
333
|
+
border-radius: var(--radius-sm);
|
|
333
334
|
padding: 8px 10px;
|
|
334
|
-
background: rgba(255, 255, 255, 0.
|
|
335
|
+
background: rgba(255, 255, 255, 0.62);
|
|
335
336
|
color: var(--color-text-secondary);
|
|
336
337
|
cursor: pointer;
|
|
337
338
|
font-size: 13px;
|
|
@@ -346,10 +347,10 @@
|
|
|
346
347
|
}
|
|
347
348
|
|
|
348
349
|
.config-subtab.active {
|
|
349
|
-
border-color: rgba(
|
|
350
|
+
border-color: rgba(200, 121, 99, 0.34);
|
|
350
351
|
color: var(--color-text-primary);
|
|
351
352
|
background: rgba(255, 255, 255, 0.98);
|
|
352
|
-
box-shadow: 0
|
|
353
|
+
box-shadow: 0 8px 20px rgba(92, 68, 52, 0.08);
|
|
353
354
|
}
|
|
354
355
|
|
|
355
356
|
.settings-subtabs {
|
|
@@ -365,7 +366,7 @@
|
|
|
365
366
|
margin-left: 6px;
|
|
366
367
|
padding: 0 6px;
|
|
367
368
|
border-radius: 999px;
|
|
368
|
-
background: rgba(
|
|
369
|
+
background: rgba(200, 121, 99, 0.14);
|
|
369
370
|
color: var(--color-text-secondary);
|
|
370
371
|
font-size: 11px;
|
|
371
372
|
line-height: 1;
|
|
@@ -233,9 +233,9 @@ textarea:focus-visible {
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
.session-item {
|
|
236
|
-
min-height:
|
|
237
|
-
height:
|
|
238
|
-
contain-intrinsic-size:
|
|
236
|
+
min-height: 108px;
|
|
237
|
+
height: auto;
|
|
238
|
+
contain-intrinsic-size: 108px;
|
|
239
239
|
padding: 12px 14px;
|
|
240
240
|
}
|
|
241
241
|
|
|
@@ -278,7 +278,7 @@ textarea:focus-visible {
|
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
.session-item-meta {
|
|
281
|
-
margin-top:
|
|
281
|
+
margin-top: 4px;
|
|
282
282
|
margin-bottom: 0;
|
|
283
283
|
gap: 4px;
|
|
284
284
|
align-items: center;
|
|
@@ -205,9 +205,9 @@
|
|
|
205
205
|
min-width: 0;
|
|
206
206
|
position: relative;
|
|
207
207
|
overflow: hidden;
|
|
208
|
-
min-height:
|
|
208
|
+
min-height: 108px;
|
|
209
209
|
content-visibility: auto;
|
|
210
|
-
contain-intrinsic-size:
|
|
210
|
+
contain-intrinsic-size: 108px;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
.session-item-header {
|
|
@@ -370,8 +370,8 @@
|
|
|
370
370
|
display: flex;
|
|
371
371
|
flex-wrap: wrap;
|
|
372
372
|
align-items: center;
|
|
373
|
-
gap: 6px;
|
|
374
|
-
margin-top:
|
|
373
|
+
gap: 6px 8px;
|
|
374
|
+
margin-top: 4px;
|
|
375
375
|
margin-bottom: 2px;
|
|
376
376
|
}
|
|
377
377
|
|
|
@@ -393,9 +393,13 @@
|
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
.session-item-cwd {
|
|
396
|
-
flex: 1
|
|
397
|
-
min-width:
|
|
396
|
+
flex: 1 0 100%;
|
|
397
|
+
min-width: 0;
|
|
398
398
|
color: var(--color-text-muted);
|
|
399
|
+
white-space: normal;
|
|
400
|
+
overflow: visible;
|
|
401
|
+
text-overflow: clip;
|
|
402
|
+
overflow-wrap: anywhere;
|
|
399
403
|
}
|
|
400
404
|
|
|
401
405
|
.session-preview {
|
|
@@ -943,3 +943,98 @@
|
|
|
943
943
|
align-items: stretch;
|
|
944
944
|
}
|
|
945
945
|
}
|
|
946
|
+
|
|
947
|
+
.usage-card-hourly-heatmap {
|
|
948
|
+
overflow-x: auto;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
.hourly-heatmap-wrapper {
|
|
952
|
+
display: flex;
|
|
953
|
+
flex-direction: column;
|
|
954
|
+
gap: 2px;
|
|
955
|
+
margin-top: 8px;
|
|
956
|
+
min-width: 580px;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
.hourly-heatmap-header {
|
|
960
|
+
display: flex;
|
|
961
|
+
gap: 2px;
|
|
962
|
+
align-items: flex-end;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
.hourly-heatmap-corner {
|
|
966
|
+
width: 36px;
|
|
967
|
+
flex-shrink: 0;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
.hourly-heatmap-hour-label {
|
|
971
|
+
flex: 1;
|
|
972
|
+
min-width: 0;
|
|
973
|
+
font-size: 10px;
|
|
974
|
+
color: var(--color-text-muted);
|
|
975
|
+
text-align: center;
|
|
976
|
+
line-height: 14px;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
.hourly-heatmap-row {
|
|
980
|
+
display: flex;
|
|
981
|
+
gap: 2px;
|
|
982
|
+
align-items: center;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
.hourly-heatmap-weekday-label {
|
|
986
|
+
width: 36px;
|
|
987
|
+
flex-shrink: 0;
|
|
988
|
+
font-size: 11px;
|
|
989
|
+
color: var(--color-text-secondary);
|
|
990
|
+
text-align: right;
|
|
991
|
+
padding-right: 4px;
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
.hourly-heatmap-cell {
|
|
995
|
+
flex: 1;
|
|
996
|
+
min-width: 0;
|
|
997
|
+
aspect-ratio: 1;
|
|
998
|
+
border-radius: 3px;
|
|
999
|
+
cursor: default;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
.hourly-heatmap-cell.level-0 {
|
|
1003
|
+
background: var(--color-surface-alt);
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
.hourly-heatmap-cell.level-1 {
|
|
1007
|
+
background: var(--color-heatmap-1);
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
.hourly-heatmap-cell.level-2 {
|
|
1011
|
+
background: var(--color-heatmap-2);
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
.hourly-heatmap-cell.level-3 {
|
|
1015
|
+
background: var(--color-heatmap-3);
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
.hourly-heatmap-cell.level-4 {
|
|
1019
|
+
background: var(--color-heatmap-4);
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
.hourly-heatmap-legend {
|
|
1023
|
+
display: flex;
|
|
1024
|
+
align-items: center;
|
|
1025
|
+
gap: 3px;
|
|
1026
|
+
justify-content: flex-end;
|
|
1027
|
+
margin-top: 6px;
|
|
1028
|
+
font-size: 10px;
|
|
1029
|
+
color: var(--color-text-muted);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
.hourly-heatmap-legend .hourly-heatmap-cell {
|
|
1033
|
+
width: 12px;
|
|
1034
|
+
height: 12px;
|
|
1035
|
+
aspect-ratio: auto;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
.hourly-heatmap-legend-label {
|
|
1039
|
+
margin: 0 2px;
|
|
1040
|
+
}
|
|
@@ -147,6 +147,25 @@
|
|
|
147
147
|
background: rgba(248, 243, 238, 0.6);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
.settings-retention-row {
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
gap: 10px;
|
|
154
|
+
padding: 8px 10px;
|
|
155
|
+
border-radius: 12px;
|
|
156
|
+
border: 1px solid rgba(216, 201, 184, 0.4);
|
|
157
|
+
background: rgba(248, 243, 238, 0.6);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.settings-retention-input {
|
|
161
|
+
width: 72px;
|
|
162
|
+
padding: 4px 8px;
|
|
163
|
+
border: 1px solid rgba(216, 201, 184, 0.6);
|
|
164
|
+
border-radius: 8px;
|
|
165
|
+
font-size: 14px;
|
|
166
|
+
text-align: center;
|
|
167
|
+
}
|
|
168
|
+
|
|
150
169
|
/* Re-balance action buttons inside cards */
|
|
151
170
|
.settings-card .btn-tool {
|
|
152
171
|
width: auto;
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
============================================ */
|
|
36
36
|
.segmented-control {
|
|
37
37
|
display: flex;
|
|
38
|
-
background:
|
|
39
|
-
border-radius:
|
|
38
|
+
background: rgba(255, 255, 255, 0.48);
|
|
39
|
+
border-radius: var(--radius-md);
|
|
40
40
|
padding: 4px;
|
|
41
41
|
margin-bottom: 14px;
|
|
42
42
|
position: relative;
|
|
43
|
-
box-shadow:
|
|
44
|
-
border: 1px solid var(--color-border);
|
|
45
|
-
backdrop-filter:
|
|
43
|
+
box-shadow: var(--shadow-subtle);
|
|
44
|
+
border: 1px solid var(--color-border-soft);
|
|
45
|
+
backdrop-filter: blur(12px);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.segment {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
font-weight: var(--font-weight-secondary);
|
|
55
55
|
color: var(--color-text-secondary);
|
|
56
56
|
cursor: pointer;
|
|
57
|
-
border-radius:
|
|
57
|
+
border-radius: var(--radius-sm);
|
|
58
58
|
transition: color var(--transition-fast) var(--ease-smooth), background-color var(--transition-fast) var(--ease-smooth);
|
|
59
59
|
position: relative;
|
|
60
60
|
z-index: 2;
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
|
|
68
68
|
.segment.active {
|
|
69
69
|
color: var(--color-brand-dark);
|
|
70
|
-
background:
|
|
71
|
-
box-shadow: inset 0 0 0 1px rgba(
|
|
70
|
+
background: rgba(255, 255, 255, 0.78);
|
|
71
|
+
box-shadow: 0 8px 18px rgba(92, 68, 52, 0.08), inset 0 0 0 1px rgba(200, 121, 99, 0.12);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/* ============================================
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
.card-list {
|
|
78
78
|
display: flex;
|
|
79
79
|
flex-direction: column;
|
|
80
|
-
gap:
|
|
80
|
+
gap: 10px;
|
|
81
81
|
margin-bottom: 8px;
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -85,9 +85,10 @@
|
|
|
85
85
|
卡片
|
|
86
86
|
============================================ */
|
|
87
87
|
.card {
|
|
88
|
-
background:
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
background:
|
|
89
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 251, 247, 0.76));
|
|
90
|
+
border-radius: var(--radius-md);
|
|
91
|
+
padding: 12px 14px;
|
|
91
92
|
display: flex;
|
|
92
93
|
align-items: center;
|
|
93
94
|
justify-content: space-between;
|
|
@@ -95,18 +96,20 @@
|
|
|
95
96
|
transition:
|
|
96
97
|
border-color var(--transition-fast) var(--ease-smooth),
|
|
97
98
|
background-color var(--transition-fast) var(--ease-smooth),
|
|
98
|
-
box-shadow var(--transition-fast) var(--ease-smooth)
|
|
99
|
-
|
|
99
|
+
box-shadow var(--transition-fast) var(--ease-smooth),
|
|
100
|
+
transform var(--transition-fast) var(--ease-smooth);
|
|
101
|
+
box-shadow: var(--shadow-card);
|
|
100
102
|
user-select: none;
|
|
101
103
|
will-change: auto;
|
|
102
|
-
border: 1px solid var(--color-border);
|
|
104
|
+
border: 1px solid var(--color-border-soft);
|
|
103
105
|
position: relative;
|
|
104
106
|
overflow: hidden;
|
|
105
107
|
}
|
|
106
108
|
|
|
107
109
|
.card:hover {
|
|
108
110
|
border-color: var(--color-border-strong);
|
|
109
|
-
box-shadow:
|
|
111
|
+
box-shadow: var(--shadow-card-hover);
|
|
112
|
+
transform: translateY(-1px);
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
.card::before,
|
|
@@ -130,7 +133,7 @@
|
|
|
130
133
|
.card::after {
|
|
131
134
|
inset: 0;
|
|
132
135
|
border-radius: inherit;
|
|
133
|
-
background: linear-gradient(120deg, rgba(255, 255, 255, 0.
|
|
136
|
+
background: linear-gradient(120deg, rgba(255, 255, 255, 0.55) 0%, transparent 58%);
|
|
134
137
|
opacity: 0;
|
|
135
138
|
transition: opacity var(--transition-fast) var(--ease-smooth);
|
|
136
139
|
}
|
|
@@ -141,9 +144,10 @@
|
|
|
141
144
|
}
|
|
142
145
|
|
|
143
146
|
.card.active {
|
|
144
|
-
background:
|
|
145
|
-
|
|
146
|
-
|
|
147
|
+
background:
|
|
148
|
+
linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(200, 121, 99, 0.15));
|
|
149
|
+
border-color: rgba(200, 121, 99, 0.28);
|
|
150
|
+
box-shadow: 0 14px 34px rgba(92, 68, 52, 0.12);
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
.card.active::before {
|
|
@@ -169,8 +173,8 @@
|
|
|
169
173
|
.card-icon {
|
|
170
174
|
width: 32px;
|
|
171
175
|
height: 32px;
|
|
172
|
-
border-radius:
|
|
173
|
-
background: rgba(
|
|
176
|
+
border-radius: var(--radius-sm);
|
|
177
|
+
background: rgba(200, 121, 99, 0.12);
|
|
174
178
|
display: flex;
|
|
175
179
|
align-items: center;
|
|
176
180
|
justify-content: center;
|
|
@@ -179,13 +183,13 @@
|
|
|
179
183
|
color: var(--color-brand-dark);
|
|
180
184
|
flex-shrink: 0;
|
|
181
185
|
transition: background-color var(--transition-fast) var(--ease-smooth), color var(--transition-fast) var(--ease-smooth);
|
|
182
|
-
box-shadow:
|
|
186
|
+
box-shadow: inset 0 0 0 1px rgba(200, 121, 99, 0.08);
|
|
183
187
|
}
|
|
184
188
|
|
|
185
189
|
.card.active .card-icon {
|
|
186
|
-
background: rgba(
|
|
190
|
+
background: rgba(200, 121, 99, 0.18);
|
|
187
191
|
color: var(--color-brand-dark);
|
|
188
|
-
box-shadow:
|
|
192
|
+
box-shadow: inset 0 0 0 1px rgba(200, 121, 99, 0.14);
|
|
189
193
|
}
|
|
190
194
|
|
|
191
195
|
.card-content {
|
|
@@ -239,6 +243,19 @@
|
|
|
239
243
|
opacity: 0.9;
|
|
240
244
|
}
|
|
241
245
|
|
|
246
|
+
.card-subtitle-model {
|
|
247
|
+
font-weight: 500;
|
|
248
|
+
color: var(--color-text-secondary);
|
|
249
|
+
opacity: 1;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.card-subtitle-url {
|
|
253
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
254
|
+
font-size: 11px;
|
|
255
|
+
opacity: 0.75;
|
|
256
|
+
margin-top: 2px;
|
|
257
|
+
}
|
|
258
|
+
|
|
242
259
|
.card-trailing {
|
|
243
260
|
display: grid;
|
|
244
261
|
grid-auto-flow: column;
|
|
@@ -304,7 +321,7 @@
|
|
|
304
321
|
}
|
|
305
322
|
|
|
306
323
|
.card-action-btn:hover {
|
|
307
|
-
background: linear-gradient(135deg, rgba(
|
|
324
|
+
background: linear-gradient(135deg, rgba(200, 121, 99, 0.1) 0%, rgba(255, 255, 255, 0.95) 100%);
|
|
308
325
|
color: var(--color-text-primary);
|
|
309
326
|
transform: translateY(-1px);
|
|
310
327
|
}
|
|
@@ -406,3 +423,50 @@
|
|
|
406
423
|
color: var(--color-text-tertiary);
|
|
407
424
|
opacity: 0.5;
|
|
408
425
|
}
|
|
426
|
+
|
|
427
|
+
.provider-transform-icon {
|
|
428
|
+
display: inline-flex;
|
|
429
|
+
align-items: center;
|
|
430
|
+
justify-content: center;
|
|
431
|
+
margin-left: 6px;
|
|
432
|
+
font-size: 14px;
|
|
433
|
+
line-height: 1;
|
|
434
|
+
opacity: 0.6;
|
|
435
|
+
flex-shrink: 0;
|
|
436
|
+
cursor: help;
|
|
437
|
+
transition: opacity 0.2s ease;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.provider-transform-icon:hover {
|
|
441
|
+
opacity: 1;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.card-icon {
|
|
445
|
+
position: relative;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.card-icon-dot {
|
|
449
|
+
position: absolute;
|
|
450
|
+
bottom: -2px;
|
|
451
|
+
right: -2px;
|
|
452
|
+
width: 7px;
|
|
453
|
+
height: 7px;
|
|
454
|
+
border-radius: 50%;
|
|
455
|
+
background: #22c55e;
|
|
456
|
+
border: 1.5px solid var(--color-surface);
|
|
457
|
+
box-shadow: 0 0 4px rgba(34, 197, 94, 0.6), 0 0 8px rgba(34, 197, 94, 0.3);
|
|
458
|
+
animation: breathe 2s ease-in-out infinite;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
@keyframes breathe {
|
|
462
|
+
0%, 100% {
|
|
463
|
+
box-shadow: 0 0 4px rgba(34, 197, 94, 0.6), 0 0 8px rgba(34, 197, 94, 0.3);
|
|
464
|
+
}
|
|
465
|
+
50% {
|
|
466
|
+
box-shadow: 0 0 10px rgba(34, 197, 94, 0.8), 0 0 18px rgba(34, 197, 94, 0.5);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.provider-transform-icon {
|
|
471
|
+
display: none;
|
|
472
|
+
}
|