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
|
@@ -160,7 +160,7 @@ export function switchMainTab(tab) {
|
|
|
160
160
|
this.prepareSessionTabRender();
|
|
161
161
|
}
|
|
162
162
|
const shouldLoadTrashListOnSettingsEnter = nextTab === 'settings'
|
|
163
|
-
&& this.settingsTab === '
|
|
163
|
+
&& this.settingsTab === 'data'
|
|
164
164
|
&& typeof this.loadSessionTrash === 'function';
|
|
165
165
|
if (shouldLoadTrashListOnSettingsEnter) {
|
|
166
166
|
this.loadSessionTrash({
|
|
@@ -168,7 +168,7 @@ export function switchMainTab(tab) {
|
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
170
|
const shouldPrimeTrashCountOnSettingsEnter = nextTab === 'settings'
|
|
171
|
-
&& this.settingsTab !== '
|
|
171
|
+
&& this.settingsTab !== 'data'
|
|
172
172
|
&& typeof this.loadSessionTrashCount === 'function';
|
|
173
173
|
if (shouldPrimeTrashCountOnSettingsEnter) {
|
|
174
174
|
this.sessionTrashLoadedOnce = false;
|
|
@@ -4,34 +4,36 @@
|
|
|
4
4
|
设计系统 - Design Tokens
|
|
5
5
|
============================================ */
|
|
6
6
|
:root {
|
|
7
|
-
/*
|
|
8
|
-
--color-brand: #
|
|
9
|
-
--color-brand-dark: #
|
|
10
|
-
--color-brand-light: rgba(
|
|
11
|
-
--color-brand-subtle: rgba(
|
|
12
|
-
|
|
13
|
-
--color-bg: #
|
|
14
|
-
--color-surface: #
|
|
15
|
-
--color-surface-alt: #
|
|
7
|
+
/* 色彩系统:低饱和暖色 + 桌面助理式柔和层级 */
|
|
8
|
+
--color-brand: #C87963;
|
|
9
|
+
--color-brand-dark: #A95845;
|
|
10
|
+
--color-brand-light: rgba(200, 121, 99, 0.13);
|
|
11
|
+
--color-brand-subtle: rgba(200, 121, 99, 0.2);
|
|
12
|
+
|
|
13
|
+
--color-bg: #F7F0E9;
|
|
14
|
+
--color-surface: #FFFDFC;
|
|
15
|
+
--color-surface-alt: #F7EFE8;
|
|
16
16
|
--color-surface-elevated: #FFFFFF;
|
|
17
|
-
--color-surface-tint: rgba(255,
|
|
18
|
-
--color-text-primary: #
|
|
19
|
-
--color-text-secondary: #
|
|
20
|
-
--color-text-tertiary: #
|
|
21
|
-
--color-text-muted: #
|
|
22
|
-
--color-border:
|
|
23
|
-
--color-border-soft: rgba(
|
|
24
|
-
--color-border-strong: rgba(
|
|
17
|
+
--color-surface-tint: rgba(255, 253, 250, 0.86);
|
|
18
|
+
--color-text-primary: #241F1C;
|
|
19
|
+
--color-text-secondary: #5A504A;
|
|
20
|
+
--color-text-tertiary: #82746A;
|
|
21
|
+
--color-text-muted: #A99B91;
|
|
22
|
+
--color-border: rgba(137, 111, 94, 0.18);
|
|
23
|
+
--color-border-soft: rgba(137, 111, 94, 0.13);
|
|
24
|
+
--color-border-strong: rgba(137, 111, 94, 0.34);
|
|
25
25
|
|
|
26
26
|
--color-success: #4B8B6A;
|
|
27
27
|
--color-error: #C44536;
|
|
28
28
|
|
|
29
29
|
--bg-warm-gradient:
|
|
30
|
-
|
|
30
|
+
radial-gradient(circle at 14% 8%, rgba(255, 219, 196, 0.5) 0%, rgba(255, 219, 196, 0) 32%),
|
|
31
|
+
radial-gradient(circle at 88% 0%, rgba(252, 239, 207, 0.58) 0%, rgba(252, 239, 207, 0) 30%),
|
|
32
|
+
linear-gradient(135deg, #FFF8F1 0%, #F7F0E9 46%, #F1E8DF 100%);
|
|
31
33
|
|
|
32
|
-
--color-bg-topbar-strong: rgba(
|
|
33
|
-
--color-bg-topbar-soft: rgba(
|
|
34
|
-
--color-bg-topbar-clear: rgba(
|
|
34
|
+
--color-bg-topbar-strong: rgba(255, 248, 241, 0.96);
|
|
35
|
+
--color-bg-topbar-soft: rgba(255, 248, 241, 0.86);
|
|
36
|
+
--color-bg-topbar-clear: rgba(255, 248, 241, 0);
|
|
35
37
|
|
|
36
38
|
/* 字体系统 */
|
|
37
39
|
--font-family-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
|
|
@@ -64,24 +66,24 @@
|
|
|
64
66
|
--spacing-xl: 64px;
|
|
65
67
|
|
|
66
68
|
/* 圆角系统 */
|
|
67
|
-
--radius-sm:
|
|
68
|
-
--radius-md:
|
|
69
|
-
--radius-lg:
|
|
70
|
-
--radius-xl:
|
|
69
|
+
--radius-sm: 10px;
|
|
70
|
+
--radius-md: 14px;
|
|
71
|
+
--radius-lg: 18px;
|
|
72
|
+
--radius-xl: 24px;
|
|
71
73
|
--radius-full: 50px;
|
|
72
74
|
|
|
73
|
-
/* 阴影系统 -
|
|
74
|
-
--shadow-subtle: 0 1px 2px rgba(
|
|
75
|
-
--shadow-card: 0
|
|
76
|
-
--shadow-card-hover: 0
|
|
77
|
-
--shadow-float: 0
|
|
78
|
-
--shadow-raised: 0
|
|
75
|
+
/* 阴影系统 - 柔和桌面浮层 */
|
|
76
|
+
--shadow-subtle: 0 1px 2px rgba(60, 47, 38, 0.05);
|
|
77
|
+
--shadow-card: 0 12px 30px rgba(92, 68, 52, 0.08);
|
|
78
|
+
--shadow-card-hover: 0 18px 44px rgba(92, 68, 52, 0.14);
|
|
79
|
+
--shadow-float: 0 22px 56px rgba(70, 51, 39, 0.18);
|
|
80
|
+
--shadow-raised: 0 14px 30px rgba(92, 68, 52, 0.14);
|
|
79
81
|
--shadow-modal:
|
|
80
|
-
0
|
|
81
|
-
0
|
|
82
|
+
0 16px 42px rgba(70, 51, 39, 0.16),
|
|
83
|
+
0 34px 84px rgba(70, 51, 39, 0.16);
|
|
82
84
|
--shadow-input-focus:
|
|
83
85
|
0 0 0 3px var(--color-brand-light),
|
|
84
|
-
0 1px 2px rgba(
|
|
86
|
+
0 1px 2px rgba(60, 47, 38, 0.06);
|
|
85
87
|
|
|
86
88
|
/* 动画 - 更细腻的曲线 */
|
|
87
89
|
--transition-instant: 100ms;
|
|
@@ -266,3 +268,14 @@ body {
|
|
|
266
268
|
position: relative;
|
|
267
269
|
overflow-x: hidden;
|
|
268
270
|
}
|
|
271
|
+
|
|
272
|
+
body::before {
|
|
273
|
+
content: "";
|
|
274
|
+
position: fixed;
|
|
275
|
+
inset: 0;
|
|
276
|
+
pointer-events: none;
|
|
277
|
+
background:
|
|
278
|
+
radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0) 26%),
|
|
279
|
+
radial-gradient(circle at 86% 18%, rgba(255, 232, 206, 0.36), rgba(255, 232, 206, 0) 30%);
|
|
280
|
+
z-index: 0;
|
|
281
|
+
}
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
选择器 - 用于模型选择
|
|
3
3
|
============================================ */
|
|
4
4
|
.selector-section {
|
|
5
|
-
background:
|
|
6
|
-
border-radius:
|
|
7
|
-
padding: 12px
|
|
5
|
+
background: rgba(255, 255, 255, 0.36);
|
|
6
|
+
border-radius: var(--radius-md);
|
|
7
|
+
padding: 12px;
|
|
8
8
|
margin-bottom: 12px;
|
|
9
|
-
box-shadow:
|
|
10
|
-
border:
|
|
11
|
-
border-top: 1px solid var(--color-border);
|
|
9
|
+
box-shadow: var(--shadow-subtle);
|
|
10
|
+
border: 1px solid var(--color-border-soft);
|
|
12
11
|
display: flex;
|
|
13
12
|
flex-direction: column;
|
|
14
13
|
gap: 6px;
|
|
@@ -125,9 +124,9 @@
|
|
|
125
124
|
min-height: 28px !important;
|
|
126
125
|
padding: 0 10px !important;
|
|
127
126
|
line-height: 1 !important;
|
|
128
|
-
border-radius:
|
|
127
|
+
border-radius: var(--radius-sm) !important;
|
|
129
128
|
border: 1px solid var(--color-border-soft) !important;
|
|
130
|
-
background: rgba(255, 255, 255, 0.
|
|
129
|
+
background: rgba(255, 255, 255, 0.76) !important;
|
|
131
130
|
font-size: 12px !important;
|
|
132
131
|
font-weight: var(--font-weight-secondary) !important;
|
|
133
132
|
color: var(--color-text-secondary) !important;
|
|
@@ -197,12 +196,12 @@
|
|
|
197
196
|
align-items: center;
|
|
198
197
|
justify-content: center;
|
|
199
198
|
transition: all var(--transition-fast) var(--ease-spring);
|
|
200
|
-
box-shadow: 0
|
|
199
|
+
box-shadow: 0 8px 18px rgba(92, 68, 52, 0.12);
|
|
201
200
|
}
|
|
202
201
|
|
|
203
202
|
.btn-icon:hover {
|
|
204
203
|
transform: translateY(-1px) scale(1.05);
|
|
205
|
-
box-shadow: 0
|
|
204
|
+
box-shadow: 0 12px 24px rgba(92, 68, 52, 0.16);
|
|
206
205
|
}
|
|
207
206
|
|
|
208
207
|
.btn-icon:active {
|
|
@@ -214,11 +213,11 @@
|
|
|
214
213
|
min-height: 36px;
|
|
215
214
|
padding: 8px 10px;
|
|
216
215
|
padding-right: 34px;
|
|
217
|
-
border: 1px solid var(--color-border);
|
|
218
|
-
border-radius:
|
|
216
|
+
border: 1px solid var(--color-border-soft);
|
|
217
|
+
border-radius: var(--radius-sm);
|
|
219
218
|
font-size: 13px;
|
|
220
219
|
font-weight: var(--font-weight-body);
|
|
221
|
-
background-color:
|
|
220
|
+
background-color: rgba(255, 255, 255, 0.72);
|
|
222
221
|
color: var(--color-text-primary);
|
|
223
222
|
outline: none;
|
|
224
223
|
cursor: pointer;
|
|
@@ -228,12 +227,12 @@
|
|
|
228
227
|
background-position: right 14px center;
|
|
229
228
|
background-size: 12px;
|
|
230
229
|
transition: all var(--transition-fast) var(--ease-smooth);
|
|
231
|
-
box-shadow:
|
|
230
|
+
box-shadow: var(--shadow-subtle);
|
|
232
231
|
}
|
|
233
232
|
|
|
234
233
|
.model-select:hover {
|
|
235
234
|
border-color: var(--color-border-strong);
|
|
236
|
-
background-color:
|
|
235
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
237
236
|
}
|
|
238
237
|
|
|
239
238
|
.model-select:focus {
|
|
@@ -246,20 +245,20 @@
|
|
|
246
245
|
width: 100%;
|
|
247
246
|
min-height: 36px;
|
|
248
247
|
padding: 8px 10px;
|
|
249
|
-
border: 1px solid var(--color-border);
|
|
250
|
-
border-radius:
|
|
248
|
+
border: 1px solid var(--color-border-soft);
|
|
249
|
+
border-radius: var(--radius-sm);
|
|
251
250
|
font-size: 13px;
|
|
252
251
|
font-weight: var(--font-weight-body);
|
|
253
|
-
background-color:
|
|
252
|
+
background-color: rgba(255, 255, 255, 0.72);
|
|
254
253
|
color: var(--color-text-primary);
|
|
255
254
|
outline: none;
|
|
256
255
|
transition: all var(--transition-fast) var(--ease-smooth);
|
|
257
|
-
box-shadow:
|
|
256
|
+
box-shadow: var(--shadow-subtle);
|
|
258
257
|
}
|
|
259
258
|
|
|
260
259
|
.model-input:hover {
|
|
261
260
|
border-color: var(--color-border-strong);
|
|
262
|
-
background-color:
|
|
261
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
263
262
|
}
|
|
264
263
|
|
|
265
264
|
.model-input:focus {
|
|
@@ -300,9 +299,9 @@
|
|
|
300
299
|
width: 100%;
|
|
301
300
|
min-height: 38px;
|
|
302
301
|
padding: 8px 10px;
|
|
303
|
-
border: 1px dashed rgba(
|
|
304
|
-
border-radius:
|
|
305
|
-
background: rgba(255, 255, 255, 0.
|
|
302
|
+
border: 1px dashed rgba(137, 111, 94, 0.28);
|
|
303
|
+
border-radius: var(--radius-md);
|
|
304
|
+
background: rgba(255, 255, 255, 0.42);
|
|
306
305
|
font-size: 13px;
|
|
307
306
|
font-weight: var(--font-weight-secondary);
|
|
308
307
|
color: var(--color-text-tertiary);
|
|
@@ -324,7 +323,7 @@
|
|
|
324
323
|
.btn-add:hover {
|
|
325
324
|
border-color: var(--color-brand);
|
|
326
325
|
color: var(--color-brand);
|
|
327
|
-
background: linear-gradient(to bottom, rgba(
|
|
326
|
+
background: linear-gradient(to bottom, rgba(200, 121, 99, 0.12) 0%, rgba(255, 255, 255, 0.52) 100%);
|
|
328
327
|
transform: translateY(-1px);
|
|
329
328
|
}
|
|
330
329
|
|
|
@@ -345,15 +344,15 @@
|
|
|
345
344
|
.btn-tool {
|
|
346
345
|
min-height: 36px;
|
|
347
346
|
padding: 8px 10px;
|
|
348
|
-
border-radius:
|
|
347
|
+
border-radius: var(--radius-sm);
|
|
349
348
|
border: 1px solid var(--color-border-soft);
|
|
350
|
-
background: rgba(255, 255, 255, 0.
|
|
349
|
+
background: rgba(255, 255, 255, 0.68);
|
|
351
350
|
font-size: 13px;
|
|
352
351
|
font-weight: var(--font-weight-secondary);
|
|
353
352
|
color: var(--color-text-secondary);
|
|
354
353
|
cursor: pointer;
|
|
355
354
|
transition: all var(--transition-fast) var(--ease-spring);
|
|
356
|
-
box-shadow:
|
|
355
|
+
box-shadow: var(--shadow-subtle);
|
|
357
356
|
letter-spacing: -0.01em;
|
|
358
357
|
width: 100%;
|
|
359
358
|
text-align: center;
|
|
@@ -379,7 +378,7 @@
|
|
|
379
378
|
border-color: var(--color-brand);
|
|
380
379
|
color: var(--color-brand);
|
|
381
380
|
transform: translateY(-1px);
|
|
382
|
-
box-shadow: 0
|
|
381
|
+
box-shadow: 0 10px 22px rgba(92, 68, 52, 0.1);
|
|
383
382
|
}
|
|
384
383
|
|
|
385
384
|
.btn-tool:disabled,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
============================================ */
|
|
4
4
|
body::before,
|
|
5
5
|
body::after {
|
|
6
|
-
|
|
6
|
+
pointer-events: none;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
/* ============================================
|
|
@@ -34,7 +34,7 @@ body::after {
|
|
|
34
34
|
min-height: 100vh;
|
|
35
35
|
height: 100vh;
|
|
36
36
|
overflow: hidden;
|
|
37
|
-
background:
|
|
37
|
+
background: transparent;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.app-shell.standalone {
|
|
@@ -48,16 +48,17 @@ body::after {
|
|
|
48
48
|
display: flex;
|
|
49
49
|
flex-direction: column;
|
|
50
50
|
gap: 0;
|
|
51
|
-
padding:
|
|
52
|
-
background:
|
|
53
|
-
|
|
51
|
+
padding: 10px 8px;
|
|
52
|
+
background:
|
|
53
|
+
linear-gradient(180deg, rgba(255, 253, 250, 0.92) 0%, rgba(255, 248, 241, 0.82) 100%);
|
|
54
|
+
border-right: 1px solid rgba(137, 111, 94, 0.16);
|
|
54
55
|
border-radius: 0;
|
|
55
|
-
box-shadow:
|
|
56
|
+
box-shadow: 18px 0 42px rgba(92, 68, 52, 0.08);
|
|
56
57
|
min-height: 100vh;
|
|
57
58
|
overflow-y: auto;
|
|
58
59
|
scrollbar-width: none;
|
|
59
60
|
-ms-overflow-style: none;
|
|
60
|
-
backdrop-filter:
|
|
61
|
+
backdrop-filter: blur(18px) saturate(130%);
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
.side-rail::-webkit-scrollbar {
|
|
@@ -73,11 +74,11 @@ body::after {
|
|
|
73
74
|
display: flex;
|
|
74
75
|
flex-direction: column;
|
|
75
76
|
gap: 4px;
|
|
76
|
-
padding:
|
|
77
|
+
padding: 7px 4px;
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
.side-section + .side-section {
|
|
80
|
-
border-top: 1px solid
|
|
81
|
+
border-top: 1px solid rgba(137, 111, 94, 0.12);
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
.side-rail-nav {
|
|
@@ -129,8 +130,8 @@ body::after {
|
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
.lang-choice-btn.active {
|
|
132
|
-
border-color: rgba(
|
|
133
|
-
background: rgba(
|
|
133
|
+
border-color: rgba(200, 121, 99, 0.55);
|
|
134
|
+
background: rgba(200, 121, 99, 0.14);
|
|
134
135
|
color: var(--color-brand-dark);
|
|
135
136
|
}
|
|
136
137
|
|
|
@@ -201,7 +202,7 @@ body::after {
|
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
.lang-fab .lang-switch:hover .lang-switch-track {
|
|
204
|
-
border-color: rgba(
|
|
205
|
+
border-color: rgba(200, 121, 99, 0.7);
|
|
205
206
|
}
|
|
206
207
|
|
|
207
208
|
.side-rail-lang {
|
|
@@ -209,10 +210,10 @@ body::after {
|
|
|
209
210
|
bottom: 0;
|
|
210
211
|
z-index: 2;
|
|
211
212
|
margin-top: auto;
|
|
212
|
-
padding: 12px
|
|
213
|
-
background:
|
|
214
|
-
border-top: 1px solid
|
|
215
|
-
backdrop-filter:
|
|
213
|
+
padding: 12px 4px 4px;
|
|
214
|
+
background: linear-gradient(180deg, rgba(255, 248, 241, 0), rgba(255, 248, 241, 0.92) 34%);
|
|
215
|
+
border-top: 1px solid rgba(137, 111, 94, 0.12);
|
|
216
|
+
backdrop-filter: blur(10px);
|
|
216
217
|
display: flex;
|
|
217
218
|
justify-content: center;
|
|
218
219
|
}
|
|
@@ -249,7 +250,7 @@ body::after {
|
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
.lang-switch:hover .lang-switch-track {
|
|
252
|
-
border-color: rgba(
|
|
253
|
+
border-color: rgba(200, 121, 99, 0.6);
|
|
253
254
|
background: rgba(255, 253, 252, 0.92);
|
|
254
255
|
transform: translateY(-1px);
|
|
255
256
|
}
|
|
@@ -297,7 +298,7 @@ body::after {
|
|
|
297
298
|
content: "";
|
|
298
299
|
position: absolute;
|
|
299
300
|
inset: -20px;
|
|
300
|
-
background: radial-gradient(circle at 30% 20%, rgba(
|
|
301
|
+
background: radial-gradient(circle at 30% 20%, rgba(200, 121, 99, 0.18), rgba(200, 121, 99, 0) 55%);
|
|
301
302
|
opacity: 0;
|
|
302
303
|
transform: translateY(10px);
|
|
303
304
|
transition: opacity 240ms var(--ease-smooth), transform 240ms var(--ease-smooth);
|
|
@@ -322,13 +323,13 @@ body::after {
|
|
|
322
323
|
.side-item {
|
|
323
324
|
width: 100%;
|
|
324
325
|
text-align: left;
|
|
325
|
-
padding:
|
|
326
|
-
border-radius:
|
|
326
|
+
padding: 8px 10px;
|
|
327
|
+
border-radius: 13px;
|
|
327
328
|
border: 1px solid transparent;
|
|
328
329
|
background: transparent;
|
|
329
330
|
color: var(--color-text-secondary);
|
|
330
331
|
cursor: pointer;
|
|
331
|
-
transition: border-color var(--transition-fast) var(--ease-smooth), background-color var(--transition-fast) var(--ease-smooth), color var(--transition-fast) var(--ease-smooth);
|
|
332
|
+
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);
|
|
332
333
|
display: flex;
|
|
333
334
|
flex-direction: column;
|
|
334
335
|
gap: 2px;
|
|
@@ -351,16 +352,18 @@ body::after {
|
|
|
351
352
|
}
|
|
352
353
|
|
|
353
354
|
.side-item:hover {
|
|
354
|
-
background:
|
|
355
|
+
background: rgba(255, 255, 255, 0.58);
|
|
355
356
|
color: var(--color-text-primary);
|
|
357
|
+
transform: translateY(-1px);
|
|
356
358
|
}
|
|
357
359
|
|
|
358
360
|
.side-item.active,
|
|
359
361
|
.side-item.nav-intent-active {
|
|
360
|
-
border-color:
|
|
361
|
-
background:
|
|
362
|
+
border-color: rgba(200, 121, 99, 0.28);
|
|
363
|
+
background:
|
|
364
|
+
linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(200, 121, 99, 0.14));
|
|
362
365
|
color: var(--color-brand-dark);
|
|
363
|
-
box-shadow:
|
|
366
|
+
box-shadow: 0 10px 24px rgba(92, 68, 52, 0.08);
|
|
364
367
|
}
|
|
365
368
|
|
|
366
369
|
.side-item.nav-intent-inactive,
|
|
@@ -421,8 +424,8 @@ body::after {
|
|
|
421
424
|
align-items: flex-start;
|
|
422
425
|
gap: 10px;
|
|
423
426
|
margin-bottom: 0;
|
|
424
|
-
padding:
|
|
425
|
-
border-bottom: 1px solid
|
|
427
|
+
padding: 16px 10px 18px;
|
|
428
|
+
border-bottom: 1px solid rgba(137, 111, 94, 0.12);
|
|
426
429
|
}
|
|
427
430
|
|
|
428
431
|
.brand-head {
|
|
@@ -434,10 +437,10 @@ body::after {
|
|
|
434
437
|
.brand-logo {
|
|
435
438
|
width: 38px;
|
|
436
439
|
height: 38px;
|
|
437
|
-
border-radius:
|
|
440
|
+
border-radius: 14px;
|
|
438
441
|
object-fit: cover;
|
|
439
442
|
flex-shrink: 0;
|
|
440
|
-
box-shadow:
|
|
443
|
+
box-shadow: 0 12px 26px rgba(92, 68, 52, 0.12);
|
|
441
444
|
}
|
|
442
445
|
|
|
443
446
|
.brand-copy {
|
|
@@ -497,10 +500,10 @@ body::after {
|
|
|
497
500
|
justify-content: flex-start;
|
|
498
501
|
gap: 8px;
|
|
499
502
|
padding: 8px 10px;
|
|
500
|
-
border-radius:
|
|
501
|
-
background:
|
|
502
|
-
border: 1px solid
|
|
503
|
-
box-shadow:
|
|
503
|
+
border-radius: 13px;
|
|
504
|
+
background: rgba(255, 255, 255, 0.62);
|
|
505
|
+
border: 1px solid rgba(137, 111, 94, 0.15);
|
|
506
|
+
box-shadow: var(--shadow-subtle);
|
|
504
507
|
}
|
|
505
508
|
|
|
506
509
|
.github-badge:hover {
|
|
@@ -511,7 +514,7 @@ body::after {
|
|
|
511
514
|
}
|
|
512
515
|
|
|
513
516
|
.github-badge:focus-visible {
|
|
514
|
-
outline: 3px solid rgba(
|
|
517
|
+
outline: 3px solid rgba(200, 121, 99, 0.18);
|
|
515
518
|
outline-offset: 2px;
|
|
516
519
|
border-color: var(--color-brand);
|
|
517
520
|
color: var(--color-text-primary);
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
left: 0;
|
|
18
18
|
right: 0;
|
|
19
19
|
bottom: 0;
|
|
20
|
-
background:
|
|
20
|
+
background:
|
|
21
|
+
radial-gradient(circle at 50% 18%, rgba(255, 248, 241, 0.22), rgba(255, 248, 241, 0) 36%),
|
|
22
|
+
linear-gradient(to bottom, rgba(31, 26, 23, 0.28) 0%, rgba(31, 26, 23, 0.48) 100%);
|
|
21
23
|
display: flex;
|
|
22
24
|
justify-content: center;
|
|
23
25
|
align-items: center;
|
|
@@ -28,16 +30,16 @@
|
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
.modal {
|
|
31
|
-
background: linear-gradient(to bottom,
|
|
33
|
+
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.96) 0%, rgba(255, 250, 246, 0.94) 100%);
|
|
32
34
|
width: 90%;
|
|
33
35
|
max-width: 400px;
|
|
34
36
|
max-height: 90vh;
|
|
35
37
|
overflow-y: auto;
|
|
36
38
|
overscroll-behavior: contain;
|
|
37
|
-
border-radius: var(--radius-
|
|
39
|
+
border-radius: var(--radius-xl);
|
|
38
40
|
padding: var(--spacing-md);
|
|
39
41
|
box-shadow: var(--shadow-modal);
|
|
40
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
42
|
+
border: 1px solid rgba(255, 255, 255, 0.72);
|
|
41
43
|
animation: modalSlideUp var(--transition-slow) var(--ease-spring);
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -75,8 +77,8 @@
|
|
|
75
77
|
margin-top: 0;
|
|
76
78
|
padding: var(--spacing-sm) var(--spacing-md) var(--spacing-md);
|
|
77
79
|
border-top: 1px solid var(--color-border-soft);
|
|
78
|
-
background: linear-gradient(to bottom, rgba(255,
|
|
79
|
-
backdrop-filter: blur(
|
|
80
|
+
background: linear-gradient(to bottom, rgba(255, 250, 246, 0.78) 0%, rgba(255, 250, 246, 0.96) 100%);
|
|
81
|
+
backdrop-filter: blur(10px);
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
.modal-title {
|
|
@@ -116,8 +118,8 @@
|
|
|
116
118
|
gap: var(--spacing-sm);
|
|
117
119
|
padding: 10px 12px;
|
|
118
120
|
border: 1px solid var(--color-border-soft);
|
|
119
|
-
border-radius: var(--radius-
|
|
120
|
-
background:
|
|
121
|
+
border-radius: var(--radius-md);
|
|
122
|
+
background: rgba(255, 255, 255, 0.48);
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
.install-row-main {
|
|
@@ -138,7 +140,7 @@
|
|
|
138
140
|
font-size: var(--font-size-secondary);
|
|
139
141
|
color: var(--color-text-primary);
|
|
140
142
|
word-break: break-all;
|
|
141
|
-
background: rgba(255, 255, 255, 0.
|
|
143
|
+
background: rgba(255, 255, 255, 0.72);
|
|
142
144
|
padding: 8px 10px;
|
|
143
145
|
border-radius: var(--radius-sm);
|
|
144
146
|
border: 1px solid var(--color-border-soft);
|
|
@@ -156,7 +158,7 @@
|
|
|
156
158
|
|
|
157
159
|
.install-action-tabs .btn-mini.active {
|
|
158
160
|
background: var(--color-brand-light);
|
|
159
|
-
border-color: rgba(
|
|
161
|
+
border-color: rgba(200, 121, 99, 0.22);
|
|
160
162
|
color: var(--color-brand-dark);
|
|
161
163
|
}
|
|
162
164
|
|