codexmate 0.1.27 → 0.1.29

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.
Files changed (48) hide show
  1. package/README.md +53 -44
  2. package/README.vi.md +45 -36
  3. package/README.zh.md +51 -42
  4. package/cli/config-bootstrap.js +2 -9
  5. package/cli/session-usage.js +2 -2
  6. package/cli.js +407 -40
  7. package/package.json +1 -1
  8. package/web-ui/app.js +7 -0
  9. package/web-ui/index.html +12 -0
  10. package/web-ui/logic.sessions.mjs +6 -4
  11. package/web-ui/modules/app.computed.session.mjs +52 -33
  12. package/web-ui/modules/app.methods.agents.mjs +36 -0
  13. package/web-ui/modules/app.methods.codex-config.mjs +3 -1
  14. package/web-ui/modules/app.methods.index.mjs +2 -0
  15. package/web-ui/modules/app.methods.providers.mjs +12 -4
  16. package/web-ui/modules/app.methods.session-actions.mjs +10 -8
  17. package/web-ui/modules/app.methods.session-browser.mjs +3 -1
  18. package/web-ui/modules/app.methods.session-trash.mjs +16 -16
  19. package/web-ui/modules/app.methods.theme.mjs +39 -0
  20. package/web-ui/modules/app.methods.web-ui-preferences.mjs +9 -0
  21. package/web-ui/modules/i18n/locales/en.mjs +80 -2
  22. package/web-ui/modules/i18n/locales/ja.mjs +80 -2
  23. package/web-ui/modules/i18n/locales/vi.mjs +80 -2
  24. package/web-ui/modules/i18n/locales/zh-tw.mjs +80 -2
  25. package/web-ui/modules/i18n/locales/zh.mjs +80 -2
  26. package/web-ui/modules/i18n.mjs +7 -0
  27. package/web-ui/partials/index/modal-config-template-agents.html +1 -1
  28. package/web-ui/partials/index/modal-health-check.html +1 -1
  29. package/web-ui/partials/index/modal-openclaw-config.html +50 -50
  30. package/web-ui/partials/index/panel-dashboard.html +1 -1
  31. package/web-ui/partials/index/panel-prompts.html +2 -2
  32. package/web-ui/partials/index/panel-sessions.html +47 -30
  33. package/web-ui/partials/index/panel-settings.html +30 -0
  34. package/web-ui/res/web-ui-render.precompiled.js +244 -157
  35. package/web-ui/session-helpers.mjs +3 -0
  36. package/web-ui/styles/base-theme.css +3 -2
  37. package/web-ui/styles/bridge-pool.css +1 -1
  38. package/web-ui/styles/controls-forms.css +1 -1
  39. package/web-ui/styles/layout-shell.css +0 -1
  40. package/web-ui/styles/sessions-preview.css +77 -0
  41. package/web-ui/styles/sessions-toolbar-trash.css +1 -1
  42. package/web-ui/styles/sessions-usage.css +1 -1
  43. package/web-ui/styles/settings-panel.css +2 -2
  44. package/web-ui/styles/theme-dark-tokens.css +83 -0
  45. package/web-ui/styles/theme-dark.css +1355 -0
  46. package/web-ui/styles/theme-ocean-tokens.css +88 -0
  47. package/web-ui/styles/theme-ocean.css +920 -0
  48. package/web-ui/styles.css +2 -0
@@ -0,0 +1,920 @@
1
+ /*
2
+ * Codex Mate Web UI - ocean light theme overrides.
3
+ *
4
+ * The token section is hand maintained in web-ui/styles/theme-ocean-tokens.css.
5
+ * The component section below is GENERATED - do not edit by hand.
6
+ * Regenerate after changing any stylesheet:
7
+ * node scripts/generate-ocean-theme-css.mjs
8
+ */
9
+
10
+ /*
11
+ * Codex Mate Web UI - ocean light theme tokens (hand maintained).
12
+ *
13
+ * Background layer adapted from the "dafy-whale-theme" project
14
+ * (https://github.com/DViridescent/dafy-whale-theme, MIT licensed).
15
+ * Only the static background layer (the ocean wash gradients) is reused:
16
+ * no mascot, no fish swarm, no bubble animation, no plugin dependency.
17
+ *
18
+ * The component section of theme-ocean.css is GENERATED - do not edit by hand.
19
+ * Regenerate after changing any stylesheet:
20
+ * node scripts/generate-ocean-theme-css.mjs
21
+ */
22
+ :root[data-theme="ocean"] {
23
+ color-scheme: light;
24
+
25
+ /* 品牌色:海洋蓝(源自 dafy-whale-theme 的 --dsw-alias-brand-primary) */
26
+ --color-brand: #3B62F6;
27
+ --color-brand-dark: #2B4BD0;
28
+ --color-brand-light: rgba(59, 98, 246, 0.13);
29
+ --color-brand-subtle: rgba(59, 98, 246, 0.2);
30
+
31
+ /* 中性蓝层级底色 */
32
+ --color-bg: #E9F3FC;
33
+ --color-surface: #F3F9FE;
34
+ --color-surface-alt: #E0EDF9;
35
+ --color-surface-elevated: #FFFFFF;
36
+ --color-surface-tint: rgba(243, 249, 254, 0.86);
37
+ --color-surface-chip: rgba(255, 255, 255, 0.76);
38
+ --color-text-primary: #0E2A5C;
39
+ --color-text-secondary: #3B5C85;
40
+ --color-text-tertiary: #45678F;
41
+ --color-text-muted: #476A90;
42
+ --color-border: rgba(31, 86, 150, 0.18);
43
+ --color-border-soft: rgba(31, 86, 150, 0.13);
44
+ --color-border-strong: rgba(31, 86, 150, 0.34);
45
+
46
+ --color-success: #127450;
47
+ --color-error: #B92A50;
48
+
49
+ /* Delta 指示色 */
50
+ --color-delta-up: #127450;
51
+ --color-delta-down: #B92A50;
52
+
53
+ /* 热力图色阶:海洋蓝 alpha 阶梯 */
54
+ --color-heatmap-1: rgba(59, 98, 246, 0.2);
55
+ --color-heatmap-2: rgba(59, 98, 246, 0.4);
56
+ --color-heatmap-3: rgba(59, 98, 246, 0.6);
57
+ --color-heatmap-4: rgba(59, 98, 246, 0.85);
58
+
59
+ /*
60
+ * 背景海面光晕:取自 dafy-whale-theme 的 .dafy-wash 三层径向渐变,
61
+ * 仅保留静态渐变层,颜色全部由下方 wash token 承载。
62
+ */
63
+ --color-ocean-wash-brand: rgba(59, 98, 246, 0.30);
64
+ --color-ocean-wash-cyan: rgba(87, 199, 232, 0.26);
65
+ --color-ocean-wash-teal: rgba(47, 208, 181, 0.14);
66
+
67
+ --bg-warm-gradient:
68
+ radial-gradient(circle at 14% 8%, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0) 26%),
69
+ radial-gradient(circle at 86% 18%, rgba(214, 236, 255, 0.55), rgba(214, 236, 255, 0) 30%),
70
+ linear-gradient(135deg, var(--color-bg) 0%, var(--color-surface-alt) 100%);
71
+
72
+ --color-bg-topbar-strong: rgba(233, 243, 252, 0.96);
73
+ --color-bg-topbar-soft: rgba(233, 243, 252, 0.86);
74
+ --color-bg-topbar-clear: rgba(233, 243, 252, 0);
75
+
76
+ /* 阴影系统:冷色蓝调 */
77
+ --shadow-subtle: 0 1px 2px rgba(16, 48, 92, 0.05);
78
+ --shadow-card: 0 12px 30px rgba(16, 48, 92, 0.08);
79
+ --shadow-card-hover: 0 18px 44px rgba(16, 48, 92, 0.14);
80
+ --shadow-float: 0 22px 56px rgba(12, 40, 80, 0.18);
81
+ --shadow-raised: 0 14px 30px rgba(16, 48, 92, 0.14);
82
+ --shadow-modal:
83
+ 0 16px 42px rgba(12, 40, 80, 0.16),
84
+ 0 34px 84px rgba(12, 40, 80, 0.16);
85
+ --shadow-input-focus:
86
+ 0 0 0 3px var(--color-brand-light),
87
+ 0 1px 2px rgba(16, 48, 92, 0.06);
88
+ }
89
+
90
+ /* 背景海面光晕:固定层,不参与滚动,避免长页面拉伸与错位 */
91
+ :root[data-theme="ocean"] body::before {
92
+ background:
93
+ radial-gradient(1100px 620px at 88% -8%, var(--color-ocean-wash-brand), transparent 62%),
94
+ radial-gradient(900px 560px at -6% 108%, var(--color-ocean-wash-cyan), transparent 58%),
95
+ radial-gradient(520px 340px at 50% 46%, var(--color-ocean-wash-teal), transparent 70%);
96
+ mix-blend-mode: soft-light;
97
+ }
98
+
99
+ /* ==========================================================================
100
+ GENERATED COMPONENT OVERRIDES - do not edit by hand
101
+ ========================================================================== */
102
+
103
+ [data-theme="ocean"] .side-rail {
104
+ background-image:linear-gradient(180deg, rgba(243, 249, 254, 0.95) 0%, rgba(233, 243, 252, 0.89) 100%);
105
+ border-right:1px solid rgba(159, 195, 232, 0.1);
106
+ box-shadow:8px 0 28px rgba(16, 48, 92, 0.05), 1px 0 0 rgba(255, 255, 255, 0.5);
107
+ }
108
+ [data-theme="ocean"] .side-rail-collapse-toggle {
109
+ border:1px solid rgba(159, 195, 232, 0.18);
110
+ background-color:rgba(243, 249, 254, 0.96);
111
+ box-shadow:0 8px 18px rgba(16, 48, 92, 0.1);
112
+ }
113
+ [data-theme="ocean"] .side-rail-collapse-toggle:hover {
114
+ border-color:rgba(59, 98, 246, 0.35);
115
+ }
116
+ [data-theme="ocean"] .side-section + .side-section {
117
+ border-top:1px solid rgba(159, 195, 232, 0.08);
118
+ }
119
+ [data-theme="ocean"] .lang-choice {
120
+ border:1px solid rgba(198, 220, 242, 0.32);
121
+ background-color:rgba(243, 249, 254, 0.92);
122
+ box-shadow:0 14px 34px rgba(12, 36, 70, 0.22);
123
+ }
124
+ [data-theme="ocean"] .lang-choice-btn:hover {
125
+ border-color:rgba(198, 220, 242, 0.32);
126
+ }
127
+ [data-theme="ocean"] .lang-choice-btn.active {
128
+ border-color:rgba(59, 98, 246, 0.55);
129
+ background-color:rgba(59, 98, 246, 0.14);
130
+ }
131
+ [data-theme="ocean"] .lang-fab .lang-switch-track {
132
+ box-shadow:0 14px 34px rgba(12, 36, 70, 0.22);
133
+ background-color:rgba(243, 249, 254, 0.92);
134
+ border-color:rgba(198, 220, 242, 0.32);
135
+ }
136
+ [data-theme="ocean"] .lang-fab::before {
137
+ background-image:radial-gradient(circle at 50% 70%, rgba(238, 244, 250, 0.92), rgba(238, 244, 250, 0));
138
+ }
139
+ [data-theme="ocean"] .lang-fab .lang-switch:hover .lang-switch-track {
140
+ border-color:rgba(59, 98, 246, 0.7);
141
+ }
142
+ [data-theme="ocean"] .side-rail-lang {
143
+ background-image:linear-gradient(180deg, rgba(233, 243, 252, 0), rgba(233, 243, 252, 0.94) 28%);
144
+ border-top:1px solid rgba(159, 195, 232, 0.08);
145
+ }
146
+ [data-theme="ocean"] .side-rail-lang .lang-choice {
147
+ background-color:rgba(243, 249, 254, 0.9);
148
+ }
149
+ [data-theme="ocean"] .lang-switch-track {
150
+ border:1px solid rgba(198, 220, 242, 0.38);
151
+ background-color:rgba(243, 249, 254, 0.78);
152
+ box-shadow:0 1px 2px rgba(12, 36, 70, 0.06);
153
+ }
154
+ [data-theme="ocean"] .lang-switch:hover .lang-switch-track {
155
+ border-color:rgba(59, 98, 246, 0.6);
156
+ background-color:rgba(243, 249, 254, 0.92);
157
+ }
158
+ [data-theme="ocean"] .lang-switch-track::after {
159
+ background-image:radial-gradient(circle at 30% 20%, rgba(59, 98, 246, 0.18), rgba(59, 98, 246, 0) 55%);
160
+ }
161
+ [data-theme="ocean"] .side-item.active,
162
+ [data-theme="ocean"] .side-item.nav-intent-active {
163
+ border-color:rgba(59, 98, 246, 0.22);
164
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(59, 98, 246, 0.1));
165
+ box-shadow:0 8px 20px rgba(16, 48, 92, 0.06);
166
+ }
167
+ [data-theme="ocean"] .sidebar-collapsed .side-section + .side-section {
168
+ border-top-color:rgba(159, 195, 232, 0.06);
169
+ }
170
+ [data-theme="ocean"] .brand-kicker {
171
+ color:rgb(14, 42, 92);
172
+ }
173
+ [data-theme="ocean"] .brand-version {
174
+ color:rgb(71, 106, 144);
175
+ -webkit-text-fill-color:rgb(71, 106, 144);
176
+ }
177
+ [data-theme="ocean"] .mobile-update-chip {
178
+ border:1px solid rgba(59, 98, 246, 0.16);
179
+ }
180
+ [data-theme="ocean"] .mobile-update-chip--error {
181
+ border-color:rgba(40, 76, 206, 0.18);
182
+ }
183
+ [data-theme="ocean"] .mobile-update-chip--error .side-update-dot {
184
+ background-color:rgba(40, 76, 206, 0.78);
185
+ box-shadow:0 0 0 4px rgba(40, 76, 206, 0.08);
186
+ }
187
+ [data-theme="ocean"] .side-update-notice {
188
+ border:1px solid rgba(59, 98, 246, 0.16);
189
+ }
190
+ [data-theme="ocean"] .side-update-notice:hover {
191
+ border-color:rgba(59, 98, 246, 0.3);
192
+ }
193
+ [data-theme="ocean"] .side-update-notice--error {
194
+ border-color:rgba(40, 76, 206, 0.18);
195
+ }
196
+ [data-theme="ocean"] .side-update-notice--error .side-update-dot {
197
+ background-color:rgba(40, 76, 206, 0.78);
198
+ box-shadow:0 0 0 4px rgba(40, 76, 206, 0.08);
199
+ }
200
+ [data-theme="ocean"] .side-update-dot {
201
+ background-color:rgba(59, 98, 246, 0.72);
202
+ box-shadow:0 0 0 4px rgba(59, 98, 246, 0.08);
203
+ }
204
+ [data-theme="ocean"] .github-badge-rail {
205
+ border:1px solid rgba(159, 195, 232, 0.15);
206
+ }
207
+ [data-theme="ocean"] .github-badge:focus-visible {
208
+ outline:3px solid rgba(59, 98, 246, 0.18);
209
+ }
210
+ [data-theme="ocean"] .side-item-badge {
211
+ box-shadow:0 2px 6px rgba(59, 98, 246, 0.28);
212
+ }
213
+ [data-theme="ocean"] .language-settings-link {
214
+ border:1px solid rgba(198, 220, 242, 0.28);
215
+ background-color:rgba(243, 249, 254, 0.92);
216
+ box-shadow:0 10px 28px rgba(12, 36, 70, 0.12);
217
+ }
218
+ [data-theme="ocean"] .language-settings-link:hover {
219
+ border-color:rgba(59, 98, 246, 0.58);
220
+ }
221
+ [data-theme="ocean"] .side-announcement-button {
222
+ border:1px solid rgba(198, 220, 242, 0.28);
223
+ background-color:rgba(243, 249, 254, 0.92);
224
+ }
225
+ [data-theme="ocean"] .side-announcement-button:hover {
226
+ border-color:rgba(59, 98, 246, 0.58);
227
+ }
228
+ [data-theme="ocean"] .lang-toggle-btn.active {
229
+ border-color:rgba(59, 98, 246, 0.28);
230
+ }
231
+ [data-theme="ocean"] .panel-header-refined {
232
+ border-bottom:1px solid rgba(159, 195, 232, 0.14);
233
+ }
234
+ [data-theme="ocean"] .top-tab.active,
235
+ [data-theme="ocean"] .top-tab.nav-intent-active {
236
+ border-color:rgba(59, 98, 246, 0.28);
237
+ box-shadow:0 10px 24px rgba(16, 48, 92, 0.1);
238
+ }
239
+ [data-theme="ocean"] .config-subtab {
240
+ border:1px solid rgba(214, 232, 250, 0.3);
241
+ }
242
+ [data-theme="ocean"] .config-subtab.active {
243
+ border-color:rgba(59, 98, 246, 0.34);
244
+ box-shadow:0 8px 20px rgba(16, 48, 92, 0.08);
245
+ }
246
+ [data-theme="ocean"] .settings-tab-badge {
247
+ background-color:rgba(59, 98, 246, 0.14);
248
+ }
249
+ [data-theme="ocean"] .segment.active {
250
+ box-shadow:0 8px 18px rgba(16, 48, 92, 0.08), inset 0 0 0 1px rgba(59, 98, 246, 0.12);
251
+ }
252
+ [data-theme="ocean"] .card {
253
+ background-image:linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 249, 254, 0.76));
254
+ }
255
+ [data-theme="ocean"] .card.active {
256
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(59, 98, 246, 0.15));
257
+ border-color:rgba(59, 98, 246, 0.28);
258
+ box-shadow:0 14px 34px rgba(16, 48, 92, 0.12);
259
+ }
260
+ [data-theme="ocean"] .card-icon {
261
+ background-color:rgba(59, 98, 246, 0.12);
262
+ box-shadow:inset 0 0 0 1px rgba(59, 98, 246, 0.08);
263
+ }
264
+ [data-theme="ocean"] .card.active .card-icon {
265
+ background-color:rgba(59, 98, 246, 0.18);
266
+ box-shadow:inset 0 0 0 1px rgba(59, 98, 246, 0.14);
267
+ }
268
+ [data-theme="ocean"] .card-action-btn {
269
+ box-shadow:inset 0 1px 2px rgba(12, 36, 70, 0.04);
270
+ }
271
+ [data-theme="ocean"] .card-action-btn:hover {
272
+ background-image:linear-gradient(135deg, rgba(59, 98, 246, 0.1) 0%, rgba(255, 255, 255, 0.95) 100%);
273
+ }
274
+ [data-theme="ocean"] .card-action-btn.delete:hover {
275
+ background-image:linear-gradient(135deg, rgba(43, 80, 214, 0.1) 0%, rgba(43, 80, 214, 0.05) 100%);
276
+ }
277
+ [data-theme="ocean"] .pill.empty {
278
+ background-image:linear-gradient(135deg, rgba(43, 80, 214, 0.1) 0%, rgba(43, 80, 214, 0.05) 100%);
279
+ box-shadow:inset 0 0.5px 1px rgba(43, 80, 214, 0.15);
280
+ }
281
+ [data-theme="ocean"] .latency.error {
282
+ background-color:rgba(43, 80, 214, 0.08);
283
+ }
284
+ [data-theme="ocean"] .btn-icon {
285
+ box-shadow:0 8px 18px rgba(16, 48, 92, 0.12);
286
+ }
287
+ [data-theme="ocean"] .btn-icon:hover {
288
+ box-shadow:0 12px 24px rgba(16, 48, 92, 0.16);
289
+ }
290
+ [data-theme="ocean"] .config-template-hint.error-text {
291
+ color:rgb(30, 60, 170);
292
+ }
293
+ [data-theme="ocean"] .btn-add {
294
+ border:1px dashed rgba(159, 195, 232, 0.28);
295
+ }
296
+ [data-theme="ocean"] .btn-add:hover {
297
+ background-image:linear-gradient(to bottom, rgba(59, 98, 246, 0.12) 0%, rgba(255, 255, 255, 0.52) 100%);
298
+ }
299
+ [data-theme="ocean"] .btn-tool:not(:disabled):hover {
300
+ box-shadow:0 10px 22px rgba(16, 48, 92, 0.1);
301
+ }
302
+ [data-theme="ocean"] .tool-config-write-overlay {
303
+ background-color:rgba(233, 243, 252, 0.78);
304
+ }
305
+ [data-theme="ocean"] .settings-tab-header .segmented-control {
306
+ background-color:rgba(159, 195, 232, 0.08);
307
+ }
308
+ [data-theme="ocean"] .settings-card {
309
+ border:1px solid rgba(159, 195, 232, 0.1);
310
+ }
311
+ [data-theme="ocean"] .settings-card:hover {
312
+ border-color:rgba(159, 195, 232, 0.15);
313
+ }
314
+ [data-theme="ocean"] .model-select {
315
+ background-color:rgba(233, 243, 252, 0.5);
316
+ border:1px solid rgba(159, 195, 232, 0.15);
317
+ }
318
+ [data-theme="ocean"] .model-select:hover {
319
+ border-color:rgba(159, 195, 232, 0.25);
320
+ background-color:rgba(233, 243, 252, 0.7);
321
+ }
322
+ [data-theme="ocean"] .model-select:focus {
323
+ box-shadow:0 0 0 3px rgba(59, 98, 246, 0.12);
324
+ }
325
+ [data-theme="ocean"] .settings-toggle-row .toggle-track {
326
+ background-color:rgba(159, 195, 232, 0.2);
327
+ }
328
+ [data-theme="ocean"] .settings-toggle-group .toggle-btn.active {
329
+ box-shadow:0 1px 3px rgba(59, 98, 246, 0.35);
330
+ }
331
+ [data-theme="ocean"] .settings-retention {
332
+ background-color:rgba(233, 243, 252, 0.5);
333
+ border:1px solid rgba(159, 195, 232, 0.1);
334
+ }
335
+ [data-theme="ocean"] .settings-card-action {
336
+ border:1px solid rgba(159, 195, 232, 0.2);
337
+ }
338
+ [data-theme="ocean"] .settings-card-action:hover:not(:disabled) {
339
+ box-shadow:0 4px 12px rgba(59, 98, 246, 0.15);
340
+ }
341
+ [data-theme="ocean"] .webhook-status-dot {
342
+ background-color:rgba(159, 195, 232, 0.25);
343
+ }
344
+ [data-theme="ocean"] .webhook-url {
345
+ background-color:rgba(159, 195, 232, 0.08);
346
+ }
347
+ [data-theme="ocean"] .project-announcement-overlay {
348
+ background-image:radial-gradient(circle at 50% 15%, rgba(233, 243, 252, 0.12), rgba(233, 243, 252, 0) 34%),
349
+ linear-gradient(to bottom, rgba(12, 36, 70, 0.48) 0%, rgba(12, 36, 70, 0.68) 100%);
350
+ }
351
+ [data-theme="ocean"] .provider-cache-announcement-modal {
352
+ background-color:rgba(243, 249, 254, 0.99);
353
+ border-color:rgba(159, 195, 232, 0.22);
354
+ }
355
+ [data-theme="ocean"] .project-announcement-close {
356
+ border:1px solid rgba(159, 195, 232, 0.18);
357
+ }
358
+ [data-theme="ocean"] .project-announcement-close:hover {
359
+ border-color:rgba(59, 98, 246, 0.42);
360
+ }
361
+ [data-theme="ocean"] .project-announcement-feature-card {
362
+ border:1px solid rgba(159, 195, 232, 0.13);
363
+ background-color:rgba(243, 249, 254, 0.86);
364
+ }
365
+ [data-theme="ocean"] .project-announcement-mini-status {
366
+ background-color:rgba(243, 249, 254, 0.52);
367
+ }
368
+ [data-theme="ocean"] .project-announcement-cache-section {
369
+ border:1px solid rgba(159, 195, 232, 0.1);
370
+ background-color:rgba(233, 243, 252, 0.22);
371
+ }
372
+ [data-theme="ocean"] .provider-cache-summary-card {
373
+ border:1px solid rgba(159, 195, 232, 0.12);
374
+ background-color:rgba(243, 249, 254, 0.72);
375
+ }
376
+ [data-theme="ocean"] .provider-cache-announcement-row {
377
+ border:1px solid rgba(159, 195, 232, 0.1);
378
+ background-color:rgba(243, 249, 254, 0.58);
379
+ }
380
+ [data-theme="ocean"] .provider-cache-group {
381
+ border:1px solid rgba(159, 195, 232, 0.14);
382
+ background-color:rgba(243, 249, 254, 0.76);
383
+ }
384
+ [data-theme="ocean"] .provider-cache-file {
385
+ border:1px solid rgba(159, 195, 232, 0.12);
386
+ background-color:rgba(233, 243, 252, 0.44);
387
+ }
388
+ [data-theme="ocean"] .provider-cache-provider,
389
+ [data-theme="ocean"] .provider-cache-raw {
390
+ border:1px solid rgba(159, 195, 232, 0.14);
391
+ background-color:rgba(243, 249, 254, 0.72);
392
+ }
393
+ [data-theme="ocean"] .provider-cache-provider-badge {
394
+ background-color:rgba(59, 98, 246, 0.1);
395
+ }
396
+ [data-theme="ocean"] .provider-cache-json {
397
+ border:1px solid rgba(159, 195, 232, 0.14);
398
+ background-color:rgba(12, 36, 70, 0.94);
399
+ color:rgb(226, 238, 250);
400
+ }
401
+ [data-theme="ocean"] .provider-cache-footer {
402
+ border-top:1px solid rgba(159, 195, 232, 0.14);
403
+ background-color:rgba(243, 249, 254, 0.92);
404
+ }
405
+ [data-theme="ocean"] .pi-model-import-item {
406
+ background-image:linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 249, 254, 0.76));
407
+ }
408
+ [data-theme="ocean"] .bridge-pool-trigger {
409
+ background-color:rgba(59, 98, 246, 0.08);
410
+ }
411
+ [data-theme="ocean"] .bridge-pool-trigger:hover {
412
+ background-color:rgba(59, 98, 246, 0.16);
413
+ }
414
+ [data-theme="ocean"] .bridge-pool-panel {
415
+ border:1px solid rgba(214, 232, 250, 0.42);
416
+ background-image:linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(243, 249, 254, 0.9) 100%);
417
+ }
418
+ [data-theme="ocean"] .bridge-pool-empty {
419
+ background-color:rgba(233, 243, 252, 0.5);
420
+ }
421
+ [data-theme="ocean"] .bridge-pool-item:hover {
422
+ background-color:rgba(59, 98, 246, 0.06);
423
+ }
424
+ [data-theme="ocean"] .bridge-pool-item:active {
425
+ background-color:rgba(59, 98, 246, 0.1);
426
+ }
427
+ [data-theme="ocean"] .bridge-pool-item-status {
428
+ background-color:rgba(159, 195, 232, 0.08);
429
+ }
430
+ [data-theme="ocean"] .bridge-pool-item input[type="checkbox"] {
431
+ background-color:rgba(159, 195, 232, 0.22);
432
+ border:1px solid rgba(159, 195, 232, 0.16);
433
+ }
434
+ [data-theme="ocean"] .session-filter-chip:focus-visible {
435
+ outline:3px solid rgba(43, 80, 214, 0.2);
436
+ }
437
+ [data-theme="ocean"] .session-source-pill.active {
438
+ box-shadow:0 1px 3px rgba(59, 98, 246, 0.35);
439
+ }
440
+ [data-theme="ocean"] .session-source-pill[data-source="codex"] .session-source-pill-dot {
441
+ background-color:rgb(43, 80, 214);
442
+ }
443
+ [data-theme="ocean"] .session-source-pill[data-source="claude"] .session-source-pill-dot {
444
+ background-color:rgb(52, 90, 230);
445
+ }
446
+ [data-theme="ocean"] .session-source[data-source="codex"],
447
+ [data-theme="ocean"] .session-source.codex {
448
+ background-color:rgba(43, 80, 214, 0.08);
449
+ color:rgb(43, 80, 214);
450
+ border-color:rgba(43, 80, 214, 0.2);
451
+ }
452
+ [data-theme="ocean"] .session-source[data-source="claude"],
453
+ [data-theme="ocean"] .session-source.claude {
454
+ background-color:rgba(52, 90, 230, 0.08);
455
+ color:rgb(43, 80, 214);
456
+ border-color:rgba(52, 90, 230, 0.2);
457
+ }
458
+ [data-theme="ocean"] .session-derived-badge {
459
+ border:1px solid rgba(30, 60, 170, 0.28);
460
+ background-color:rgba(30, 60, 170, 0.08);
461
+ }
462
+ [data-theme="ocean"] .session-count-badge {
463
+ box-shadow:0 4px 10px rgba(30, 60, 170, 0.16);
464
+ }
465
+ [data-theme="ocean"] .btn-session-delete {
466
+ border:1px solid rgba(38, 72, 200, 0.4);
467
+ }
468
+ [data-theme="ocean"] .btn-session-delete:hover {
469
+ border-color:rgba(38, 72, 200, 0.8);
470
+ background-color:rgba(38, 72, 200, 0.06);
471
+ }
472
+ [data-theme="ocean"] .trash-action-btn.delete:hover:not(:disabled) {
473
+ background-color:rgba(40, 76, 206, 0.06);
474
+ }
475
+ [data-theme="ocean"] .session-item:hover {
476
+ background-image:linear-gradient(to bottom, rgba(43, 80, 214, 0.08) 0%, rgba(255, 255, 255, 0.98) 100%);
477
+ }
478
+ [data-theme="ocean"] .session-item:focus-visible {
479
+ outline:3px solid rgba(43, 80, 214, 0.2);
480
+ background-image:linear-gradient(to bottom, rgba(43, 80, 214, 0.06) 0%, rgba(255, 255, 255, 0.98) 100%);
481
+ }
482
+ [data-theme="ocean"] .session-item.active {
483
+ background-image:linear-gradient(to bottom, rgba(43, 80, 214, 0.06) 0%, rgba(255, 255, 255, 0.98) 100%);
484
+ }
485
+ [data-theme="ocean"] .session-item.pinned {
486
+ background-image:linear-gradient(to bottom, rgba(43, 80, 214, 0.08) 0%, rgba(243, 249, 254, 0.98) 100%);
487
+ box-shadow:0 4px 12px rgba(43, 80, 214, 0.08);
488
+ }
489
+ [data-theme="ocean"] .session-context-critical {
490
+ background-color:rgba(40, 76, 206, 0.18);
491
+ }
492
+ [data-theme="ocean"] .session-preview-header {
493
+ background-color:rgba(243, 249, 254, 0.92);
494
+ }
495
+ [data-theme="ocean"] .session-workspace {
496
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(243, 249, 254, 0.9)),
497
+ var(--color-surface-elevated);
498
+ box-shadow:0 14px 34px rgba(12, 36, 70, 0.08);
499
+ }
500
+ [data-theme="ocean"] .session-workspace-card-alert {
501
+ border-color:rgba(43, 80, 214, 0.28);
502
+ background-color:rgba(43, 80, 214, 0.06);
503
+ }
504
+ [data-theme="ocean"] .session-timeline-node:hover {
505
+ box-shadow:0 0 0 3px rgba(43, 80, 214, 0.15);
506
+ }
507
+ [data-theme="ocean"] .session-timeline-node.active {
508
+ box-shadow:0 0 0 3px rgba(43, 80, 214, 0.2);
509
+ }
510
+ [data-theme="ocean"] .session-timeline-bar-node:hover {
511
+ box-shadow:0 0 0 3px rgba(43, 80, 214, 0.15);
512
+ }
513
+ [data-theme="ocean"] .session-timeline-bar-node.active {
514
+ box-shadow:0 0 0 3px rgba(43, 80, 214, 0.2);
515
+ }
516
+ [data-theme="ocean"] .session-msg.user {
517
+ border-color:rgba(43, 80, 214, 0.3);
518
+ background-color:rgba(43, 80, 214, 0.05);
519
+ }
520
+ [data-theme="ocean"] .usage-range-group {
521
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.9), rgba(233, 243, 252, 0.7));
522
+ border:1px solid rgba(159, 195, 232, 0.08);
523
+ box-shadow:0 2px 12px rgba(16, 48, 92, 0.06);
524
+ }
525
+ [data-theme="ocean"] .usage-range-btn:hover:not(:disabled):not(.active) {
526
+ background-color:rgba(59, 98, 246, 0.08);
527
+ }
528
+ [data-theme="ocean"] .usage-range-btn.active {
529
+ box-shadow:0 4px 16px rgba(59, 98, 246, 0.35), 0 0 0 1px rgba(255,255,255,0.1) inset;
530
+ }
531
+ [data-theme="ocean"] .usage-active-strip {
532
+ background-image:linear-gradient(135deg, rgba(59, 98, 246, 0.08), rgba(59, 98, 246, 0.04));
533
+ border:1px solid rgba(59, 98, 246, 0.12);
534
+ }
535
+ [data-theme="ocean"] .usage-kpi-card {
536
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(243, 249, 254, 0.7));
537
+ border:1px solid rgba(159, 195, 232, 0.08);
538
+ box-shadow:0 4px 16px rgba(16, 48, 92, 0.05);
539
+ }
540
+ [data-theme="ocean"] .usage-hero-delta.delta-down {
541
+ background-image:linear-gradient(135deg, rgba(40, 76, 206, 0.15), rgba(40, 76, 206, 0.08));
542
+ }
543
+ [data-theme="ocean"] .usage-wave-container {
544
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(243, 249, 254, 0.6));
545
+ border:1px solid rgba(159, 195, 232, 0.06);
546
+ box-shadow:0 4px 20px rgba(16, 48, 92, 0.05);
547
+ }
548
+ [data-theme="ocean"] .usage-wave-line {
549
+ filter:drop-shadow(0 4px 12px rgba(59, 98, 246, 0.25));
550
+ }
551
+ [data-theme="ocean"] .usage-wave-hover-point {
552
+ filter:drop-shadow(0 0 8px rgba(59, 98, 246, 0.4));
553
+ }
554
+ [data-theme="ocean"] .usage-wave-label:hover {
555
+ background-color:rgba(59, 98, 246, 0.08);
556
+ }
557
+ [data-theme="ocean"] .usage-wave-label.active {
558
+ background-image:linear-gradient(135deg, rgba(59, 98, 246, 0.12), rgba(59, 98, 246, 0.06));
559
+ }
560
+ [data-theme="ocean"] .usage-daydetail {
561
+ border:1px solid rgba(159, 195, 232, 0.1);
562
+ box-shadow:0 6px 20px rgba(16, 48, 92, 0.08);
563
+ }
564
+ [data-theme="ocean"] .hourly-heatmap-wrapper {
565
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(243, 249, 254, 0.6));
566
+ border:1px solid rgba(159, 195, 232, 0.06);
567
+ box-shadow:0 4px 20px rgba(16, 48, 92, 0.05);
568
+ }
569
+ [data-theme="ocean"] .hourly-heatmap-cell.level-4 {
570
+ box-shadow:0 0 8px rgba(59, 98, 246, 0.3);
571
+ }
572
+ [data-theme="ocean"] 0%,
573
+ [data-theme="ocean"] 100% {
574
+ box-shadow:0 0 8px rgba(59, 98, 246, 0.3);
575
+ }
576
+ [data-theme="ocean"] 50% {
577
+ box-shadow:0 0 14px rgba(59, 98, 246, 0.5);
578
+ }
579
+ [data-theme="ocean"] .usage-list-compact-item:hover {
580
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.9), rgba(243, 249, 254, 0.7));
581
+ box-shadow:0 2px 8px rgba(16, 48, 92, 0.06);
582
+ }
583
+ [data-theme="ocean"] .usage-list-bar {
584
+ background-color:rgba(159, 195, 232, 0.12);
585
+ }
586
+ [data-theme="ocean"] .usage-list-bar-fill {
587
+ background-image:linear-gradient(90deg, var(--color-brand), rgba(59, 98, 246, 0.55));
588
+ }
589
+ [data-theme="ocean"] .usage-list-paths {
590
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(243, 249, 254, 0.6));
591
+ border:1px solid rgba(159, 195, 232, 0.06);
592
+ box-shadow:0 4px 20px rgba(16, 48, 92, 0.05);
593
+ }
594
+ [data-theme="ocean"] .usage-list-path-rank {
595
+ background-image:linear-gradient(135deg, rgba(59, 98, 246, 0.12), rgba(59, 98, 246, 0.06));
596
+ }
597
+ [data-theme="ocean"] .usage-chart-grid > .usage-card:not(.usage-paths-section):not(.usage-wave-section):not(.usage-card-hourly-heatmap) {
598
+ background-image:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(243, 249, 254, 0.6));
599
+ border:1px solid rgba(159, 195, 232, 0.06);
600
+ box-shadow:0 4px 20px rgba(16, 48, 92, 0.05);
601
+ }
602
+ [data-theme="ocean"] .usage-spinner {
603
+ border:2px solid rgba(159, 195, 232, 0.15);
604
+ }
605
+ [data-theme="ocean"] .doctor-card {
606
+ background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.92) 0%, rgba(233, 243, 252, 0.9) 100%);
607
+ }
608
+ [data-theme="ocean"] .modal-overlay {
609
+ background-image:radial-gradient(circle at 50% 18%, rgba(233, 243, 252, 0.22), rgba(233, 243, 252, 0) 36%),
610
+ linear-gradient(to bottom, rgba(12, 36, 70, 0.28) 0%, rgba(12, 36, 70, 0.48) 100%);
611
+ }
612
+ [data-theme="ocean"] .modal {
613
+ background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.96) 0%, rgba(243, 249, 254, 0.94) 100%);
614
+ }
615
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) {
616
+ background-image:linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 249, 254, 0.96) 100%);
617
+ }
618
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) .modal-editor-header {
619
+ border-bottom:1px solid rgba(159, 195, 232, 0.1);
620
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(243, 249, 254, 0.82));
621
+ }
622
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) .agents-target-file-group {
623
+ border:1px solid rgba(159, 195, 232, 0.12);
624
+ }
625
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) .template-editor,
626
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) .agents-diff-editor {
627
+ border-color:rgba(159, 195, 232, 0.14);
628
+ }
629
+ [data-theme="ocean"] .agents-modal:has(.modal-editor-body--openclaw-workspace) .template-editor-warning {
630
+ background-color:rgba(159, 195, 232, 0.06);
631
+ }
632
+ [data-theme="ocean"] .modal-editor-footer {
633
+ background-image:linear-gradient(to bottom, rgba(243, 249, 254, 0.78) 0%, rgba(243, 249, 254, 0.96) 100%);
634
+ }
635
+ [data-theme="ocean"] .install-action-tabs .btn-mini.active {
636
+ border-color:rgba(59, 98, 246, 0.22);
637
+ }
638
+ [data-theme="ocean"] .form-input {
639
+ box-shadow:inset 0 1px 2px rgba(12, 36, 70, 0.04);
640
+ }
641
+ [data-theme="ocean"] .form-input.invalid:focus {
642
+ box-shadow:0 0 0 3px rgba(40, 76, 206, 0.14);
643
+ }
644
+ [data-theme="ocean"] .form-select {
645
+ box-shadow:inset 0 1px 2px rgba(12, 36, 70, 0.04);
646
+ }
647
+ [data-theme="ocean"] .form-select:disabled {
648
+ background-image:linear-gradient(to right, var(--color-bg) 0%, rgba(233, 243, 252, 0.5) 100%);
649
+ }
650
+ [data-theme="ocean"] .template-editor-warning {
651
+ color:rgb(96, 72, 30);
652
+ }
653
+ [data-theme="ocean"] .agents-diff-save-alert {
654
+ color:rgb(96, 72, 30);
655
+ }
656
+ [data-theme="ocean"] .agents-diff-token-delta--same {
657
+ background-color:rgba(90, 108, 132, 0.1);
658
+ border-color:rgba(90, 108, 132, 0.2);
659
+ }
660
+ [data-theme="ocean"] .form-input:disabled,
661
+ [data-theme="ocean"] .form-input[readonly] {
662
+ background-image:linear-gradient(to right, var(--color-bg) 0%, rgba(233, 243, 252, 0.5) 100%);
663
+ }
664
+ [data-theme="ocean"] .btn-confirm-mini {
665
+ box-shadow:0 2px 4px rgba(43, 80, 214, 0.2);
666
+ }
667
+ [data-theme="ocean"] .btn-confirm-mini:hover {
668
+ box-shadow:0 4px 8px rgba(43, 80, 214, 0.25);
669
+ }
670
+ [data-theme="ocean"] .prompts-context-hint--warn {
671
+ color:rgb(96, 72, 30);
672
+ }
673
+ [data-theme="ocean"] .health-check-dialog-lock {
674
+ background-color:rgba(37, 74, 200, 0.12);
675
+ }
676
+ [data-theme="ocean"] .health-check-dialog-thread {
677
+ background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.92) 0%, rgba(233, 243, 252, 0.9) 100%);
678
+ }
679
+ [data-theme="ocean"] .health-check-message {
680
+ border:1px solid rgba(37, 74, 200, 0.12);
681
+ }
682
+ [data-theme="ocean"] .health-check-message.user {
683
+ background-image:linear-gradient(to bottom, rgba(37, 74, 200, 0.12) 0%, rgba(37, 74, 200, 0.06) 100%);
684
+ }
685
+ [data-theme="ocean"] .health-check-message-raw {
686
+ background-color:rgba(12, 36, 70, 0.04);
687
+ }
688
+ [data-theme="ocean"] .accordion-panel.active {
689
+ border-color:rgba(59, 98, 246, 0.25);
690
+ box-shadow:0 2px 12px rgba(59, 98, 246, 0.08);
691
+ }
692
+ [data-theme="ocean"] .accordion-trigger:hover {
693
+ background-color:rgba(59, 98, 246, 0.04);
694
+ }
695
+ [data-theme="ocean"] .auth-profile-item {
696
+ background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.82) 0%, rgba(233, 243, 252, 0.4) 100%);
697
+ }
698
+ [data-theme="ocean"] .openclaw-summary-card > .settings-card-body {
699
+ border:1px solid rgba(159, 195, 232, 0.12);
700
+ background-image:linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(243, 249, 254, 0.72));
701
+ }
702
+ [data-theme="ocean"] .openclaw-summary-item {
703
+ border:1px solid rgba(159, 195, 232, 0.1);
704
+ }
705
+ [data-theme="ocean"] .openclaw-tool-btn {
706
+ border:1px solid rgba(159, 195, 232, 0.12);
707
+ }
708
+ [data-theme="ocean"] .openclaw-tool-btn:hover:not(:disabled) {
709
+ border-color:rgba(159, 195, 232, 0.22);
710
+ box-shadow:0 8px 22px rgba(16, 48, 92, 0.08);
711
+ }
712
+ [data-theme="ocean"] .tool-icon {
713
+ background-color:rgba(159, 195, 232, 0.08);
714
+ }
715
+ [data-theme="ocean"] .openclaw-card-list .card {
716
+ border-color:rgba(159, 195, 232, 0.12);
717
+ }
718
+ [data-theme="ocean"] .openclaw-config-summary-mini span {
719
+ background-color:rgba(159, 195, 232, 0.08);
720
+ }
721
+ [data-theme="ocean"] .skills-flow-item.has-issue {
722
+ background-color:rgba(243, 238, 252, 0.3);
723
+ }
724
+ [data-theme="ocean"] .skills-flow-item.has-issue:hover {
725
+ background-color:rgba(243, 238, 252, 0.5);
726
+ }
727
+ [data-theme="ocean"] .skills-action-btn:hover:not(:disabled) {
728
+ background-color:rgba(243, 238, 252, 0.5);
729
+ }
730
+ [data-theme="ocean"] .skills-summary-item {
731
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.96) 0%, rgba(233, 243, 252, 0.7) 100%);
732
+ }
733
+ [data-theme="ocean"] .skills-summary-item:hover {
734
+ box-shadow:0 4px 12px rgba(16, 48, 92, 0.08);
735
+ }
736
+ [data-theme="ocean"] .skills-panel {
737
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.92) 0%, rgba(233, 243, 252, 0.7) 100%);
738
+ }
739
+ [data-theme="ocean"] .market-target-chip.active {
740
+ border-color:rgba(59, 98, 246, 0.4);
741
+ background-image:linear-gradient(to bottom, rgba(243, 238, 252, 0.98) 0%, rgba(255,232,220,0.86) 100%);
742
+ box-shadow:0 2px 8px rgba(59, 98, 246, 0.12);
743
+ }
744
+ [data-theme="ocean"] .market-target-chip:hover:not(.active):not(:disabled) {
745
+ border-color:rgba(59, 98, 246, 0.3);
746
+ background-color:rgba(243, 238, 252, 0.4);
747
+ }
748
+ [data-theme="ocean"] .market-action-card {
749
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.96) 0%, rgba(233, 243, 252, 0.8) 100%);
750
+ }
751
+ [data-theme="ocean"] .market-action-card:hover:not(:disabled) {
752
+ border-color:rgba(59, 98, 246, 0.4);
753
+ }
754
+ [data-theme="ocean"] .skill-item:hover {
755
+ border-color:rgba(59, 98, 246, 0.35);
756
+ background-color:rgba(243, 238, 252, 0.3);
757
+ }
758
+ [data-theme="ocean"] .skill-item.selected {
759
+ border-color:rgba(59, 98, 246, 0.5);
760
+ background-image:linear-gradient(to right, rgba(243, 238, 252, 0.7) 0%, rgba(255,255,255,0.6) 100%);
761
+ }
762
+ [data-theme="ocean"] .skills-empty-state {
763
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.7) 0%, rgba(233, 243, 252, 0.5) 100%);
764
+ }
765
+ [data-theme="ocean"] .btn-mini.delete {
766
+ border-color:rgba(35, 68, 190, 0.35);
767
+ }
768
+ [data-theme="ocean"] .btn-mini.delete:hover {
769
+ border-color:rgba(35, 68, 190, 0.7);
770
+ }
771
+ [data-theme="ocean"] .btn-cancel {
772
+ background-image:linear-gradient(to bottom, var(--color-bg) 0%, rgba(233, 243, 252, 0.8) 100%);
773
+ }
774
+ [data-theme="ocean"] .btn-cancel:hover {
775
+ background-image:linear-gradient(to bottom, var(--color-border) 0%, rgba(214, 232, 250, 0.5) 100%);
776
+ }
777
+ [data-theme="ocean"] .btn-confirm {
778
+ box-shadow:0 2px 4px rgba(43, 80, 214, 0.2);
779
+ }
780
+ [data-theme="ocean"] .btn-confirm:hover {
781
+ box-shadow:0 4px 8px rgba(43, 80, 214, 0.25);
782
+ }
783
+ [data-theme="ocean"] .btn-confirm.btn-danger {
784
+ background-image:linear-gradient(135deg, rgb(43, 80, 214) 0%, rgb(30, 60, 170) 100%);
785
+ box-shadow:0 2px 4px rgba(26, 52, 150, 0.24);
786
+ }
787
+ [data-theme="ocean"] .btn-confirm.btn-danger:hover {
788
+ box-shadow:0 4px 10px rgba(26, 52, 150, 0.28);
789
+ }
790
+ [data-theme="ocean"] .model-list {
791
+ border:1px solid rgba(214, 232, 250, 0.4);
792
+ }
793
+ [data-theme="ocean"] .model-item {
794
+ border-bottom:1px solid rgba(214, 232, 250, 0.3);
795
+ }
796
+ [data-theme="ocean"] .model-item:hover {
797
+ background-image:linear-gradient(to right, rgba(233, 243, 252, 0.6) 0%, rgba(233, 243, 252, 0.3) 100%);
798
+ }
799
+ [data-theme="ocean"] .btn-remove-model {
800
+ border:1px solid rgba(198, 220, 242, 0.2);
801
+ }
802
+ [data-theme="ocean"] .btn-remove-model:hover {
803
+ background-image:linear-gradient(135deg, var(--color-error) 0%, rgba(43, 80, 214, 0.9) 100%);
804
+ box-shadow:0 2px 6px rgba(43, 80, 214, 0.25);
805
+ }
806
+ [data-theme="ocean"] .health-failed-provider-header {
807
+ background-color:rgba(30, 60, 170, 0.08);
808
+ background-image:linear-gradient(135deg, rgba(30, 60, 170, 0.11), rgba(43, 80, 214, 0.07));
809
+ }
810
+ [data-theme="ocean"] .health-check-modal-actions {
811
+ background-image:linear-gradient(to bottom, rgba(243, 249, 254, 0.78) 0%, rgba(243, 249, 254, 0.98) 100%);
812
+ }
813
+ [data-theme="ocean"] .health-failed-provider-list {
814
+ border-color:rgba(30, 60, 170, 0.18);
815
+ background-image:linear-gradient(180deg, rgba(243, 249, 254, 0.98), rgba(255, 255, 255, 0.92));
816
+ }
817
+ [data-theme="ocean"] .btn-link:hover:not(:disabled) {
818
+ background-color:rgba(43, 80, 214, 0.1);
819
+ }
820
+ [data-theme="ocean"] .plugins-sidebar {
821
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.92) 0%, rgba(233, 243, 252, 0.72) 100%);
822
+ }
823
+ [data-theme="ocean"] .plugins-item.active {
824
+ border-color:rgba(30, 60, 170, 0.2);
825
+ background-image:linear-gradient(to right, rgba(243, 238, 252, 0.96) 0%, rgba(255,255,255,0.86) 100%);
826
+ box-shadow:0 2px 8px rgba(59, 98, 246, 0.1);
827
+ }
828
+ [data-theme="ocean"] .plugins-panel {
829
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.95) 0%, rgba(233, 243, 252, 0.72) 100%);
830
+ }
831
+ [data-theme="ocean"] .prompt-templates-modebar {
832
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.82) 0%, rgba(233, 243, 252, 0.58) 100%);
833
+ }
834
+ [data-theme="ocean"] .mode-pill.active {
835
+ box-shadow:0 1px 4px rgba(16, 48, 92, 0.1), inset 0 0 0 1px rgba(59, 98, 246, 0.2);
836
+ }
837
+ [data-theme="ocean"] .prompt-compose-command-input {
838
+ box-shadow:inset 0 1px 2px rgba(12, 36, 70, 0.03);
839
+ }
840
+ [data-theme="ocean"] .prompt-compose-modal-backdrop {
841
+ background-color:rgba(12, 36, 70, 0.45);
842
+ }
843
+ [data-theme="ocean"] .prompt-compose-modal-dialog {
844
+ border:1px solid rgba(214, 232, 250, 0.35);
845
+ }
846
+ [data-theme="ocean"] .prompt-compose-picker-item:hover {
847
+ border-color:rgba(59, 98, 246, 0.4);
848
+ background-color:rgba(243, 238, 252, 0.4);
849
+ }
850
+ [data-theme="ocean"] .prompt-fragment-var {
851
+ border:1px solid rgba(59, 98, 246, 0.35);
852
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.98) 0%, rgba(243, 238, 252, 0.7) 100%);
853
+ }
854
+ [data-theme="ocean"] .prompt-template-item.active {
855
+ border-color:rgba(59, 98, 246, 0.4);
856
+ background-image:linear-gradient(to right, rgba(243, 238, 252, 0.8) 0%, rgba(255,255,255,0.7) 100%);
857
+ }
858
+ [data-theme="ocean"] .prompt-editor-head {
859
+ background-image:linear-gradient(to bottom, rgba(255,255,255,0.88) 0%, rgba(233, 243, 252, 0.6) 100%);
860
+ }
861
+ [data-theme="ocean"] .prompt-var-input.is-missing {
862
+ box-shadow:0 0 0 2px rgba(40, 76, 206, 0.12);
863
+ }
864
+ [data-theme="ocean"] .docs-toolbar-card .install-action-tabs .btn-mini.active {
865
+ border-color:rgba(59, 98, 246, 0.22);
866
+ }
867
+ [data-theme="ocean"] .docs-command-prefix {
868
+ border:1px solid rgba(59, 98, 246, 0.18);
869
+ }
870
+ [data-theme="ocean"] button:focus-visible,
871
+ [data-theme="ocean"] select:focus-visible,
872
+ [data-theme="ocean"] input:focus-visible,
873
+ [data-theme="ocean"] textarea:focus-visible {
874
+ outline:3px solid rgba(37, 74, 200, 0.25);
875
+ }
876
+ [data-theme="ocean"] .webhook-event-checkbox-item:hover {
877
+ background-color:rgba(159, 195, 232, 0.06);
878
+ }
879
+ [data-theme="ocean"] .webhook-readonly-value {
880
+ background-color:rgba(233, 243, 252, 0.55);
881
+ }
882
+ [data-theme="ocean"] .prompts-preview-body code {
883
+ background-color:rgba(159, 195, 232, 0.12);
884
+ }
885
+ [data-theme="ocean"] .prompts-preview-body pre {
886
+ background-color:rgba(159, 195, 232, 0.12);
887
+ }
888
+
889
+ @supports (-webkit-background-clip: text) or (background-clip: text) {
890
+ [data-theme="ocean"] .brand-kicker {
891
+ background-image:linear-gradient(180deg, rgb(14, 42, 92) 0%, rgb(20, 52, 104) 100%);
892
+ }
893
+ }
894
+
895
+ @media (max-width: 720px) {
896
+ [data-theme="ocean"] .mobile-brand-bar {
897
+ background-color:rgba(233, 243, 252, 0.96);
898
+ }
899
+ [data-theme="ocean"] .top-tabs {
900
+ background-color:rgba(233, 243, 252, 0.96);
901
+ }
902
+ [data-theme="ocean"] .main-panel-topbar {
903
+ background-color:rgba(233, 243, 252, 0.96);
904
+ }
905
+ }
906
+
907
+ @media (max-width: 540px) {
908
+ [data-theme="ocean"] .auth-profile-row {
909
+ border-bottom:1px dashed rgba(198, 220, 242, 0.25);
910
+ }
911
+ }
912
+
913
+ @media (max-width: 820px) {
914
+ [data-theme="ocean"] .top-tabs {
915
+ background-color:rgba(233, 243, 252, 0.96);
916
+ }
917
+ [data-theme="ocean"] .main-panel-topbar {
918
+ background-color:rgba(233, 243, 252, 0.96);
919
+ }
920
+ }